Appearance
Конфигурация сервиса Auth
Логгер
Ключ | Описание |
---|---|
auth.log.lvl | Уровень логгирования приложения 5 - debug 4 - info 3 - warning 2 - error Пример env: POTENTIAL_AUTH_LOG_LVL=5 |
auth.log.path | Путь до лога сервиса Пример env: POTENTIAL_AUTH_LOG_PATH=/tmp/next_box/auth.log |
пример части конфигурации в yml конфиге
yaml
auth:
log:
lvl: 5
path: /tmp/next_box/auth.log
Http сервер
Ключ | Описание |
---|---|
auth.http.host | Адрес http сервера Пример env: POTENTIAL_AUTH_HTTP_HOST=0.0.0.0 |
auth.http.port | Порт http сервера Пример env: POTENTIAL_AUTH_HTTP_PORT=6006 |
auth.http.max_multipart_body_size | Максимальный размер тела, при мультипарт запросах POTENTIAL_AUTH_HTTP_MAX_MULTIPART_BODY_SIZE=0 |
auth.http.read_timeout | Максимальная продолжительность чтения всего запроса, включая текст. Нулевое или отрицательное значение означает, что тайм-аута не будет. POTENTIAL_AUTH_HTTP_READ_TIMEOUT=0 |
auth.http.write_timeout | Максимальное время до истечения времени ожидания записи ответа. Оно сбрасывается всякий раз, когда считывается заголовок нового запроса. Как и ReadTimeout, оно не позволяет обработчикам принимать решения для каждого отдельного запроса. Нулевое или отрицательное значение означает, что тайм-аута не будет. Пример env: POTENTIAL_AUTH_HTTP_WRITE_TIMEOUT=0 |
auth.internal_http.mtls_enable | Включение шифрование трафика mTLS между сервисами NB. Пример env: POTENTIAL_AUTH_INTERNAL_HTTP_MTLS_ENABLE=false |
auth.internal_http.server_cert_key_path | Приватный ключ сервера для mTLS. Пример env: POTENTIAL_AUTH_INTERNAL_HTTP_SERVER_CERT_KEY_PATH=./host.docker.internal.key |
auth.internal_http.server_cert_path | Сертификат сервера для mTLS. Пример env: POTENTIAL_AUTH_INTERNAL_HTTP_SERVER_CERT_PATH=./host.docker.internal.crt |
auth.internal_http.client_cert_key_path | Приватный ключ клиента для mTLS. Пример env: POTENTIAL_AUTH_INTERNAL_HTTP_CLIENT_CERT_KEY_PATH=./client.key |
auth.internal_http.client_cert_path | Сертификат сервера для mTLS. Пример env: POTENTIAL_AUTH_INTERNAL_HTTP_CLIENT_CERT_PATH=./client.crt |
auth.internal_http.ca_cert_path | Корневой сертификат для mTLS. Пример env: POTENTIAL_AUTH_INTERNAL_HTTP_CA_CERT_PATH=./cert.crt |
пример части конфигурации в yml конфиге
yaml
auth:
http:
host: 0.0.0.0
max_multipart_body_size: 0
port: 6006
read_timeout: 0
write_timeout: 0
internal_http:
ca_cert_path: ./cert.crt
client_cert_key_path: ./client.key
client_cert_path: ./client.crt
mtls_enable: false
server_cert_key_path: ./host.docker.internal.key
server_cert_path: ./host.docker.internal.crt
База данных
Ключ | Описание |
---|---|
auth.database.dsn | Dsn для доступа к базе данных в формате: postgres://<login>:<password>@<address>:<port>/auth" login - логин базыpassword - пароль от базыaddress - адрес до базыport - порт до базыПример env: POTENTIAL_AUTH_DATABASE_DSN=postgres://admin:admin@127.0.0.1:5432/auth |
пример части конфигурации в yml конфиге
yaml
auth:
database:
dsn: postgres://admin:admin@127.0.0.1:5432/auth
Общие настройки сервиса
Ключ | Описание |
---|---|
auth.service.token | Токен для межсервисного общения. Такой же токен должен быть у каждого сервиса nextbox. Пример env: POTENTIAL_AUTH_SERVICE_TOKEN=qwe123 |
auth.service.name | Название сервиса Пример env: POTENTIAL_AUTH_SERVICE_NAME=Auth |
auth.service.route_name | Название роута сервиса, лучше не менять, иначе возможны проблемы в общении между сервисами! Пример env: POTENTIAL_AUTH_SERVICE_ROUTE_NAME=auth |
auth.service.back_url | Адрес по которому обращаются к сервису другие сервисы NB. Пример env: POTENTIAL_AUTH_SERVICE_BACK_URL=http://127.0.0.1:6006 |
auth.service.instance_number | Номер сервиса. Используется для горизонтального масштабирования сервисов. В текущем сервисе не должен отличаться от 1 Пример env: POTENTIAL_AUTH_SERVICE_INSTANCE_NUMBER=1 |
auth.discovery.url | Адрес discovery сервиса в NB. В котором регистрируются все сервисы в NB Пример env: POTENTIAL_AUTH_DISCOVERY_URL=http://127.0.0.1:6001 |
пример части конфигурации в yml конфиге
yaml
auth:
service:
back_url: http://127.0.0.1:6006
instance_number: 1
name: Auth
route_name: auth
token: qwe123
discovery:
url: http://127.0.0.1:6001
Авторизация
Ключ | Описание |
---|---|
auth.auth_methods.classic | Включение обычной авторизации по логину и паролю. Пример env: POTENTIAL_AUTH_AUTH_METHODS_LDAP=true |
auth.auth_methods.basic | Включение basic авторизации. Пример env: POTENTIAL_AUTH_AUTH_METHODS_LDAP=true |
auth.auth_methods.ldap | Включение ldap авторизации. Пример env: POTENTIAL_AUTH_AUTH_METHODS_LDAP=false |
auth.ldap.url | Адрес сервера ldap. Пример env: POTENTIAL_AUTH_LDAP_URL=ldap://myldap.server |
auth.ldap.login_template | Шаблон поисковой строки для авторизации. Пример env: POTENTIAL_AUTH_LDAP_LOGIN_TEMPLATE=cn=my_cn,cn=groups,cn=accounts,dc=my_dc,dc=my_loc |
auth.ldap.login_key | Ключ для поиска логина в ldap. Добавляется к login_template по принципу login_key=login. Пример env: POTENTIAL_AUTH_LDAP_LOGIN_KEY=login |
auth.ldap.login_group | Проверка что пользователь состоит в конкретной группе ldap. Пример env: POTENTIAL_AUTH_LDAP_LOGIN_GROUP=cn=my_user_group,cn=groups,cn=accounts,dc=my_company,dc=location |
auth.ldap.base_dn | Шаблон поисковой строки пользователя в ldap. Пример env: POTENTIAL_AUTH_LDAP_BASE_DN=dc=ptnl,dc=loc |
auth.ldap.attributes.first_name | Атрибут имени пользователя в ldap при поиске через base_dn. Пример env: POTENTIAL_AUTH_LDAP_ATTRIBUTES_FIRT_NAME=name |
auth.ldap.attributes.last_name | Атрибут фамилии пользователя в ldap при поиске через base_dn. Пример env: POTENTIAL_AUTH_LDAP_ATTRIBUTES_LAST_NAME=last_name |
auth.ldap.attributes.email | Атрибут фамилии пользователя в ldap при поиске через base_dn. Пример env: POTENTIAL_AUTH_LDAP_ATTRIBUTES_EMAIL=email |
пример части конфигурации в yml конфиге
yaml
auth:
auth_methods:
basic: true
classic: true
ldap: false
ldap:
attributes:
email: mail
first_name: name
last_name: last_name
base_dn: dc=ptnl,dc=loc
login_group: cn=my_user_group,cn=groups,cn=accounts,dc=my_company,dc=location
login_key: login
login_template: cn=my_cn,cn=groups,cn=accounts,dc=my_dc,dc=my_loc
url: ldap://myldap.server
Безопасность
Ключ | Описание |
---|---|
auth.tokens.limit_per_user | Максимальное количество активных токенов для одного пользователя. Пример env: POTENTIAL_AUTH_TOKENS_LIMIT_PER_USER=10 |
auth.tokens.sign_key | Секретный ключ для подписи авторизационных JWT токенов. Пример env: POTENTIAL_AUTH_TOKENS_LIMIT_SIGN_KEY=qwe123 |
auth.tokens.expire_interval_sec | Время жизни авторизационного токена в секундах. Пример env: POTENTIAL_AUTH_TOKENS_LIMIT_EXPIRE_INTERVAL_SEC=3600 |
auth.tokens.refresh_expire_interval_sec | Время жизни апдейт токена в секундах. Пример env: POTENTIAL_AUTH_TOKENS_REFRESH_EXPIRE_INTERVAL_SEC=2592000 |
auth.tokens.basic_expire_interval_sec | Время жизни токена при basic авторизации в секундах. Ограничивает время запроса. Пример env: POTENTIAL_AUTH_TOKENS_BASIC_EXPIRE_INTERVAL_SEC=60 |
auth.auth_attempts.enabled | Включение максимального количества попыток логина при неверном вводе логина или пароля. Пример env: POTENTIAL_AUTH_AUTH_ATTEMPTS_ENABLED=false |
auth.auth_attempts.count | Максимальное количество попыток ввода неправильных данных при логине. Пример env: POTENTIAL_AUTH_AUTH_ATTEMPTS_COUNT=5 |
auth.auth_attempts.duration | Количество минут на которое блокируется пользователь, после того как ввели неправильные учетные данные n раз. Пример env: POTENTIAL_AUTH_AUTH_ATTEMPTS_DURATION=30 |
auth.inactive_users.enabled | Включение блокировки неактивных пользователей в течении 45 дней. Пример env: POTENTIAL_AUTH_INACTIVE_USERS_ENABLED=false |
auth.limit_admin_logins.enabled | Ограничение максимального количества активных токенов для администраторов. Пример env: POTENTIAL_AUTH_LIMIT_ADMIN_LOGINS_ENABLED=false |
auth.limit_admin_logins.limit_per_admin | Максимальное количество активных токенов для администраторов. Пример env: POTENTIAL_AUTH_LIMIT_ADMIN_LOGINS_LIMIT_PER_ADMIN=2 |
auth.check_last_update_password.enabled | Включение проверки последнего изменения пароля у пользователей. Если пароль не менялся некоторое количество дней, то будет приходить уведомление пользователям и администраторам. Пример env: POTENTIAL_AUTH_CHECK_LAST_UPDATE_PASSWORD_ENABLED=false |
auth.check_last_update_password.days | Количество дней после последнего изменения пароля, после истечения которого будет отправлено уведомления. Пример env: POTENTIAL_AUTH_CHECK_LAST_UPDATE_PASSWORD_DAYS=60 |
auth.lock_screen.enabled | Включение блокировки экрана в браузере после периода не активности. Пример env: POTENTIAL_AUTH_LOCK_SCREEN_ENABLED=false |
auth.lock_screen.duration | Период неактивности пользователя в секундах, после которого будет произведена блокировка экрана. Пример env: POTENTIAL_AUTH_LOCK_SCREEN_DURATION=300 |
пример части конфигурации в yml конфиге
yaml
auth:
tokens:
basic_expire_interval_sec: 60
expire_interval_sec: 3600
limit_per_user: 10
refresh_expire_interval_sec: 2592000
sign_key: qwe123
auth_attempts:
count: 5
duration: 30
enabled: false
inactive_users:
enabled: false
limit_admin_logins:
enabled: false
limit_per_admin: 2
check_last_update_password:
days: 60
enabled: false
lock_screen:
duration: 300
enabled: false
Настройки rabbitmq
Ключ | Описание |
---|---|
auth.rabbit_mq.user | Логин пользователя в rabbitmq. Пример env: POTENTIAL_AUTH_RABBIT_MQ_USER=guest |
auth.rabbit_mq.password | Пароль пользователя в rabbitmq. Пример env: POTENTIAL_AUTH_RABBIT_MQ_PASSWORD=guest |
auth.rabbit_mq.host | Адрес сервера rabbitmq. Пример env: POTENTIAL_AUTH_RABBIT_MQ_HOST=127.0.0.1 |
auth.rabbit_mq.port | Порт сервера rabbitmq. Пример env: POTENTIAL_AUTH_RABBIT_MQ_PORT=5672 |
auth.rabbit_mq.vhost | vhost rabbitmq. Пример env: POTENTIAL_AUTH_RABBIT_MQ_VHOST= |
пример части конфигурации в yml конфиге
yaml
auth:
rabbit_mq:
host: 127.0.0.1
password: guest
port: "5672"
user: guest
vhost: ""
Настройки redis
Ключ | Описание |
---|---|
auth.redis.host | Адрес redis. Пример env: POTENTIAL_AUTH_REDIS_HOST=127.0.0.1 |
auth.redis.port | Порт redis. Пример env: POTENTIAL_AUTH_REDIS_PORT=6379 |
auth.redis.login | Логин redis. Пример env: POTENTIAL_AUTH_REDIS_LOGIN= |
auth.redis.password | Пароль redis. Пример env: POTENTIAL_AUTH_REDIS_PASSWORD= |
auth.redis.db_num | Номер базы redis. Пример env: POTENTIAL_AUTH_REDIS_DB_NUM=0 |
пример части конфигурации в yml конфиге
yaml
auth:
redis:
db_num: 0
host: 127.0.0.1
login: ""
password: ""
port: 6379