Настройка групп доступа к конфиденциальным данным¶
При использовании методов privacy активируйте функциональность и заполните блок storage параметрами настройки БД для хранения конфиденциальных данных:
privacy { storage { enabled = true url = "jdbc:postgresql://"${POSTGRES_ADDRESS}":"${POSTGRES_PORT}"/"${POSTGRES_DB} driver = "org.postgresql.Driver" profile = "slick.jdbc.PostgresProfile$" user = ${POSTGRES_USER} password = ${POSTGRES_PASSWORD} connectionPool = HikariCP connectionTimeout = 5000 connectionTestQuery = "SELECT 1" queueSize = 10000 numThreads = 20 schema = "public" migration-dir = "db/migration" } # 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 } }
Описание параметров
enabled- активация опции;url- адрес БД PostgreSQL;driver- имя драйвера JDBC;profile- имя профиля для доступа к JDBC;user- имя пользователя для доступа к БД;password- пароль для доступа к БД;connectionPool- имя пула соединений, по умолчаниюHikariCP;connectionTimeout- таймаут для соединения;connectionTestQuery- имя тестового запроса;queueSize- размер очереди запросов;numThreads- количество одновременных подключений;schema- схема взаимодействия;migration-dir- директория для миграции данных.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/privacy_node_0?user=user_privacy_node_0@we-dev&password=7nZL7Jr41qOWUHz5qKdypA&sslmode=require"