13 SAML-Einrichtung mit Okta

Dieser Abschnitt enthält Richtlinien zur Konfiguration von Okta, um die SAML-2.0-Authentifizierung und die Benutzerbereitstellung für Zabbix zu aktivieren.

Okta-Konfiguration

1. Gehen Sie zu https://developer.okta.com/signup/ und registrieren Sie sich bzw. melden Sie sich bei Ihrem Konto an.

2. Navigieren Sie in der Okta-Weboberfläche zu Applications → Applications.

3. Klicken Sie auf Create App Integration.

Wählen Sie "SAML 2.0" als Anmeldemethode aus und klicken Sie auf Next.

4. Geben Sie in den allgemeinen Einstellungen den App-Namen ein und klicken Sie auf Next.

5. Geben Sie in der SAML-Konfiguration die unten angegebenen Werte ein und klicken Sie dann auf Next.

  • In General hinzufügen:

    • Single sign-on URL: http://<your-zabbix-url>/zabbix/index_sso.php?acs
      Beachten Sie die Verwendung von "http" und nicht "https", damit der Parameter acs in der Anfrage nicht abgeschnitten wird. Das Kontrollkästchen Use this for Recipient URL and Destination URL sollte ebenfalls aktiviert sein.
    • Audience URI (SP Entity ID): zabbix
      Beachten Sie, dass dieser Wert innerhalb der SAML-Assertion als eindeutige Kennung des Service Providers verwendet wird (bei Nichtübereinstimmung wird der Vorgang abgelehnt). In diesem Feld kann eine URL oder beliebiger Zeichenfolgeninhalt angegeben werden.
    • Default RelayState:
      Lassen Sie dieses Feld leer; wenn eine benutzerdefinierte Umleitung erforderlich ist, kann sie in Zabbix in den Einstellungen Users → Users hinzugefügt werden.
    • Füllen Sie die übrigen Felder nach Ihren Wünschen aus.
  • In Attribute Statements/Group Attribute Statements hinzufügen:

Diese Attributanweisungen werden in die mit Zabbix geteilten SAML-Assertions eingefügt.

Die hier verwendeten Attributnamen sind beliebige Beispiele. Sie können andere Attributnamen verwenden; erforderlich ist jedoch, dass sie mit dem jeweiligen Feldwert in den Zabbix-SAML-Einstellungen übereinstimmen.

Wenn Sie die SAML-Anmeldung bei Zabbix ohne JIT-Benutzerbereitstellung konfigurieren möchten, ist nur das E-Mail-Attribut erforderlich.

Wenn Sie eine verschlüsselte Verbindung verwenden möchten, generieren Sie die privaten und öffentlichen Verschlüsselungszertifikate und laden Sie dann das öffentliche Zertifikat zu Okta hoch. Das Formular zum Hochladen des Zertifikats wird angezeigt, wenn Assertion Encryption auf "Encrypted" gesetzt ist (klicken Sie auf Show Advanced Settings, um diesen Parameter zu finden).

6. Wählen Sie im nächsten Tab "I'm a software vendor. I'd like to integrate my app with Okta" aus und klicken Sie auf "Finish".

7. Navigieren Sie zum Tab "Assignments" der neu erstellten Anwendung und klicken Sie auf die Schaltfläche Assign und wählen Sie dann im Dropdown-Menü Assign to People aus.

8. Weisen Sie in dem angezeigten Popup die App den Personen zu, die SAML 2.0 zur Authentifizierung bei Zabbix verwenden werden, und klicken Sie dann auf Save and go back.

9. Navigieren Sie zum Tab "Sign On" und klicken Sie auf die Schaltfläche View Setup Instructions.

Die Anweisungen zur Einrichtung werden in einem neuen Tab geöffnet; lassen Sie diesen Tab geöffnet, während Sie Zabbix konfigurieren.

Zabbix-Konfiguration

1. Gehen Sie in Zabbix zu den SAML-Einstellungen und füllen Sie die Konfigurationsoptionen gemäß den Einrichtungsanweisungen von Okta aus:

