このセクションでは、SAML 2.0 認証を使用して OneLogin から Zabbix へのシングルサインオンとユーザープロビジョニングを構成するためのガイドラインを示します。
1. OneLogin のアカウントにログインします。テスト目的で、OneLogin で無料の開発者アカウントを作成できます。
2. OneLogin の Web インターフェースで、"アプリケーション"→"アプリケーション" に移動します。
3. "アプリを追加"をクリックし、適切なアプリを検索します。このページのガイドラインは、SCIM Provisioner with SAML (SCIM v2 Enterprise, full SAML) アプリの例に基づいています。
4. まず、アプリの表示名をカスタマイズします。アイコンやアプリの詳細を追加することもできます。その後、保存をクリックします。
1. 設定 -> アプリケーションの詳細 で、以下のフィールドに Zabbix シングルサインオンエンドポイント http://<zabbix-instance-url>/zabbix/index_sso.php?acs
を設定します。
リクエストで acs
パラメータが省略されないように、「https」ではなく「http」を使用することに注意してください。
"https"を使用することもできます。 Zabbix でこれを動作させるには、conf/zabbix.conf.php
に次の行を追加する必要があります。
$SSO['SETTINGS'] = ['use_proxy_headers' => true];
その他のオプションはデフォルト値のままにしておきます。
2. 設定 -> API 接続 で、以下の値を設定します。
https://<zabbix-instance-url>/zabbix/api_scim.php
user_name
、user_lastname
、user_email
、user_mobile
など、SCIM 経由で Zabbix に渡すすべてのカスタム属性を含める必要があります。{
"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}"
}
属性名は任意です。異なる属性名を使用できますが、Zabbix SAML設定の対応するフィールド値と一致する必要があります。
ユーザープロビジョニングが機能するには、サービスプロバイダーが要求していなくても、OneLoginがレスポンスとして'givenName'と'familyName'を含む'name'属性を受け取る必要があります。そのため、アプリケーション設定部分のスキーマでこれを指定する必要があります。
有効をクリックして接続を有効にします。
3. プロビジョニングページで、プロビジョニングオプションを有効にします。:
4. パラメータページには、デフォルトのパラメータのリストが表示されます。:
user_name
、user_lastname
、user_email
、user_mobile
など)を作成します。:パラメータを追加する際は、SAMLアサーションに含める と ユーザープロビジョニングに含める の両方のオプションにチェックを入れてください。
パラメータのリストを確認します。:
5. ルール ページで、デフォルトのグループパラメータへのユーザーロールのマッピングを作成します。
特定のロールをグループとして渡すには、正規表現を使用できます。ロール名には';'を含めないでください。OneLogin は、複数のロールを持つ属性を送信する際に';'を区切り文字として使用します。
Zabbix フィールド | OneLogin のセットアップフィールド | サンプル値 |
---|---|---|
IdP エンティティ ID | 発行者 URL (OneLogin のアプリケーションの SSO タブを参照) |
|
SSO サービス URL | SAML 2.0 エンドポイント (HTTP) (OneLogin のアプリケーションの SSO タブを参照) |
|
SLOサービスURL | SLOエンドポイント(HTTP) (OneLoginのアプリケーションのSSOタブを参照) |
|
ユーザー名属性 | カスタムパラメータ | user_email |
グループ名属性 | カスタムパラメータ | group |
ユーザー名属性 | カスタムパラメータ | user_name |
ユーザーの姓属性 | カスタムパラメータ | user_lastname |
ユーザーグループのマッピングも設定する必要があります。メディアマッピングはオプションです。設定を保存するには、更新をクリックしてください。
2. OneLoginから提供された証明書をダウンロードし、Zabbixフロントエンドインストールのconf/certs
にidp.crtとして配置します。
以下のコマンドを実行して、644権限を設定します。
chmod 644 idp.crt
OneLoginの証明書のダウンロードは、アプリケーション → SSO → 現在の証明書の詳細の表示をクリックすることでアクセスできます。
別の証明書名と場所を使用することもできます。その場合は、conf/zabbix.conf.php
に次の行を追加してください。
$SSO['IDP_CERT'] = 'path/to/certname.crt';
ユーザープロビジョニングを有効にすると、OneLogin でユーザーとそのロールを追加/更新し、Zabbix にすぐにプロビジョニングできるようになります。
例えば、新しいユーザーを作成します。
ユーザーロールと、ユーザーをプロビジョニングするアプリケーションを追加します。
ユーザーを保存すると、Zabbix にプロビジョニングされます。 アプリケーション → ユーザー で、現在のアプリケーションユーザーのプロビジョニングステータスを確認できます。
プロビジョニングが正常に完了すると、Zabbix ユーザーリストにユーザーが表示されます。