SAML mit Keycloak¶
Schritt 1: Keycloak-Konfiguration¶
Um Zammad als Client hinzuzufügen, speichern Sie die XML-Konfiguration auf Ihrem Rechner (
https://your.zammad.domain/auth/saml/metadata) und verwenden Sie Clients > Clients list > Import client im Keycloak Adminbereich.Um Zammad bei der Zuordnung der Benutzerkonten zu Keycloak-Benutzern zu helfen, erstellen Sie einen Benutzerattribut- (oder „property-„)-Mapper. Klicken Sie in der Clients list auf Ihre neu erstellte Client ID, wählen Sie den Reiter Client scopes und klicken Sie auf den Link, der auf Ihre Zammad-Instanz verweist. Wählen Sie Add mapper > By configuration > User Property und erstellen Sie einen Mapper mit den folgenden Einträgen:
Name
emailMapper-Typ
User PropertyProperty
emailAddressSAML Attribute Name
emailSAML Attribute NameFormat
basicIm obigen Beispiel weisen wir Zammad an, dass es bei jeder SAML-Anmeldeanfrage die Eigenschaft
emailvon Keycloak nehmen, nach einem Zammad-Benutzer mit demselbenemail-Attribut suchen und eine neue Sitzung für diesen Benutzer erstellen soll.Wenn die E-Mail-Adressen Ihrer Keycloak-Benutzer in einer anderen Eigenschaft gespeichert sind (z.B.
username), passen Sie sie entsprechend an.Geben Sie in den Einstellungen die Client-ID (
https://your.zammad.domain/auth/saml/metadata) in das Feld Master SAML Processing URL ein.Sie müssen auch Sign Assertions aktivieren.
2. Konfigurieren Sie Zammad¶
Als Administrator bei Zammad anmelden
Gehen Sie im Admin-Bereich zu Einstellungen > Sicherheit > Anwendungen von Drittanbietern > Authentifizierung über SAML
Geben Sie die folgenden Informationen an:
SAML IdP Login URL:
https://ihre.domain/realms/your-realm/protocol/samlSAML IdP Logout-URL:
https://ihre.domain/realms/your-realm/protocol/saml
Name Identifier Format:
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressSAML IdP-Zertifikat: Laden Sie das zuvor heruntergeladene Base64-Zertifikat hoch.
Speichern Sie die Einstellungen
Hinweis
Lesen Sie weiter unter Allgemeine Zammad-Konfiguration für eine Beschreibung der einzelnen Felder in Zammad.