Sentry. LDAP-авторизация — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
| Строка 59: | Строка 59: | ||
# Если надо, чтобы email считался подтвержденным | # Если надо, чтобы email считался подтвержденным | ||
AUTH_LDAP_MAIL_VERIFIED = True | AUTH_LDAP_MAIL_VERIFIED = True | ||
| + | |||
| + | |||
| + | Пересобираем | ||
| + | cd /root/self-hosted-22.6.0 | ||
| + | ./install.sh | ||
| + | |||
| + | |||
| + | По окончании | ||
| + | docker-compose up -d | ||
| + | |||
| + | |||
| + | Пробуем логиниться под ldap-учёткой | ||
| + | |||
| + | |||
| + | p.s. не помню в какой момент, но нашёл что конфиг лежит ещё в /etc/sentry/sentry.conf.py Сделал там копию того что в дистрибутиве | ||
Текущая версия на 14:46, 8 апреля 2026
Достался старенький Sentry 22.6.0 требовалось прикрутить к нему LDAP-авторизацию. Работает всё в докере на Debian 11.
Первым делом подключаем модуль. Дистрибутив Sentry лежит в /root/self-hosted-22.6.0, заходим туда и правим скрипт ./sentry/enhance-image.sh
#!/bin/bash
apt-get update && \
apt-get install -y --no-install-recommends gcc libsasl2-dev libldap2-dev libssl-dev && \
rm -r /var/lib/apt/lists/*
pip install sentry-ldap-auth
Затем там же в sentry.conf.py подключаем ldap-авторизацию добавив в самый низ конфига
AUTHENTICATION_BACKENDS = AUTHENTICATION_BACKENDS + (
'sentry_ldap_auth.backend.SentryLdapBackend',
)
import ldap
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType, GroupOfUniqueNamesType
AUTH_LDAP_SERVER_URI = "ldap://ldap.iwad.ru"
AUTH_LDAP_BIND_DN = "cn=admin,dc=iwad,dc=ru"
AUTH_LDAP_BIND_PASSWORD = "password"
# Логин в Sentry вводят как uid
AUTH_LDAP_USER_SEARCH = LDAPSearch(
"dc=iwad,dc=ru",
ldap.SCOPE_SUBTREE,
"(uid=%(user)s)",
)
AUTH_LDAP_USER_ATTR_MAP = {
"username": "uid",
"name": "cn",
"email": "mail",
}
# Группы (ищем в ou=groups)
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
"ou=groups,dc=iwad,dc=ru",
ldap.SCOPE_SUBTREE,
"(|(objectClass=groupOfNames)(objectClass=groupOfUniqueNames))",
)
# Выбираем ОДИН, который соответствует нашей схеме:
# Если в группе атрибут member:
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType()
# Если в группе атрибут uniqueMember:
# AUTH_LDAP_GROUP_TYPE = GroupOfUniqueNamesType()
# Критично: пускать только членов этой группы
AUTH_LDAP_REQUIRE_GROUP = "cn=sentry_users,ou=groups,dc=iwad,dc=ru"
# Опционально: автоматически добавлять в org в Sentry
AUTH_LDAP_DEFAULT_SENTRY_ORGANIZATION = "Infiniti"
AUTH_LDAP_SENTRY_DEFAULT_ORGANIZATION = "Infiniti"
AUTH_LDAP_SENTRY_ORGANIZATION_ROLE_TYPE = "member"
# Если надо, чтобы email считался подтвержденным
AUTH_LDAP_MAIL_VERIFIED = True
Пересобираем
cd /root/self-hosted-22.6.0 ./install.sh
По окончании
docker-compose up -d
Пробуем логиниться под ldap-учёткой
p.s. не помню в какой момент, но нашёл что конфиг лежит ещё в /etc/sentry/sentry.conf.py Сделал там копию того что в дистрибутиве