[comment]: # ({2ba8d6d6-e09cf279})
# 13 SAML-Einrichtung mit Okta

Dieser Abschnitt enthält Richtlinien für die Konfiguration von [Okta](https://okta.com), um die SAML-2.0-Authentifizierung und die Benutzerbereitstellung für Zabbix zu aktivieren.

[comment]: # ({/2ba8d6d6-e09cf279})

[comment]: # ({fae43861-c8df5f13})
#### 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*.

![](../../../../assets/en/manual/appendix/install/okta_app_create.png){width="600"}

Wählen Sie "SAML 2.0" als Anmeldemethode 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*.

![](../../../../assets/en/manual/appendix/install/okta_app_conf.png){width="600"}

-   Unter **General** hinzufügen:
    -   *Single sign-on URL*: `http://<your-zabbix-url>/zabbix/index_sso.php?acs`<br>
        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`<br>
        Beachten Sie, dass dieser Wert innerhalb der SAML-Assertion als eindeutige Kennung des Service Providers verwendet wird (bei Abweichungen wird der Vorgang abgelehnt).
        In diesem Feld kann eine URL oder beliebiger Zeichenfolgeninhalt angegeben werden.
    -   *Default RelayState*:<br>
        Lassen Sie dieses Feld leer; wenn eine benutzerdefinierte Weiterleitung erforderlich ist, kann sie in Zabbix unter *Users > Users* hinzugefügt werden.
    -   Füllen Sie die übrigen Felder nach Ihren Wünschen aus.

-   Unter **Attribute Statements/Group Attribute Statements** hinzufügen:

![](../../../../assets/en/manual/appendix/install/okta_app_conf2.png){width="600"}

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.

::: noteclassic
Wenn Sie eine verschlüsselte Verbindung verwenden möchten, generieren Sie die privaten und öffentlichen Verschlüsselungszertifikate und laden Sie anschließend 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*, dann wählen Sie im Dropdown-Menü *Assign to People* aus.

![](../../../../assets/en/manual/appendix/install/okta_app_assign.png)

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\. Laden Sie das IdP-Zertifikat herunter.
Setzen Sie die Berechtigungen auf 644, indem Sie Folgendes ausführen:

```bash
chmod 644 idp.crt
```

10\. 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 während der Konfiguration von Zabbix geöffnet.

[comment]: # ({/fae43861-c8df5f13})

[comment]: # ({97091dcd-bdad4ea8})
#### Zabbix-Konfiguration

1\. Gehen Sie in Zabbix zu den [SAML-Einstellungen](/manual/web_interface/frontend_sections/users/authentication/saml#setting-up-zabbix) und füllen Sie die Konfigurationsoptionen gemäß den Einrichtungsanweisungen von Okta aus:

![](../../../../assets/en/manual/appendix/install/okta_zabbix_saml.png){width="600"}

|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`|

Es ist außerdem erforderlich, die Zuordnung von Benutzergruppen und Medien zu konfigurieren.

2\. Fügen Sie das Base64-Zertifikat hinzu, das in den Okta-SAML-Einrichtungsanweisungen bereitgestellt wird.

Wenn `$SSO['CERT_STORAGE'] = 'database'` in zabbix.conf.php gesetzt ist, können Sie den Zertifikatstext einfügen oder die Zertifikatsdatei im Frontend während der SAML-Konfiguration hochladen — es sind keine Dateien im Dateisystem erforderlich.

Wenn `$SSO['CERT_STORAGE'] = 'file'` in zabbix.conf.php gesetzt ist, muss das Zertifikat im Dateisystem verfügbar gemacht werden (standardmäßig in ui/conf/certs oder dem in zabbix.conf.php konfigurierten Pfad), und das Frontend speichert keine Zertifikate in der Datenbank. 
Beachten Sie, dass, wenn `$SSO['CERT_STORAGE']` nicht gesetzt ist oder auskommentiert wurde, die Dateispeicherung angenommen wird und Zertifikate aus ui/conf/certs gelesen werden.

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

4\. Klicken Sie auf die Schaltfläche *Update*, um diese Einstellungen zu speichern.

[comment]: # ({/97091dcd-bdad4ea8})

[comment]: # ({2e0c243a-ff17ddca})
#### 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*.
Daraufhin wird ein neuer Tab *Provisioning* angezeigt.

2\. Gehen 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:<br>
    `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

![](../../../../assets/en/manual/appendix/install/okta_scim_conn.png){width="600"}

::: noteimportant
Wenn bei der Authentifizierung Probleme auftreten, siehe [Authorization header forwarding](/manual/installation/known_issues#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 unter "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`.

![](../../../../assets/en/manual/appendix/install/okta_add_attr.png)

*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.

![](../../../../assets/en/manual/appendix/install/okta_map_attr.png)

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.

[comment]: # ({/2e0c243a-ff17ddca})
