Database Tools認証
項目一覧
100.11.0 以降、Atlas Workload Identity Federation でデータベースツールを使用して、 Microsoft AzureとGoogle Cloud Platformで実行中MongoDBへの接続を認証できます。
例
このセクションでは、ワークロード Identity Federation を使用するデータベースツールの例を示します。
接続文字列で、authMechanism
をMONGODB-OIDC
に設定し、必要に応じてauthMechanismProperties
を設定します。
Microsoft Azureの場合は、
authMechanismProperties
をENVIRONMENT:azure,TOKEN_RESOURCE:<audience>
に設定します。注: Microsoft Azure Kubernetes Service(AKS)を使用している場合は、TOKEN_RESOURCE
を省略します。Google Cloud Platformの場合は、
authMechanismProperties
をENVIRONMENT:gcp,TOKEN_RESOURCE:<audience>
に設定します。
<audience>
を、アクセス トークンが対象とするアプリケーションまたはサービスに置き換えます。詳細については、「 ID プロバイダーのフィールド 」を参照してください。
Microsoft Azure Instance Metadata Service を使用したMongoDBへの接続
次の mongodump
の例では、 Microsoft Azure Instance Metadata Service(MDS)を使用してMongoDBに接続します。
mongodump --uri "mongodb://mongodb.example.com:20017/?authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:azure,TOKEN_RESOURCE:https://www.example.com" \ --username admin
Microsoft Azure Kubernetes Service を使用したMongoDBへの接続
Microsoft Azure Kubernetes Service を使用してMongoDBに接続するには、次の環境変数を定義します。
環境変数 | 説明 |
---|---|
| Azure tenant identifier. |
| Azureアプリケーションクライアント識別子です。 |
| 認証するマネージド ID のAzureクライアント識別子。 |
| Azureフェデレーティッド トークンのファイルパス。 |
Azureと変数の詳細については、 Microsoft Azureのドキュメントを参照してください。
次の mongodump
の例では、 環境変数を定義し、 MongoDBに接続します。
AZURE_TENANT_ID=08206ab8-16a0-406d-85e4-2f15f5620fac \ AZURE_APP_CLIENT_ID=b6c835da-e536-425b-9405-64bc471e245b \ AZURE_CLIENT_ID=f176d4eb-7dcd-4f66-bccf-aaa316ee61fd \ AZURE_FEDERATED_TOKEN_FILE=/var/run/secrets/azure/tokens/azure-identity-token \ mongodump --uri "mongodb://mongodb.example.com:20017/?authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:azure" \ --username "admin"
TOKEN_RESOURCE
この例では は必要ありません。
Google Cloud Platform上のMongoDBへの接続
次の mongodump
の例では、Google Cloud Platform上のMongoDBに接続しています。
mongodump --uri "mongodb://mongodb.example.com:20017/?authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:gcp,TOKEN_RESOURCE:https://www.example.com" \ --username "admin"
Google Cloud Platform環境変数は必要ありません。