Overview
OpenID Connect ( OIDC )を使用して、外部 IdP ( IdP )で Ops Manager ユーザーの認証と認可を管理できます。認証されたセッションなしで Ops Manager にアクセスしようとすると、Ops Manager は IdP にリダイレクトしてログします。認証が完了すると、Ops Manager に戻ります。
このチュートリアルでは、次の方法について説明します。
Ops Manager の OIDC認証を構成します。
OIDC グループを Ops Manager 組織ロールとプロジェクト ロールにマッピングします。
パブリックAPIを使用して組織とプロジェクトロールのマッピングを管理します。
Considerations
OIDC に HTTPS を使用
HTTPS は、一般的に Ops Manager に、特に OIDC に 強く推奨 します。 Ops Manager が HTTPS を使用しない場合、一部の IdP 統合が正しく動作しない可能性があります。
前提条件
OIDC 統合を構成するには、 IdP で次のアクションを実行する必要があります。
Global Ownerロールのグループを作成し、ユーザーをそれに追加します。
手順
OIDC認証 を構成するには次の手順に従います。
認証方法として OIDC を選択します。
Ops Manager の場合:
[Admin、General、Ops Manager Config、User Authentication をクリックします。
User Authentication MethodオプションをOIDCに設定します。
OIDC 接続設定を構成します。
必須 フィールドに値を指定し、必要に応じて任意フィールドを設定します。
次の表は、Ops Manager UIフィールドを構成ファイルフィールドにマッピングします。
MongoDB Ops Manager UIフィールド | 構成ファイルのフィールド | 必須 | 説明 |
|---|---|---|---|
Issuer URI |
| はい | 発行者 URI または OIDCメタデータ検出ドキュメントのURL。 |
Client ID |
| はい | IdP によって MongoDB Ops Manager に割り当てられたクライアント識別子。 |
Client Secret |
| はい | IdP によって MongoDB Ops Manager に割り当てられたクライアントシークレット。 |
Custom CA Certificate (PEM) |
| No | IdP に接続するときに信頼する PEM でエンコードされた CA 証明書。 IdP が 自己署名またはプライベート CA 証明書 を使用する場合は、これを使用します。複数の証明書を連結することができます。 |
Enable PKCE (Proof Key for Code Exchange) |
| はい | 認可コードフローの PKCE 有効化推奨され、デフォルトで有効になっている 。 IdP がコンフィギュレーション クライアント用の PKCE |
Requested Scopes |
| No | MongoDB Ops Manager が認可エンドポイントからリクエストするスコープ リスト。 |
Service Provider Base URL |
| No | OIDC サービスプロバイダーのベースURL 。この値を設定しない場合、MongoDB Ops Manager は |
Global Role Owner Groups |
| はい | グローバル所有者ロールが割り当てられている IdP グループのコンマ区切りリスト。グローバル オーナーには、すべての管理権限を含む、この配置に対する完全な権限が付与されます。 |
Global Automation Admin Groups |
| No | グローバル オートメーション管理者 ロールが割り当てられている IdP グループのコンマ区切りリスト。 |
Global Backup Admin Groups |
| No | グローバルバックアップ管理者 ロールが割り当てられている IdP グループのコンマ区切りリスト。 |
Global Monitoring Admin Groups |
| No | グローバル モニタリング管理者 ロールが割り当てられている IdP グループのコンマ区切りリスト。 |
Global User Admin Groups |
| No | グローバル ユーザー管理者ロールが割り当てられている IdP グループのコンマ区切りリスト。 |
Global Read Only Groups |
| No | グローバル読み取り専用ロールが割り当てられている IdP グループのコンマ区切りリスト。 |
OIDC Claim for User First Name |
| No | ユーザー名を含むクレーム。デフォルト値: |
OIDC Claim for User Last Name |
| No | ユーザーの姓を含むクレーム。デフォルト値: |
OIDC Claim for User Email |
| No | ユーザーのメールアドレスを含むクレーム。デフォルト値: |
OIDC Claim for Group Member |
| No | MongoDB Ops Manager でロールをプロジェクトおよび組織にマッピングするために使用されるグループのリストを含むクレーム。デフォルト値: |
ロール マッピングの仕組み
OIDC ロール マッピングは、 SAML ロール マッピングと同じ方法で機能します。組織とプロジェクトの Ops Manager ロールに IdP グループをマッピングします。ユーザーがログインすると、MongoDB Ops Manager はユーザーのグループ メンバーシップに基づいてロールを割り当てます。
組織ロール マッピング
組織ロール マッピングは、 IdP グループを組織ロールに関連付けます。
組織マッピング フィールドには、次のものが含まれます。
組織所有者ロールの OIDC グループ
組織プロジェクト作成者ロールの OIDC グループ
組織の読み取り専用ロールの OIDC グループ
組織ノード ロールの OIDC グループ
プロジェクト ロール マッピング
プロジェクト ロール マッピングは、IdP グループをプロジェクトロールに関連付けます。
プロジェクトマッピング フィールドには、次のものが含まれます。
プロジェクト オーナーのロールの OIDC グループ
読み取りロールのみの OIDC グループ
オートメーション管理者ロールの OIDC グループ
バックアップ管理者ロールの OIDC グループ
モニタリング管理者ロールの OIDC グループ
ユーザー管理ロールの OIDC グループ
データアクセス管理者ロールの OIDC グループ
データアクセス読み取り書込みロールの OIDC グループ
データアクセス読み取り専用ロールの OIDC グループ
パブリックAPIを使用したロール マッピングの管理
次の公開 API の フィールドを使用して、プログラムで IdP ロール マッピングを管理できます。idpGroupMappings
組織を取得します。
プロジェクトを取得します。
組織を作成および更新します。
プロジェクトを作成および更新します。
フィールドは、Ops Manager のロールをidpGroupMappings IdP グループにマッピングする配列です。
{ "idpGroupMappings": [ { "idpGroups": [ "name_of_your_idp_group", "another_name_of_idp_group" ], "roleName": "GROUP_USER_ADMIN" } ] }
次の値は組織roleName で有効です。
ORG_OWNERORG_GROUP_CREATORORG_BILLING_ADMINORG_READ_ONLYORG_MEMBER
プロジェクトroleName では次の値が有効です。
GROUP_OWNERGROUP_READ_ONLYGROUP_AUTOMATION_ADMINGROUP_BACKUP_ADMINGROUP_MONITORING_ADMINGROUP_USER_ADMINGROUP_BILLING_ADMINGROUP_DATA_ACCESS_ADMINGROUP_DATA_ACCESS_READ_ONLYGROUP_DATA_ACCESS_READ_WRITEGROUP_CHARTS_ADMINGROUP_CLUSTER_MANAGERGROUP_SEARCH_INDEX_EDITOR
バックチャンネル ログアウト
Ops Manager は OIDC バックチャネル ログアウト をサポートします。 IdP がログアウト トークンを送信すると、MongoDB Ops Manager はユーザーのセッションを無効にします。
エンドポイント
POST {OPSMANAGER-HOST}:{PORT}/oidc/backchannel-logout
リクエスト
署名された JWT を含む logout_token パラメータを使用して、フォーム エンコードされたリクエストを送信します。
要件
有効な
sub(サブジェクト)クレームを含めます。対象を絞ったセッション無効化には、
sid(セッションID)のクレームを含めることができます。
Ops Manager は、サービス プロバイダーが開始したログアウトをサポートしていません。ログするには、ユーザーは IdP からログする必要があります。