Docs Menu
Docs Home
/
MongoDB Ops Manager
/ / /

OAuth 2.0で Workload Identity Federation を設定する

項目一覧

  • 仕組み
  • 組み込み認証
  • コールバック認証
  • 必要なアクセス権
  • 前提条件
  • 手順
  • 外部 ID プロバイダー アプリケーションを構成する
  • Workload IdP 認証の構成
  • OIDC 認証の構成
  • Workload Identity Federation を使用したアプリケーションの MongoDB への接続
  • 既存のワークロード IdP 構成を管理する
  • Revoke JWKS
  • 設定を編集
  • 構成の削除

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

Workload Identity Federation を使用すると、アプリケーションは OAuth 2.0 アクセス トークンを使用してMongoDB配置にアクセスできます。アクセス トークンは、 Azure Entra IDやGoogle Cloud Platformなどの任意の外部 ID プロバイダーによって発行できます。 MongoDB Ops Manager はユーザー識別子と特権を保存しますが、シークレットは保存しません。 アプリケーションのこの認証メカニズムは、 特定のMongoDBドライバーによってのみサポートされています。

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

サポートされているプリンシパル タイプを使用してサポートされているインフラストラクチャにアプリケーションを配置する場合は、組み込み認証を使用できます。 MongoDB Ops Managerアプリケーションは、パスワードを指定したり、クラウドプロバイダーのメタデータサービスからJSON web token JSONウェブ トークンを手動でリクエストしたりすることなく、 MongoDB Ops Managerの配置にアクセスできます。代わりに、選択したMongoDBドライバーは既存のプリンシパル識別子を使用して、アプリケーションが接続するときに自動的にMongoDBMongoDB OpsJSON web token Manager配置に渡されるJSON web token アクセスMongoDB Ops Manager トークンをリクエストします。

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

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

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

GCP

コンピュート エンジン

GCP サービス アカウント

App Engine 標準環境

App Engine の柔軟な環境

クラウド関数

Cloud Run

Google Kubernetes Engine

クラウドビルド

Azure

Azure VM

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

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

その他の実装詳細については、選択したドライバーのドキュメントを確認してください。

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

次のものが必要です。

  • MongoDB 7.0以降。

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

    注意

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

Workload Identity Federation を設定するには、次の手順を実行します。

  1. ワークロード IdP を構成する(1 回限りの設定)。

    1. 外部 ID プロバイダーを構成します。

    2. MongoDB Ops ManagerでワークロードIdPMongoDB Ops Manager を構成します。

  2. 外部 ID(ユーザー プリンシパル)またはグループにアクセス権を付与します。

  3. MongoDB OpsMongoDB Ops Manager Manager配置を認証します。

注意

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

Azure Managed Identity またはAzure Service Principals を使用して MongoDB Ops Manager の配置にアクセスするには、 Azure Entra IDアプリケーションを登録する必要があります。 ワークロード(人間ユーザー)アクセス用の既存のアプリケーション登録がある場合は、ワークロード アクセス用に別のアプリケーションを登録することをお勧めします。

1
  1. App registrationsに移動します。

    1. Azure portal で アカウント、検索、Microsoft Entra ID の順にクリックします。

    2. 左側のナビゲーションの Manage セクションで、App registrations をクリックします。

  2. [New registration] をクリックします。

  3. 次の値を適用します。

    フィールド

    Name

    Ops Manager Database - Workload

    Supported Account Types

    Accounts in this organizational directory only (single tenant)

    Redirect URI

    Web

2

MongoDBMongoDB Ops Managerでアクセス権を定義する際に、サービスMongoDB Ops Manager プリンシパル識別子をMongoDBユーザー識別子として使用することをお勧めします。この一般的なアプローチを使用する場合は、このステップをスキップしてください。 ただし、代わりにMicrosoft Entra IDセキュリティ グループ識別子などのグループ識別子を使用する場合は、以下の手順でアプリケーション登録でグループ クレームを設定できます。

  1. Token Configurationに移動します。

    左側のナビゲーションの Manage セクションで、Token Configuration をクリックします。

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

  3. Edit groups claimモーダルで、 Securityを選択します。

    選択するグループは、Azure 環境で構成したグループのタイプによって異なります。 適切なグループ情報を送信するには、別のタイプのグループを選択する必要がある場合があります。

  4. Customize token properties by typeセクションで、 Group IDのみを選択していることを確認します。

    Group Idを選択すると、Azure はセキュリティ グループのオブジェクト ID を送信します。

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

    グループ クレームを追加する方法の詳細については、 Azure ドキュメント を参照してください。

