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

OAuth 2.0で Workload Identity Federation を設定する

Workload Identity Federation を使用すると、アプリケーションはAzure Service Principals、 Azure Managed IdP、Google サービスアカウントなどの外部プログラム ID を使用してMongoDB Cloud Manager の配置にアクセスできます。

Workload Identity Federation2.0 を使用すると、アプリケーションは OAuth アクセス トークンを使用してMongoDB配置にアクセスできます。アクセス トークンは、 Azure Entra IDやGoogle Cloud Platform (GCP)などの任意の外部 ID プロバイダーによって発行できます。 Cloud Manager はユーザー識別子と特権を保存しますが、シークレットは保存しません。 MongoDBドライバーの限られたセットでは、アプリケーションに対してこの認証メカニズムを提供します。

MongoDB ドライバーは、ワークロード Identity Federation の 2 種類の認証フロー(組み込み認証とコールバック認証)をサポートしています。

互換性のあるプリンシパル タイプを持つ互換性のあるインフラストラクチャにアプリを配置する場合は、組み込み認証を使用できます。アプリは、パスワードを指定したり、クラウドプロバイダーのメタデータサービスから JWT を手動でリクエストしたりせずに、Cloud Manager の配置にアクセスできます。代わりに、ドライバーは既存のプリンシパル識別子を使用してJSON Web Token(JWT)アクセストークンをリクエスト。アプリが接続すると、ドライバーはCloud Manager配置にトークンを渡します。

実装は、 ドライバーのドキュメント を参照してください。

組み込み認証をサポートするインフラストラクチャとプリンシパルのタイプ

クラウドプロバイダー
インフラストラクチャ タイプ
プリンシパルタイプ

GCP

コンピュート エンジン

GCP サービス アカウント

App Engine 標準環境

App Engine の柔軟な環境

クラウド関数

Cloud Run

Google Kubernetes Engine

クラウドビルド

Azure

Azure VM

Azure Managed IdP(ユーザーとシステムが割り当てられている)

OAuth アクセス2.0 トークンをサポートしている任意のサービスでコールバック認証を使用できます。 Workload Identity Federation は、認可サーバーまたはクラウドプロバイダーから必要な JWT をリクエストコールバックメソッドを呼び出します。その後、アプリが接続するときに、ワークロード Identity Federation を使用してCloud Managerにトークンを渡します。

より詳細な実装については、 ドライバー のドキュメントを確認してください。

Workload Identity Federation を設定するには、 Cloud ManagerへのProject Owner アクセス権が必要です。

これらの前提条件を満たす必要があります。

  • MongoDB 7.0以降。

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

    注意

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

Workload Identity Federation を設定するには、次の手順に従います。

注意

プロジェクトの認証と TLS 設定をリセットするには、まずプロジェクト内でCloud Manager が管理するMongoDB配置の管理を解除します。

注意

Workload Identity Federation は認証用にJSON webJSON web token token のみをサポートします。不変のアクセス トークンはサポートされていません。

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

OIDC認証の構成 時に選択した認可タイプの手順を完了します。

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アドレスや CIDRClient Source Server Addressブロックを追加します。複数のアドレスまたはブロックはカンマで区切ります。

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

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

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

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

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

4
5

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

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] をクリックします。

次のMongoDBドライバーを使用して、 ワークロード Identity Federation認証を使用してMongoDBにアプリを接続します。

Workload Identity Federation 構成を管理するには、次のアクションを実行します。

注意

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

秘密キーが侵害された場合は、 MongoDBノードにキャッシュされたJSON Web キーセットをすぐに取り消すことができます。

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

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

  3. サイドバーで、 Database見出しの下のSecurityをクリックします。

[セキュリティ ]ページが表示されます。

2

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

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

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

    注意

    IdP が設定されていない場合、このボタンはアイドル状態になります。

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

Workload Identity Federation の設定を編集するには、次の手順に従います。

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

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

  3. サイドバーで、 Database見出しの下のSecurityをクリックします。

[セキュリティ ]ページが表示されます。

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

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

  3. 構成を変更します。

3
4
5
6

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

Workload Identity Federation 構成を削除するには、次の手順に従います。

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

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

  3. サイドバーで、 Database見出しの下のSecurityをクリックします。

[セキュリティ ]ページが表示されます。

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

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

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