Workload Identity Federation は OAuth 2.0 を使用して、アプリケーションがAzureサービスプリンシパル、 Azure Managed Identity、Google サービスアカウントなどの外部プログラム ID を使用してMongoDBにアクセスできるようにします。
重要
OpenID Connect(OIDC)はLinuxでのみサポートされています。
ユースケース
Workload Identity Federation を使用すると、次のことが可能になります。
既存のクラウドプロバイダーまたはIdP(IdP)を介して、アプリケーションのMongoDB配置へのアクセスを管理します。
ロールベースのアクセス制御、認証情報のローテーション、ワークロード固有の権限などのセキュリティ ポリシーを強制します。
個々のサービス アカウントを管理せずに、特定のアプリケーション、コンテナ、または仮想マシンへのアクセス権を付与します。
動作
Workload Identity Federation を使用するには、 MongoDB Enterprise を使用し、 MongoDB 7.0.11 以降が必要です。
MongoDB Enterprise を使用していることを確認するには、
--version
コマンドラインオプションをmongod
またはmongos
に渡します。mongod --version このコマンドの出力で string
modules: subscription
またはmodules: enterprise
を探し、MongoDB Enterprise バイナリを使用していることを確認します。Workload Identity Federation を使用すると、アプリケーションは OAuth 2.0 アクセス トークンを使用してMongoDBクラスターにアクセスできます。 アクセス トークンは、 Azure Entra IDやGoogle Cloud Platformなどの任意の外部IdPによって発行できます。
MongoDB はユーザー識別子と特権を保存しますが、秘密は保存しません。
はじめる
Workload Identity Federation を構成して使用するには、次のタスクを実行します。
OAuth 2.0アプリケーションを、 Azure Service Principals、 Azure Managed Identity、Google サービスアカウントなど、OAuth 2.0 標準をサポートする IdP に登録します。
Workload Identity Federation でMongoDB を構成する
OAuth 2.0 とともに Workload Identity Federation を使用するようにMongoDBサーバーを構成します。
Workload Identity Federation によるユーザーの認証
MongoDBにロールを追加するか(OAuth、 外部認可、またはその両方)、 MongoDBにデータベースユーザーを追加するか( データベース管理認可の場合)、ワークロードID プリンシパルの権限を指定します。
詳細
MongoDB ドライバーは、ワークロード Identity Federation の 2 種類の認証フロー(組み込み認証とコールバック認証)をサポートしています。
組み込み認証
サポートされているプリンシパル タイプを使用してサポートされているインフラストラクチャにアプリケーションを配置する場合は、組み込み認証を使用できます。 アプリケーションは、パスワードを指定したり、クラウドプロバイダーのメタデータサービスからJSON Web Token(JSON web token)を手動でリクエストしたりすることなく、 MongoDBクラスターにアクセスできます。 代わりに、選択したMongoDBドライバーは既存のプリンシパル識別子を使用して、アプリケーションが接続するときに自動的に Atlas クラスターに渡される、 JSON web token アクセス トークンをリクエストします。
実装は、選択した ドライバーのドキュメントを参照してください。
組み込み認証をサポートするインフラストラクチャとプリンシパルのタイプ
クラウドプロバイダー | インフラストラクチャ タイプ | プリンシパルタイプ |
---|---|---|
Google Cloud Platformプロバイダー(GCP) | コンピュート エンジン | GCP サービス アカウント |
App Engine 標準環境 | ||
App Engine の柔軟な環境 | ||
クラウド関数 | ||
Google Run | ||
Google Kubernetes Engine | ||
クラウドビルド | ||
Azure | Azure VM | Azure Managed IdP(ユーザーとシステムが割り当てられている) |
コールバック認証
OAuth 2.0 アクセス トークンをサポートしている任意のサービスでコールバック認証を使用できます。 Workload Identity Federation はコールバックメソッドを呼び出します。このメソッドでは、アプリケーションがWorkload Identity Federation を使用してMongoDBに接続するときに渡す必要があるJSON web token を、認可サーバーまたはクラウドプロバイダーからリクエストできます。