Настройка групп доступа к конфиденциальным данным¶
При использовании методов privacy активируйте функциональность и заполните блок storage
параметрами настройки БД для хранения конфиденциальных данных:
privacy { # Max parallel data crawling tasks crawling-parallelism = 100 storage { vendor = none # for postgres vendor: # schema = "public" # migration-dir = "db/migration" # profile = "slick.jdbc.PostgresProfile$" # jdbc-config { # url = "jdbc:postgresql://postgres:5432/node-1" # driver = "org.postgresql.Driver" # user = postgres # password = wenterprise # connectionPool = HikariCP # connectionTimeout = 5000 # connectionTestQuery = "SELECT 1" # queueSize = 10000 # numThreads = 20 # } # for s3 vendor: # url = "http://localhost:9000/" # bucket = "privacy" # region = "aws-global" # access-key-id = "minio" # secret-access-key = "minio123" # path-style-access-enabled = true # connection-timeout = 30s # connection-acquisition-timeout = 10s # max-concurrency = 200 # read-timeout = 0s } cleaner { enabled: no # The amount of time between cleanups # interval: 10m # How many blocks the data hash transaction exists on the blockchain, after which it will be removed from cleaner monitoring # confirmation-blocks: 100 # The maximum amount of time that a file can be stored without getting into the blockchain # pending-time: 72h } }
Описание параметров
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
- таймаут на чтение данных.
Секция cleaner
enabled
- включение/отключение периодического удаления файлов, которые не попали в блокчейн;interval
- интервал очистки файлов;confirmation-blocks
- период времени в блоках, за который существует хэш-транзакция данных в блокчейне, после чего она будет удалена;pending-time
- максимальный период времени, за который сохраняется файл с данными, не попадая в блокчейн.
Остальные параметры:
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"