[comment]: # ({8d23af63-23bd62a5})
# 14 SAML-Einrichtung mit OneLogin

[comment]: # ({/8d23af63-23bd62a5})

[comment]: # ({b873fa12-2fcac093})
#### Übersicht

Dieser Abschnitt enthält Richtlinien für die Konfiguration von Single Sign-on und der Benutzerbereitstellung in Zabbix aus [OneLogin](https://onelogin.com) mithilfe der SAML-2.0-Authentifizierung.

[comment]: # ({/b873fa12-2fcac093})

[comment]: # ({b1fbe677-04a34e60})
#### OneLogin-Konfiguration

[comment]: # ({/b1fbe677-04a34e60})

[comment]: # ({ac4e104b-f0ff96b7})
##### Erstellen einer Anwendung

1\. Melden Sie sich bei Ihrem Konto bei OneLogin an. Zu Testzwecken können Sie in OneLogin ein kostenloses Entwicklerkonto erstellen.

2\. Navigieren Sie in der OneLogin-Weboberfläche zu *Applications → Applications*.

3\. Klicken Sie auf "Add App" und suchen Sie nach der passenden App. Die Anweisungen auf dieser Seite basieren auf dem App-Beispiel *SCIM Provisioner with SAML (SCIM v2 Enterprise, full SAML)*.

4\. Zunächst möchten Sie möglicherweise den Anzeigenamen Ihrer App anpassen. Sie können auch das Symbol und die App-Details hinzufügen. Klicken Sie danach auf *Save*.

[comment]: # ({/ac4e104b-f0ff96b7})

[comment]: # ({3bcbc5e8-58a8c759})
##### Einrichtung der SSO/SCIM-Bereitstellung

1\. Legen Sie unter *Configuration* -> *Application details* den Zabbix Single-Sign-On-Endpunkt `http://<zabbix-instance-url>/zabbix/index_sso.php?acs` als Wert für die folgenden Felder fest:

-   *ACS (Consumer) URL Validator*
-   *ACS (Consumer) URL*

Beachten Sie die Verwendung von "http" und nicht "https", damit der Parameter `acs` in der Anfrage nicht abgeschnitten wird.

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

Es ist auch möglich, "https" zu verwenden. Damit dies mit Zabbix funktioniert, muss in `conf/zabbix.conf.php` die folgende Zeile hinzugefügt werden:

```
$SSO['SETTINGS'] = ['use_proxy_headers' => true];
```

Belassen Sie die übrigen Optionen bei ihren Standardwerten.

2\. Legen Sie unter *Configuration* -> *API connection* die folgenden Werte fest:

-   *SCIM Base URL*: `https://<zabbix-instance-url>/zabbix/api_scim.php`
-   *SCIM JSON Template*: sollte alle benutzerdefinierten Attribute enthalten, die Sie über SCIM an Zabbix übergeben möchten, z. B. `user_name`, `user_lastname`, `user_email` und `user_mobile`:

```
{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User"
  ],
  "userName": "{$parameters.scimusername}",
  "name": {
    "familyName": "{$user.lastname}",
    "givenName": "{$user.firstname}"
  },
   "user_name": "{$user.firstname}",
   "user_lastname": "{$user.lastname}",
   "user_mobile": "{$user.phone}",
   "user_email": "{$user.email}"
}
```
Die Attributnamen sind beliebig. Es können unterschiedliche Attributnamen verwendet werden, jedoch ist erforderlich, dass sie mit dem jeweiligen Feldwert in den Zabbix SAML-Einstellungen übereinstimmen.

Beachten Sie, dass OneLogin für die Benutzerbereitstellung als Antwort ein Attribut 'name' mit 'givenName' und 'familyName' erhalten muss, auch wenn dies vom Service Provider nicht erforderlich war. Daher ist es notwendig, dies im Schema im Konfigurationsbereich der Anwendung anzugeben.

-   *SCIM Bearer Token*: geben Sie ein Zabbix API-Token mit Super-Admin-Berechtigungen ein.

Klicken Sie auf *Enable*, um die Verbindung zu aktivieren.

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

3\. Aktivieren Sie auf der Seite *Provisioning* die Option Provisioning:

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

4\. Die Seite *Parameters* enthält eine Liste der Standardparameter:

-   Stellen Sie sicher, dass 'scimusername' mit dem Benutzeranmeldungswert in OneLogin übereinstimmt (z. B. E-Mail);
-   Markieren Sie für den Parameter 'Groups' die Option *Include in User Provisioning*;
-   Klicken Sie auf "+" , um die benutzerdefinierten Parameter zu erstellen, die für SAML-Assertions und die Benutzerbereitstellung erforderlich sind, z. B. `user_name`, `user_lastname`, `user_email` und `user_mobile`:

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

Achten Sie beim Hinzufügen eines Parameters darauf, sowohl die Option *Include in SAML assertion* als auch *Include in User Provisioning* zu markieren.

-   Fügen Sie einen Parameter 'group' hinzu, der den Benutzerrollen in OneLogin entspricht. Benutzerrollen werden als Zeichenfolge übergeben, getrennt durch ein Semikolon `;`. Die OneLogin-Benutzerrollen werden zum Erstellen von Benutzergruppen in Zabbix verwendet:

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

Überprüfen Sie die Parameterliste:

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

5\. Erstellen Sie auf der Seite *Rules* Zuordnungen von Benutzerrollen zum Standardparameter Groups.

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

Sie können einen regulären Ausdruck verwenden, um bestimmte Rollen als Gruppen zu übergeben. Die Rollennamen sollten kein `;` enthalten, da OneLogin dieses Zeichen als Trennzeichen verwendet, wenn ein Attribut mit mehreren Rollen gesendet wird.

[comment]: # ({/3bcbc5e8-58a8c759})

[comment]: # ({ba0bd783-9be86dbb})
#### 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 basierend auf der OneLogin-Konfiguration aus:

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

|Zabbix-Feld|Einrichtungsfeld in OneLogin|Beispielwert|
|----|----|--|
|*IdP entity ID*|Issuer URL<br>(siehe SSO-Registerkarte Ihrer Anwendung in OneLogin)| |
|*SSO service URL*|SAML 2.0 Endpoint (HTTP)<br>(siehe SSO-Registerkarte Ihrer Anwendung in OneLogin)| |
|*SLO service URL*|SLO Endpoint (HTTP)<br>(siehe SSO-Registerkarte Ihrer Anwendung in OneLogin)| |
|*Username attribute*|Custom parameter|`user_email`|
|*Group name attribute*|Custom parameter|`group`|
|*User name attribute*|Custom parameter|`user_name`|
|*User last name attribute*|Custom parameter|`user_lastname`|

Außerdem muss das Mapping der Benutzergruppen konfiguriert werden. Das Medien-Mapping ist optional. Klicken Sie auf *Update*, um diese Einstellungen zu speichern.

2\. Laden Sie das von OneLogin bereitgestellte Zertifikat herunter und legen Sie es als idp.crt in `conf/certs` der Zabbix-Frontend-Installation ab.

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

    chmod 644 idp.crt

Sie können den Zertifikat-Download in OneLogin unter *Applications* -> *SSO* -> *View details* unter dem aktuellen Zertifikat aufrufen.

Es ist möglich, einen anderen Zertifikatsnamen und einen anderen Speicherort zu verwenden. In diesem Fall stellen Sie sicher, dass Sie in `conf/zabbix.conf.php` die folgende Zeile hinzufügen:

```
$SSO['IDP_CERT'] = 'path/to/certname.crt';
```

[comment]: # ({/ba0bd783-9be86dbb})

[comment]: # ({91a2d08a-09c52023})
#### SCIM-Benutzerbereitstellung

Wenn die Benutzerbereitstellung aktiviert ist, können Benutzer und ihre Rollen in OneLogin nun hinzugefügt/aktualisiert und sofort an Zabbix bereitgestellt werden.

Sie können beispielsweise einen neuen Benutzer erstellen:

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

Fügen Sie ihn einer Benutzerrolle und der Anwendung hinzu, die den Benutzer bereitstellen wird:

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

Beim Speichern des Benutzers wird er an Zabbix bereitgestellt. Unter Application -> Users können Sie den Bereitstellungsstatus der aktuellen Anwendungsbenutzer überprüfen:

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

Wenn die Bereitstellung erfolgreich war, ist der Benutzer in der Zabbix-Benutzerliste sichtbar.

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

[comment]: # ({/91a2d08a-09c52023})
