Развёртывание дистрибутива из архива
Установка компонентов Спектр S3:
cd ~
tar -xf S3Gateway-distrib-*.tar.gz
cd ./distrib/files
dnf install ./rpm/s3gateway-*
Настройка модулей Спектр S3 заключается в приведении содержимого конфигурационного файла /opt/skala-r/s3gateway/s3gateway.config.json к виду, соответствующему используемой системе аутентификации и авторизации:
# Avanpost FAM
{
"cmp_settings": { # Настройки модуля компрессии, не требуют коррекции(без требований из карты инсоляции)
"compression_level": 3,
"numgrt": 16
},
"cluster": {
"storage_cluster_name": "mhdo", # имя кластера хранения по умолчанию
"storage_cluster_password": "P@$$w0rd", # пароль кластера хранения
"s3_cluster_ip_address": " ip_address ", # имя кластера s3(ostor)
"s3_cluster_password": "qwerty" # пароль кластера s3(ostor)
},
"compression": true, # true - включает поддержку модуля компрессии, false - отключает поддержку модуля компрессии
"compressor_grps_server": "localhost:5001", # адрес подключения к модулю компрессии
"db_connection": "postgres://s3gwuser:s3gwuser@127.0.0.1:5432/s3gw", # настройка подключения к системной базе данных
"hproxy_address": "127.0.0.1:80", # путь для подключения к сервису "Haproxy"
"iam_settings": {
"type": "Avanpost FAM" # тип используемой системы авторизации пользователей
"client_id": "id", # Пользователь для подключения к iam(Avanpost FAM
"client_secret": " secret ", # пароль от пользователя Avanpost FAM
"realm": "s3gateway", # имя области Avanpost FAM, выделенной для проекта "Спектр S3"
"url": "http://server-Avanpost FAM:8080", # путь для подключения к сервису Avanpost FAM
"use_resource_role_mappings": true, # назначение прав доступа на основе ролей. Внесение изменений не требуется, кроме отдельных случаев.
"skip_verify_ssl": true # отключение верификации ssl сертификата между сервером с ролью "Спектр S3" и сервисом Avanpost FAM
},
"ostor_grpc_servers": [ # список серверов хранения, в списке указывается путь подключения к сервису "s3gateway-ostor-server"
"storage-server#1:5002",
...
" storage-server#2:5002"
],
"proxy_ctl_grpc_server":"localhost:5003", # путь для подключения к сервису «s3proxy-server". Не требует настройки
"s3_admin": "Admin", # префикс в имени роли пользователя iam "Администратор" (в Avanpost FAM)
"s3_auditor": "Auditor", # префикс в имени роли пользователя iam "Аудитор"(в Avanpost FAM)
"ssl": {
"control_cert": "/opt/skala-r/s3gateway/ctl-cert.pem", # Путь к сертификату панели управления (web интерфейс)
"control_key": "/opt/skala-r/s3gateway/ctl-key.pem", # Путь к ключу панели управления (web интерфейс)
"proxy_cert": "/opt/skala-r/s3gateway/prx-cert.pem", # Путь к сертификату сервиса S3
"proxy_key": "/opt/skala-r/s3gateway/prx-key.pem" # Путь к ключу сервиса S3
},
"ttl": 120, # Время жизни данных в кэше сервиса "s3gateway-proxy-server"
"vision_url": "https://server-vision/vision/grafana/", # Путь для подключения к сервису мониторинга "Визион"
"rsyslog": {
"control_rsyslog_url": "127.0.0.1:514/tcp", # адрес внешнего/внутреннего сервиса rsyslog для сервиса s3gateway-control
"proxy_rsyslog_url": "127.0.0.1:514/tcp" # адрес внешнего/внутреннего сервиса rsyslog для сервиса s3gateway-proxy
},
"logger" : {
"control_facility": "local0", # адрес fasility для логирования событий сервиса s3gateway-control
"proxy_facility": "local0" # адрес fasility для логирования событий сервиса s3gateway-proxy
},
"role_separator": "." # символ разделитель в имени роли пользователя
}
# Avanpost FAM
{
"cmp_settings": { # Настройки модуля компрессии, не требуют коррекции(без требований из карты инсоляции)
"compression_level": 3,
"numgrt": 16
},
"cluster": {
"storage_cluster_name": "mhdo", # имя кластера хранения по умолчанию
"storage_cluster_password": "P@$$w0rd", # пароль кластера хранения
"s3_cluster_ip_address": " ip_address ", # имя кластера s3(ostor)
"s3_cluster_password": "qwerty" # пароль кластера s3(ostor)
},
"compression": true, # true - включат поддержку модуля компрессии, false - отключает поддержку модуля компрессии
"compressor_grps_server": "localhost:5001", # адрес подключения к модулю компрессии
"db_connection": "postgres://s3gwuser:s3gwuser@127.0.0.1:5432/s3gw", # настройка подключения к системной базе данных
"hproxy_address": "127.0.0.1:80", # путь для подключения к сервису "Haproxy"
"iam_settings": {
"type": "avanpost" # тип используемой системы авторизации пользователей
"client_id": "s3gtw-user", # пользователь для подключения к iam (FAM Avanpost), выделенной для проекта "Спектр S3"
"client_secret": " secret ", # пароль от пользователя FAM Avanpost, выделенной для проекта "Спектр S3"
"realm": "s3gateway", # имя области FAM Avanpost, выделенной для проекта "Спектр S3"
"url": "http:// server-Avanpost:8080", # путь для подключения к сервису FAM Avanpost
"skip_verify_ssl": true # отключение верификации ssl сертификата между сервером с ролью "Спектр S3" и сервисом FAM Avanpost
},
"ostor_grpc_servers": [ # список серверов хранения, в списке указывается путь подключения к сервису "s3gateway-ostor-server"
" storage-server#1:5002",
...
" storage-server#2:5002"
],
"proxy_ctl_grpc_server":"localhost:5003", # путь для подключения к сервису "s3proxy-server". Не требует настройки
"s3_admin": "Admin", # префикс в имени роли пользователя iam "Администратор" (в FAM Avanpost)
"s3_auditor": "Auditor", # префикс в имени роли пользователя iam "Аудитор" (в FAM Avanpost)
"ssl": {
"control_cert": "/opt/skala-r/s3gateway/ctl-cert.pem", # Путь к сертификату панели управления (web интерфейс)
"control_key": "/opt/skala-r/s3gateway/ctl-key.pem", # Путь к ключу панели управления (web интерфейс)
"proxy_cert": "/opt/skala-r/s3gateway/prx-cert.pem", # Путь к сертификату сервиса S3
"proxy_key": "/opt/skala-r/s3gateway/prx-key.pem" # Путь к ключу сервиса S3
},
"ttl": 120, # Время жизни данных в кэше сервиса "s3gateway-proxy-server"
"vision_url": "https://server-vision/vision/grafana/", # Путь для подключения к сервису мониторинга "Визион"
"rsyslog": {
"control_rsyslog_url": "127.0.0.1:514/tcp", # адрес внешнего/внутреннего сервиса rsyslog для сервиса s3gateway-control
"proxy_rsyslog_url": "127.0.0.1:514/tcp" # адрес внешнего/внутреннего сервиса rsyslog для сервиса s3gateway-proxy
},
"logger" : {
"control_facility": "local0", # адрес fasility для логирования событий сервиса s3gateway-control
"proxy_facility": "local0" # адрес fasility для логирования событий сервиса s3gateway-proxy
},
"role_separator": "." # символ разделитель в имени роли пользователя
}
Загрузка структуры базы данных:
cd /opt/skala-r/s3gateway/
/opt/skala-r/s3gateway/migrator
Запуск сервисов Спектр S3:
systemctl enable --now s3gateway-compression-server.service
systemctl enable --now s3gateway-proxy-server.service
systemctl enable --now s3gateway-control-server.service