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

OAuth 2.0で Workload Identity Federation を設定する

ワークロード アイデンティティ フェデレーションを使用すると、アプリケーションは Azure Service Principals、Azure マネージド Identities、Google Service Accounts などの外部のプログラムによるアイデンティティを使用して MongoDB Ops Manager 配置にアクセスできます。

ワークロード アイデンティティ フェデレーションにより、OAuth 2.0 アクセス トークンを使用して MongoDB 配置へのアプリケーションからのアクセスが許可されます。アクセス トークンは、Azure Entra ID や Google Cloud Platform (GCP) など、あらゆる外部 IdP (アイデンティティ プロバイダー) から発行できます。MongoDB Ops Manager はユーザーIDと権限を保存しますが、シークレットは保存しません。一部の MongoDB ドライバー は、アプリケーションでこの認証メカニズムを利用できます。

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

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

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

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

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

GCP

コンピュート エンジン

GCP サービス アカウント

App Engine 標準環境

App Engine の柔軟な環境

クラウド関数

Cloud Run

Google Kubernetes Engine

クラウドビルド

Azure

Azure VM

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

コールバック認証は、OAuth 2.0 アクセス トークンをサポートするすべてのサービスで使用できます。ワークロード ID フェデレーションはコールバック メソッドを呼び出します。そのメソッド内では、承認サーバーまたはクラウド プロバイダーから必要な JWT をリクエストします。その後、アプリが接続するときに、ワークロード ID フェデレーションを使用してトークンを MongoDB Ops Manager に渡します。

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

Azure マネージド Identity を使用したワークロード Identity Federation は、Azure 上で実行されている MongoDB Ops Manager の配置に認証する最も安全な方法を提供します。このアプローチには、次のセキュリティ上の利点が得られます。

  • マネージド ID を活用する: これにより、Azure VM、AKS、Azure Functions などの Azure サービスで実行中のアプリケーションは、別個の MongoDB 認証情報を管理する必要なく、割り当てられた Azure マネージド ID を使用して MongoDB Ops Manager で認証できます。

  • 安全な「スワードレス」認証: アプリケーションはAzureメタデータサーバーから有効期間の短い OAuth 2.0 アクセス トークンを取得し、MongoDB Ops Manager はそのトークンを検証します。これにより、アプリケーションコードや構成内で機密データベースのユーザー名とパスワードを保存およびマネージドする必要がなくなります。

  • 一元化された ID マネジメント: Azure Entra IDフレームワーク内でAzureワークロードの ID を管理し、ID マネジメントのための単一のソースを提供します。

  • 監査の強化: Azure はサービス アカウントのアクティビティの監査するログを提供し、トレーサビリティとセキュリティ モニタリング機能を強化します。

Workload Identity Federation を構成するには、MongoDB Ops Manager へのProject Owner アクセス権が必要です。

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

  • MongoDB 7.0以降。

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

    注意

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

ワークロード アイデンティティ フェデレーションを構成するには、次の手順に従ってください。

ID プロバイダー

重要: プロジェクトの 認証と TLS 設定をリセットするには、まず、MongoDB Ops 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 アドレスおよび/または CIDR ブロックを Client 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] をクリックします。

ワークロード ID フェデレーション認証を使用してアプリを MongoDB に接続するには、次の MongoDB ドライバーを使用します。

ワークロード ID フェデレーション構成を管理するには、これらのアクションを実行できます。

注意

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

秘密キーが侵害された場合は、MongoDB ノードにキャッシュされた JWKS(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 ] をクリックします。

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

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をクリックすると、追加の変更を行うことができます。

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

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