Wir sind Freunde von Sentry Self-Hosted und LDAP / Sudo Null IT News

Sentry unterstützt eine breite Palette von Autorisierungstools „out of the box“, und es wurde notwendig, vorhandene Konten mit den erforderlichen Rechten zu verwenden.

Daraus entstand eine kleine Anleitung zur Installation von Sentry Self-Hosted und zur Verbindung mit LDAP.

Um Sentry Self-Hosted zu installieren, wird Docker benötigt, also legen wir es erstmal fest, ich nutze Ubuntu 22.04 als Stand und die Installationsanleitung kann sein Dokumentation aufnehmen.

Dieses Beispiel verwendet FreeIPA als LDAP-Server.

Sentry-Installation

  1. Laden Sie die neueste Version von Sentry von Github herunter

wget https://github.com/getsentry/self-hosted/archive/refs/tags/22.9.0.tar.gz

  1. Entpacken des Archivs

tar -xzf 22.9.0.tar.gz

  1. Kopieren Sie die Konfigurationsdatei sentry/enhance-image.example.sh

cp sentry/enhance-image.example.sh sentry/enhance-image.sh

  1. In der Datei sentry/enhance-image.sh beschreiben wir unsere Abhängigkeiten

#!/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

  1. Kopieren Sie die Konfigurationsdatei sentry/sentry.conf.example.py und konfigurieren Sie selbst

cp sentry/sentry.conf.example.py sentry/sentry.conf.py

  1. Fügen Sie am Ende der Datei die Konfiguration für die Verbindung zu LDAP hinzu

############# # LDAP auth # ############# import ldap from django_auth_ldap.config import LDAPSearch, GroupOfUniqueNamesType AUTH_LDAP_SERVER_URI = ‘ldap://freeipa.example .com:389’ AUTH_LDAP_BIND_DN = ‘krbprincipalname=sentry/freeipa.example.com@EXAMPLE.COM,cn=services,cn=accounts,dc=example,dc=com’ AUTH_LDAP_BIND_PASSWORD = ‘qwerty123’ AUTH_LDAP_USER_SEARCH = LDAPSearch( ‘cn= Benutzer,cn=Konten,dc=Beispiel,dc=com’, ldap.SCOPE_SUBTREE, ‘(uid=%(Benutzer)s)’, ) AUTH_LDAP_GROUP_SEARCH = LDAPSearch( “cn=Gruppen,dc=Beispiel,dc=com”, ldap.SCOPE_SUBTREE, “(objectClass=groupOfNames)” ) AUTH_LDAP_GROUP_TYPE = GroupOfUniqueNamesType() AUTH_LDAP_REQUIRE_GROUP = Keine AUTH_LDAP_DENY_GROUP = Keine AUTH_LDAP_USER_ATTR_MAP = { “first_name”: “givenname”, “last_name”: “sn”, “email”: “mail”} AUTH_LDAP_FIND_GROUP_PERMS = Falsch AUTH_LDAP_CACHE_GROUPS = Wahr AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600 AUTH_LDAP_DEFAULT_SENTRY_ORGANIZATION = ‘Sentry’ AUTH_LDAP_SENTRY_ORGANIZATION_ROLE_TYPE = ‘Mitglied’ AUTH_LDAP_SENTRY_ORGANI Zation_global_access = true auth_ldap_sentry_subscribe_by_default = false auth_ldap_sentry_username_field = ‘cn’ sentry_managed_user_fields = (‘E -Mail’, ‘first_name’, ‘lastname’, passytapging. Logging-Logger importieren = logging.getLogger(‘django_auth_ldap’) logger.addHandler(logging.StreamHandler()) logger.addHandler(logging.FileHandler(‘/var/log/sentry_ldap.log’)) logger.setLevel(‘DEBUG’) PROTOKOLLIERUNG[‘overridable’] = [‘sentry’, ‘django_auth_ldap’]
PROTOKOLLIERUNG[‘loggers’][‘django_auth_ldap’] = { ‘Handler’: [‘console’]’level’: ‘DEBUG’ }

  1. Sentry installieren

./install.sh

In diesem Stadium wird das Image mit unseren Abhängigkeiten zusammengestellt, die Datenbank wird hochgefahren und Migrationen werden durchgeführt, ein Superuser wird erstellt.

  1. Erstellen Sie einen Benutzer

Internes Sentry-Projekt erstellt (slug=internal, id=1) Möchten Sie jetzt ein Benutzerkonto erstellen? [Y/n]:J

  1. Nach Abschluss der Erstmontage bleibt nur noch der Dienst und seine Komponenten zu starten

docker-compose up -d

Sentry zeigt in keiner Weise an, dass es möglich ist, sich über LDAP anzumelden, aber wir können versuchen, uns mit unserem LDAP-Konto anzumelden.

Der Benutzer wird mit festgelegten Berechtigungen erstellt

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *