AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

OIDC を使用したワークフォース アイデンティティ フェデレーション 認証の設定

MongoDB 7.0 以降では、会社の IdP などの外部 IdP (アイデンティティ プロバイダー) との Workforce Identity Federation を使用できます。Workforce Identity Federation は、従業員、提携する、コンストラクターなどのあなたのワークフォースを認証および認可します。

Workforce IdP を使用すると、次のことが可能になります。

  • 既存のIdPを介して、MongoDB 配置へのワークフォース アクセスを管理します。

  • パスワードの複雑さ、認証情報のローテーション、多要素認証などのセキュリティ ポリシーを IdP 内で強制します。

プロジェクトごとに作成できるワークフォース IdP は 1 つだけですが、構成をいつでも編集または再作成できます。

Workforce IdP を設定するには、 MongoDB Ops ManagerへのProject Owner MongoDB Ops Managerアクセス権が必要です。

以下の前提条件を満たす必要があります:

  • mongosh 1.9.1 以降。

  • MongoDB 7.0以降。

  • MongoDB Agent で少なくとも 1 つの他の認証メカニズムが構成されています。

    注意

    MongoDB Agent は、OIDC を介してお客様の配置に接続できません。MongoDB Agent に対しては、別の認証メカニズムを有効にする必要があります。MongoDB Ops Manager がモニタリングまたはバックアップを管理しない場合は、代替の認証メカニズムを使用するようにそれらを手動で構成する必要があります。

MongoDB Ops Manager 配置に、ワークフォース アイデンティティ フェデレーションを使用してアクセスするには、次の手順に従ってください。

重要: プロジェクトの 認証と TLS 設定をリセットするには、まず、MongoDB Ops Manager がプロジェクト内でマネージドしている MongoDB 配置をマネージャーから解除します。

OIDC を使用して Workforce IdP を構成するには、 OIDC 標準をサポートする IdP に OIDC アプリを登録します。例としては、Microsoft Entra ID、Okta、Ping Identity などがあります。

OIDCアプリは、これらの付与タイプで構成できます。

  • PKCEを使用した認証コードフロー

  • デバイス認証フロー

MongoDB では、セキュリティを強化するために、Authorization Code Flow とPKCEを使用することを推奨しています。 ユーザーがブラウザを使用せずにマシンからデータベースにアクセスする必要がある場合にのみ、Device Authorization Flow を使用します。

OIDC アプリの登録手順は、IdP によって異なります。アプリの登録時に、これらの項目を設定します。

OIDC アプリの一般的な登録手順は以下のとおりです。

1

クライアント タイプとしてpublic client/native applicationを選択します。

2
3

グループの場合、この手順により、アクセス トークンにユーザー認証のグループ メンバーシップ情報が含まれていることを確認できます。 MongoDB は、認可のためにグループ クレームで送信された値を使用します。

4

(任意)MongoDB クライアントでトークンを更新してユーザー エクスペリエンスを向上させる場合は、更新トークンを許可します。

5

(任意)アクセス トークンの有効期間( expクレーム)をデータベース接続セッション時間と一致するように設定します。

アプリケーションを登録 したら、構成の次の段階で使用する issuer 、 clientId 、 audience の値を保存します。

OIDC を使用して Workforce IdP を構成するには、次の手順を実行します。

注意

Workforce Identity Federation では JSON web token (JWT) 認証のみがサポートされています。不透明なアクセス トークンをサポートしていません。

1
  1. Organizationsナビゲーション バーの [] メニューから、プロジェクトを含む組織を選択します。

  2. ナビゲーション バーのProjectsメニューからプロジェクトを選択します。

  3. サイドバーの Deployment をクリックします。

  4. [Security] タブをクリックします。

  5. [Settings] タブをクリックします。

  6. 次のいずれかのアクションを実行します。

    • このプロジェクトで初めて TLS 、認証、または承認設定を構成する場合は、[ Get Started] をクリックします。

    • このプロジェクトの TLS 認証または承認設定をすでに構成している場合は、[Edit] をクリックします。

2
フィールド
アクション

MongoDB 配置トランスポート層セキュリティ (TLS)

このスライダーをONに切り替えます。

TLS CA ファイルパス

TLS 証明機関ファイルは、証明機関からのルート証明書チェーンを含む .pem形式の証明書ファイルです。MongoDB Agent は、配置内のすべての項目に接続するために、この同じ証明書発行者ファイルを使用します。

.pem 証明ファイルの暗号化された秘密キーは、PKCS #1形式である必要があります。MongoDB Agent は PKCS #8 形式をサポートしていません。

MongoDB プロセスを実行しているすべてのホスト上のTLS認証局ファイルへのファイル パスを入力します。

  • 最初のボックスにすべての Linux ホスト上のファイルパスを入力します。

  • 2 番目のボックスにすべての Windows ホスト上のファイル パスを入力します。

これにより、プロジェクト内の MongoDB プロセスのnet.tls.CAFile設定が有効になります。

Validateをクリックして、指定したパスで配置内の各ホストにTLS認証局があることをテストします。

クラスター TLS CA ファイル パス

接続を確立するクライアントによって提示された証明書を検証するために使用される証明機関からのルート証明書チェーンを含む.pemファイル。 相対パスまたは絶対パスを使用して、 .pemファイルのファイル名を指定します。 net.tls.clusterCAFileにはnet.tls.CAFileが設定されている必要があります。

net.tls.clusterCAFileを指定しない場合、クラスターはnet.tls.CAFileオプションで指定された.pemファイルを使用します。

net.tls.clusterCAFile クライアントからサーバー、サーバーからクライアントへのTLS ハンドシェイクの各部分を検証するために、異なる認証局を使用することができます。

クライアント証明書モード

TLS 対応のMongoDB配置に接続するときにクライアントアプリケーションまたはMongoDBエージェントが TLS 証明書を提示する必要がある場合は、 を選択します。MongoDBデプロイでは、接続時にこれらのクライアントホストからの証明書がチェックされます。 クライアントTLS 証明書を要求する場合は、有効であることを確認します。

指定できる値は次のとおりです。

  • 任意: すべてのクライアントは、MongoDB 配置に接続する際に、有効な TLS 証明書を提示できます。MongoDB エージェントは TLS 証明書を使用する可能性があります。しない場合、mongod tlsMode を None に設定

  • 必須:このプロジェクトのすべてのMongoDB配置は、TLS で暗号化されたネットワーク接続で開始されます。すべてのエージェントは、いずれかの MongoDB 配置に接続するには TLS を使用する必要があります。

3

MongoDB Deployment Authentication Mechanismセクションで、[Federated Auth (OIDC)] を選択します。

4
  1. OIDC Connection and Authorization (Required for OIDC)セクションで、 + OIDC IdP Configurationをクリックします。

  2. OIDC Protocol Settingsダイアログ ボックスでWorkforce Identity Federation [] を選択します。

5
設定
必要性
値

Configuration Name

必須

この構成を識別する一意のラベル。 このラベルは MongoDB Ops Manager ユーザーに表示され、認可のユーザーとロールを作成するときに使用されます。大文字と小文字が区別され、次の文字のみを含めることができます。

  • 英数字(a ~ z と 0 ~ 9 の組み合わせ)

  • ハイフン(-)

  • アンダースコア(_)

構成を保存した後は、構成名を編集することはできません。

Issuer URI

必須

登録済みの`IdPアプリケーション`から提供される発行者の値。この URI を使用して、MongoDB は OpenID プロバイダー構成ドキュメントを検出します。これは /.wellknown/open-id-configuration エンドポイントとなる接続されたデバイスで利用できるはずです。

Client ID

必須

登録されたアプリケーションの一意の識別子です。 外部 IdP に登録したアプリのclientId値を入力します。

Audience

必須

外部 ID プロバイダーがトークンを発行するエンティティ。 外部 IdP に登録したアプリのaudience値を入力します。 一般的に、この値はClient IDと同じです。

Requested Scopes

任意

承認エンドポイントからデータをリクエストする権限をユーザーに付与するトークン。

追加する追加のスコープごとに、[ Add more scopes ] をクリックします。

authorizationType

必須

IdP ユーザー グループのメンバーシップに基づいて承認を付与するには、Group Membership を選択します。または、個別のユーザーに承認を付与するには、User ID を選択します。

Customize User Claim

必須

ユーザー プリンシパル ID を含む要求の識別子。 IdPが別の要求を使用しない限り、デフォルト値を受け入れます。

デフォルト: sub

Customize Group Claim

必須

認可タイプとして Group Membership を選択した場合は必須です。プリンシパルの IdP ユーザー グループ メンバーシップ情報を含む要求の識別子。IdP が別のクレームを使用している場合を除き、カスタム クレームが必要な場合を除き、デフォルト値を受け入れます。

デフォルト: groups

6

MongoDBMongoDB Ops Manager Ops Managerは構成を保存し、 セクションに一覧表示します。OIDC Connection and Authorization (Required for OIDC)

7
8
9

そうでない場合は、 Cancelをクリックすると、追加の変更を行うことができます。

MongoDB は OIDC 用のデータベースユーザーを明示的に作成しません。構成に基づいて、OIDC ユーザーをMongoDBロールにマッピングします。

OIDC認証の構成時に選択した承認タイプに対する手順に従ってください:

Group Membership承認タイプを選択した場合は、次の手順を実行して、 IdP ユーザー グループ メンバーシップに基づいて承認を付与するカスタムロールを作成します。

1
  1. Organizationsナビゲーション バーの [] メニューから、プロジェクトを含む組織を選択します。

  2. ナビゲーション バーのProjectsメニューからプロジェクトを選択します。

  3. サイドバーの Deployment をクリックします。

  4. [Security] タブをクリックします。

  5. [MongoDB Roles] タブをクリックします。

2
3
  1. 次のフィールドを入力します。

    フィールド
    必要性
    説明

    Identifier

    必須

    Databaseボックスにadminと入力します。

    Name ボックスで、OIDC IdP 構成名と外部 IdP からのグループ名をスラッシュ (/) で区切って入力します: {configuration_name}/{group_name}

    Inherits From

    任意

    ロール名とデータベースのペアのリスト。 これらのペアの形式はroleName@dbNameです。

    Authentication Restrictions

    任意

    IdPから制限する IP アドレスまたは CIDR 表記のリスト。

    Privilege Actions by Resource

    任意

    リソースに対して許可されるアクション。

    詳しくは、「特権アクション 」を参照してください。

  2. [Add Role] をクリックします。

User ID認可タイプを選択した場合は、新しいユーザーを作成して、個々のユーザーに認可を付与します。

1
  1. Organizationsナビゲーション バーの [] メニューから、プロジェクトを含む組織を選択します。

  2. ナビゲーション バーのProjectsメニューからプロジェクトを選択します。

  3. サイドバーの Deployment をクリックします。

  4. [Security] タブをクリックします。

  5. [MongoDB Users] タブをクリックします。

2
3

注意

ユーザーを追加する前に、ユーザーに割り当てるロールを作成していることを確認してください。

  1. ユーザーアカウントのフィールドを入力します。

    フィールド
    説明

    Identifier

    • 最初のフィールドに $externalデータベースを入力します。

    • 2 番目のフィールドに、ユーザー名として、OIDC IdP 構成名と構成のユーザー プリンシパル クレームをスラッシュ (/) で区切ったものを入力します。例: {configuration_name}/{user_principal_claim}

    Roles

    使用可能なユーザー定義ロールと組み込みロールをこのボックスに入力します。 コンボボックス内で をクリックすると、既存のロールのリストが表示されます。

    Authentication Restrictions

    1. [Add Entry] をクリックします。

    2. 1 つ以上の IP アドレスおよび/または CIDR ブロックを Client Source または Server Address ボックスのいずれかに追加します。複数のアドレスまたはブロックをカンマで区切ります。

      • Client Source は、このユーザーが認証を行い、指定されたロールを使用できるアドレスを制限します。

      • Server Address は、このユーザーが認証できるアドレスを制限し、指定されたロールを持つ必要があります。

    3. [Save] をクリックします。

    4. 別のエントリを追加するには、[ Add Entry ] をクリックします。

  2. [Add User] をクリックします。

4
5

そうでない場合は、 Cancelをクリックすると、追加の変更を行うことができます。

Workforce Identity Federation 認証を使用してアプリをMongoDBに接続するには、mongosh または Compass を使用します。

Workforce Identity Federation の設定を管理するには、これらのアクションを実行できます。

注意

署名キーをローテーションするために、この機能を使用しないでください。 OIDC IdP署名キーをローテーションすると、MongoDB は既存のアクセス トークンの有効期限が切れると、JWKS を自動的に取得します。

秘密キーが流出した場合、MongoDB ノード内にキャッシュされている JSON Web Key Sets を直ちに失効化できます。

1
  1. まだ表示されていない場合は、目的のプロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューから目的のプロジェクトを選択します。

  3. まだ表示されていない場合は、サイドバーの [Deployment] をクリックします。

  4. [Security] タブをクリックします。

  5. [Settings] タブをクリックします。

2
  1. OIDC Connection and Authorization (Required for OIDC)セクションまでスクロールします。

  2. REVOKE JWKSボタンをクリックします。

  3. Revoke JWKS tokens?ダイアログボックスで、[ Revoke ] をクリックします。

Workforce IdP の設定を編集するには

1
  1. Organizationsナビゲーション バーの [] メニューから、プロジェクトを含む組織を選択します。

  2. ナビゲーション バーのProjectsメニューからプロジェクトを選択します。

  3. サイドバーで [Deployment] をクリックします。

  4. [Security] タブをクリックします。

  5. [Settings] タブをクリックします。

2
  1. OIDC Connection and Authorization (Required for OIDC)セクションまでスクロールします。

  2. 編集する構成については、EDIT ボタンをクリックします。

  3. 構成を変更します。

3
4
5
6

そうでない場合は、 Cancelをクリックすると、追加の変更を行うことができます。

Workforce IdP 構成を削除するには、次の手順に従います。

1
  1. Organizationsナビゲーション バーの [] メニューから、プロジェクトを含む組織を選択します。

  2. ナビゲーション バーのProjectsメニューからプロジェクトを選択します。

  3. サイドバーの Deployment をクリックします。

  4. [Security] タブをクリックします。

  5. [Settings] タブをクリックします。

2
  1. OIDC Connection and Authorization (Required for OIDC)セクションまでスクロールします。

  2. 削除する構成で、REMOVE ボタンをクリックします。

  3. Removing OIDC IdP configuration?ダイアログボックスで、[ Remove ] をクリックします。