Настройка групп доступа к конфиденциальным данным¶
При использовании методов privacy активируйте функциональность и заполните блок storage
параметрами настройки БД для хранения конфиденциальных данных:
privacy { storage { vendor = "S3" url = "http://$minioHost:$minioPort" bucket = "policy" region = "aws-global" access-key-id = "minio" secret-access-key = "minio123" path-style-access-enabled = true connection-timeout = 10s connection-acquisition-timeout = 30s max-concurrency = 100 read-timeout = 0s } # Data request timeout. request-timeout = 2 minute # First retry delay. With each attempt, the delay increases by 4/3. init-retry-delay = 30 seconds # Max parallel crawling tasks count. crawling-parallelism = 100 # The number of attempts that the crawler will take before the data is marked as lost. max-attempt-count = 20 # Delay between attempts to process the queue of lost items. lost-data-processing-delay = 10 minutes # Policy data responses cache cache { # Max count of elements max-size = 100 # Time to expire for element if it hasn't got access during this time expire-after = 10m } }
Описание параметров
vendor
- выбор варианта хранения данных: s3 - облачное или локальное хранение на базе Amazon Simple Storage Service (S3), postgres - локальное хранение в БД PostgreSQL. Для хранения информации на базе S3 используется сервер Minio.
Параметры для БД PostgreSQL:
url
- адрес БД PostgreSQL;driver
- имя драйвера JDBC;profile
- имя профиля для доступа к JDBC;user
- имя пользователя для доступа к БД;password
- пароль для доступа к БД;connectionPool
- имя пула соединений, по умолчаниюHikariCP
.connectionTimeout
- таймаут для соединения;connectionTestQuery
- имя тестового запроса;queueSize
- размер очереди запросов;numThreads
- количество одновременных подключений;schema
- схема взаимодействия;migration-dir
- директория для миграции данных.
Параметры для S3:
url
- адрес сервера S3 для хранения данных, поддерживаются сервера Minio;bucket
- имя таблицы БД S3 для хранения данных;region
- название региона S3, значение параметра -aws-global
;access-key-id
- идентификатор ключа доступа к данным;secret-access-key
- ключ доступа к данным в хранилище S3;path-style-access-enabled = true
- неизменяемый параметр указания пути к таблице S3;connection-timeout
- таймаут для соединения;connection-acquisition-timeout
- таймаут для получения соединения;max-concurrency
- число параллельных обращений к хранилищу;read-timeout
- таймаут на чтение данных.
Остальные параметры:
request-timeout
- таймаут ожидания всех ответов от пиров на запрос данных.init-retry-delay
- задержка от момента получения датахеша до старта его поиска по пирам.crawling-parallelism
- ограничение максимального количества одновременных процессов в синхронизаторе.max-attempt-count
- максимальное количество раундов по запросу данных от пиров, спустя которое данные считаются «утерянными».lost-data-processing-delay
- интервал раундов запросов «утерянных» данных.cache
- настройки кеш-памяти запросов.
Для хранения конфиденциальных данных используется БД PostgreSQL. База данных устанавливается на машину с нодой, также создается аккаунт доступа к БД. Вы можете воспользоваться справочной документацией на PostgreSQL для скачивания и установки версии, которая соответствует вашему типу операционной системы.
Во время установки БД система предложит создать аккаунт для доступа к БД. Эти логин и пароль для доступа необходимо внести в соответствующие параметры user/password
.
Внесите URL подключения к PostgreSQL в параметр url
. В URL входят следующие параметры:
POSTGRES_ADDRESS - адрес хоста PostgreSQL;
POSTGRES_PORT - номер порта хоста PostgreSQL;
POSTGRES_DB - наименование БД PostgreSQL.
Можно указывать URL до БД PostgreSQL в одной строке с данными аккаунта. Пример приведен ниже, где user=user_privacy_node_0@we-dev
это логин пользователя, password=7nZL7Jr41qOWUHz5qKdypA&sslmode=require
- пароль с опцией требования его ввода при авторизации.
Пример
privacy.storage.url = "jdbc:postgresql://vostk-dev.postgres.database.azure.com:5432/[email protected]&password=7nZL7Jr41qOWUHz5qKdypA&sslmode=require"