このセクションでは、SAML 2.0認証とZabbixのユーザープロビジョニングを有効にするためのOkta設定のガイドラインを示します。
1. https://okta.comにアクセスして、アカウントに登録またはサインインします。
2. OktaWebインターフェースでアプリケーション→アプリケーションに移動し、[アプリケーションの追加]ボタン()を押します。
3. 「新しいアプリの作成」ボタン() を押し、ポップアップウィンドウでPlatform: Web, Sign on method:SAML2.0と選択して「作成」ボタンを押します。
4. 必要であれば[一般設定]タブ(最初に表示されるタブ)のフィールドに入力し、[次へ]を押します。
5. Configure SAMLタブで以下に示す値を入力し[次へ]を押します。
暗号化接続の使用を計画している場合は、プライベートおよびパブリック暗号化証明書を生成してから、パブリック証明書をOktaにアップロードします。 Assertion Encryptionが暗号化に設定されている場合、証明書のアップロードフォームが表示されます(このパラメーターを見つけるにはShow Advanced Settingsをクリックします)
6. 次のタブで"I'm a software vendor. I'd like to integrate my app with Okta"を選択し「完了」を押します。
7. 次にAssignmentsタブに移動して"Assign"ボタンを押し、ドロップダウンからAssign to Peopleを選択します。
8. 表示されるポップアップで、作成したアプリをSAML 2.0を使用してZabbixで認証するユーザーに割り当て、"Save and go back"を押します。
9. Sign Onタブに移動し、"View Setup Instructions"ボタンを押します。セットアップ手順は新しいタブに表示されます。Zabbixを設定している間、このタブを開いたままにしてください。
1. Zabbixで[管理]→[認証]セクションのSAML設定に移動し、Oktaのセットアップ手順から対応するフィールドに情報をコピーします。
2. Oktaのセットアップ手順ページに記載されている証明書をidp.crtとしてui/conf/certsフォルダーにダウンロードし、次のコマンドを実行してアクセス許可を644に設定します。
古いバージョンからZabbix5.0にアップグレードした場合は、以下をzabbix.conf.phpファイル(//ui//conf//ディレクトリにあります)に手動で追加する必要があることに注意してください。
// Used for SAML authentication.
$SSO['SP_KEY'] = 'conf/certs/sp.key'; // Path to your private key.
$SSO['SP_CERT'] = 'conf/certs/sp.crt'; // Path to your public key.
$SSO['IDP_CERT'] = 'conf/certs/idp.crt'; // Path to IdP public key.
$SSO['SETTINGS'] = []; // Additional settings
詳細については、一般的なSAML認証の手順を参照してください。
3. Assertion EncryptionがOktaでEncryptedに設定されている場合、ZabbixでもEncryptパラメータのチェックボックス「Assertions」をマークする必要があります。
4. "更新"ボタンを押して設定を保存します。
SAMLでサインインするには、Zabbixのユーザー名がOktaの電子メールと一致している必要があります。これらの設定は、ZabbixWebインターフェースの管理→ユーザーセクションで変更できます。
1. SCIM プロビジョニングを有効にするには、Okta でアプリケーションの"一般"→"アプリ設定"に移動します。
SCIM プロビジョニングを有効にする チェックボックスをオンにします。すると、新しい プロビジョニング タブが表示されます。
2. "プロビジョニング"タブに移動し、SCIM 接続を設定します。
api_scim.php
を追加します。例: https://<your-zabbix-url>/zabbix/api_scim.php
email
HTTP ヘッダー
認証に関する問題が発生している場合は、承認ヘッダー転送 を参照してください。
3. コネクタ設定のテスト をクリックして接続をテストしてください。すべて正しければ成功メッセージが表示されます。
4. "プロビジョニング"→"アプリへ"で、以下のチェックボックスにチェックを入れてください。
これにより、これらのリクエストタイプがZabbixに送信されるようになります。
5. SAMLで定義されているすべての属性がSCIMでも定義されていることを確認してください。"プロビジョニング"→"アプリへ"でプロファイルエディタへ移動 をクリックすると、アプリのプロファイルエディタにアクセスできます。
属性の追加 をクリックします。表示名、変数名、外部名 にSAML属性名(例:user_name
)を入力してください。
外部名前空間は、ユーザースキーマと同じである必要があります: urn:ietf:params:scim:schemas:core:2.0:User
6. アプリケーションの"プロビジョニング"→"アプリケーションへ"→"属性マッピング"に移動します。下部にある"マッピングされていない属性を表示"をクリックします。新しく追加された属性が表示されます。
7. 追加した各属性をマッピングします。
8. "割り当て"タブでユーザーを追加します。ユーザーは、事前に"ディレクトリ"→"ユーザー"に追加しておく必要があります。これらの割り当てはすべて、Zabbixへのリクエストとして送信されます。
9. "プッシュグループ"タブでグループを追加します。Zabbix SAML設定のユーザーグループマッピングパターンが、ここで指定したグループと一致する必要があります。一致しない場合、Zabbixでユーザーを作成できません。
グループメンバーに関する情報は、変更が行われるたびに送信されます。