3
  1. 左側のサイドバーでExpose an APIに移動し、アプリケーション ID URI を有効にします。

  2. アプリケーション ID URI を有効にします。

    1. Azureによって割り当てられたデフォルトのアプリケーションID URI を保持します。このアプリケーション ID URI は <application_client_id> です。この値をコピーして保存しますMongoDBMongoDB Ops Manager MongoDBOps ManagerとすべてのMongoDBドライバーは Workload Identity Federation の構成にこの値が必要です。

4
  1. 左側のナビゲーションの Manage セクションで、Manifest をクリックします。

  2. nullから2accessTokenAcceptedVersionを更新します。

    数字2は Microsoft のアクセス トークンのバージョン 2 を表します。 他のアプリケーションは、Active Directory が管理するユーザーの ID の署名された認証局としてこれを使用できます。 バージョン 2 では、トークンはJSON web token MongoDBが理解する であることが保証されます。

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

オプションのクレームを追加する方法の詳細については、 Azure のドキュメント を参照してください。

5
  1. 左側のナビゲーションで [ Overview ] をクリックします。

  2. 上部のナビゲーションで、 Endpointsをクリックします。

    /.well-known/openid-configuration部分を除いてOpenID Connect metadata document値をコピーします。

    この値は、 OpenID Connect metadata document URLをクリックし、 issuerの値をコピーして取得することもできます。

次の表は、これらのMicrosoftMongoDB Ops Manager MicrosoftEntraID ID UI値がマップするMongoDB Ops Manager構成プロパティ を示しています。

Microsoft Entra ID UI
MongoDB Ops Manager構成プロパティ

OpenID Connect metadata document (without /.well-known/openid-configuration)

Issuer URI.

Application ID URI (<Application ID>)

Audience

GCPアカウントの設定変更は必要ありません。

注意

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

MongoDBAzure Ops ManagerでAzure Entra IDを使用してワークロード IdP フェデレーションID IdPMongoDB Ops Manager を構成するには、次の手順に従います。

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証明書を提示する場合があります。 を mongodtlsModeに設定 しない 場合、MongoDB エージェントは TLSNone 証明書を使用する可能性があります。

必須

このプロジェクト内のすべての 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ダイアログ ボックスでWorkload Identity Federation [] を選択します。

5
設定
必要性

Configuration Name

必須

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

  • 英数字(az09 の組み合わせ)

  • ハイフン(-

  • アンダースコア(_

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

Issuer URI

必須

登録されたIdPアプリケーションによって提供される発行者値。 この URI を使用して、MongoDB は/.wellknown/open-id-configurationエンドポイントで利用可能なはずの OpenID プロバイダー構成ドキュメントを見つけます。

Audience

必須

外部IdPがトークンを発行するエンティティ。 外部 IdP に登録したアプリの audience 値を入力します。

authorizationType

必須

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

アプリケーションアクセスには 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 Ops ManagerでGCPを使用して Workload IdP フェデレーション IdP を構成する方法GCPMongoDB Ops Manager

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証明書を提示する場合があります。 を mongodtlsModeに設定 しない 場合、MongoDB エージェントは TLSNone 証明書を使用する可能性があります。

必須

このプロジェクト内のすべての 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ダイアログ ボックスでWorkload Identity Federation [] を選択します。

5
設定
必要性

Configuration Name

必須

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

  • 英数字(az09 の組み合わせ)

  • ハイフン(-

  • アンダースコア(_

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

Issuer URI

必須

URI https://accounts.google.comを入力します。

Audience

必須

任意のカスタム値を指定します。 MongoDB ドライバーを呼び出すときに使用されます。

authorizationType

必須

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

アプリケーションアクセスには User ID を使用する方が一般的です。

Customize User Claim

必須

デフォルト値のsubは変更しないでください。

デフォルト: sub

6

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

7
8
9

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

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. ボックスまたは Client SourceServer Addressボックスのいずれかに 1 つ以上のIPアドレスや CIDR ブロックを追加します。複数のアドレスまたはブロックはカンマで区切ります。

      • 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ドライバー を使用して、 ワークロード IdP認証を使用してアプリケーションをMongoDBに接続します。

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

注意

署名キーをローテーションするために、この機能を使用しないでください。 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 ] をクリックします。

戻る

従業員(人間)