Zabbix-Feld Einrichtungsfeld in Okta Beispielwert
IdP entity ID Identity Provider Issuer
SSO service URL Identity Provider Single Sign-On URL
Username attribute Attribute name usrEmail
SP entity ID Audience URI zabbix
Group name attribute Attribute name groups
User name attribute Attribute name user_name
User last name attribute Attribute name user_lastname

Außerdem ist es erforderlich, das Mapping für Benutzergruppen und Medien zu konfigurieren.

2. Laden Sie das in den Okta-SAML-Einrichtungsanweisungen bereitgestellte Zertifikat in den Ordner ui/conf/certs als idp.crt herunter.

Setzen Sie die Berechtigungen 644 dafür, indem Sie Folgendes ausführen:

chmod 644 idp.crt

3. Wenn Assertion Encryption in Okta auf "Encrypted" gesetzt wurde, sollte in Zabbix ebenfalls das Kontrollkästchen "Assertions" des Parameters Encrypt aktiviert sein.

4. Drücken Sie die Schaltfläche "Update", um diese Einstellungen zu speichern.

SCIM-Bereitstellung

1. Um die SCIM-Bereitstellung zu aktivieren, gehen Sie in der Anwendung in Okta zu "General" -> "App Settings".

Aktivieren Sie das Kontrollkästchen Enable SCIM provisioning. Dadurch wird ein neuer Tab Provisioning angezeigt.

2. Wechseln Sie zum Tab "Provisioning", um eine SCIM-Verbindung einzurichten:

  • Geben Sie bei SCIM connector base URL den Pfad zum Zabbix Frontend an und hängen Sie api_scim.php an, also:
    https://<your-zabbix-url>/zabbix/api_scim.php
  • Unique identifier field for users: email
  • Authentication mode: HTTP header
  • Geben Sie unter Authorization ein gültiges API-Token mit Super-Admin-Rechten ein

Wenn bei der Authentifizierung Probleme auftreten, siehe Authorization header forwarding.

3. Klicken Sie auf Test Connector Configuration, um die Verbindung zu testen. Wenn alles korrekt ist, wird eine Erfolgsmeldung angezeigt.

4. Stellen Sie in "Provisioning" -> "To App" sicher, dass die folgenden Kontrollkästchen aktiviert sind:

  • Create Users
  • Update User Attributes
  • Deactivate Users

Dadurch wird sichergestellt, dass diese Anforderungstypen an Zabbix gesendet werden.

5. Stellen Sie sicher, dass alle in SAML definierten Attribute auch in SCIM definiert sind. Sie können den Profil-Editor für Ihre Anwendung unter "Provisioning" -> "To App" aufrufen, indem Sie auf Go to Profile Editor klicken.

Klicken Sie auf Add Attribute. Füllen Sie die Werte für Display name, Variable name und External name mit dem Namen des SAML-Attributs aus, zum Beispiel user_name.

External namespace sollte mit dem Benutzerschema übereinstimmen: urn:ietf:params:scim:schemas:core:2.0:User

6. Gehen Sie in Ihrer Anwendung zu "Provisioning" -> "To App" -> "Attribute Mappings". Klicken Sie unten auf Show Unmapped Attributes. Die neu hinzugefügten Attribute werden angezeigt.

7. Ordnen Sie jedes hinzugefügte Attribut zu.

8. Fügen Sie Benutzer im Tab "Assignments" hinzu. Die Benutzer müssen zuvor unter Directory -> People hinzugefügt worden sein. Alle diese Zuordnungen werden als Anfragen an Zabbix gesendet.

9. Fügen Sie Gruppen im Tab "Push Groups" hinzu. Das Zuordnungsmuster für Benutzergruppen in den Zabbix SAML-Einstellungen muss mit einer hier angegebenen Gruppe übereinstimmen. Wenn keine Übereinstimmung vorhanden ist, kann der Benutzer in Zabbix nicht erstellt werden.

Informationen zu Gruppenmitgliedern werden jedes Mal gesendet, wenn eine Änderung vorgenommen wird.