Настройка групп доступа к конфиденциальным данным

При использовании методов 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/privacy_node_0?user=user_privacy_node_0@we-dev&password=7nZL7Jr41qOWUHz5qKdypA&sslmode=require"