Docs Menu
Docs Home
/
MongoDB Cluster-to-Cluster Sync
/

Workload Identity Federation を使用した認証

項目一覧

  • 詳細

1.8.1以降では、 mongosync Atlas Workload Identity Federationを使用して、 Microsoft AzureとGoogle Cloud Platformで実行中されているMongoDBクラスターへの接続を認証できます。

このセクションでは、ワークロード Identity Federation を使用するmongosyncの例を示します。

接続文字列で、 authMechanismMONGODB-OIDCに設定し、必要に応じてauthMechanismPropertiesを設定します。

  • Microsoft Azureの場合は、 authMechanismPropertiesENVIRONMENT:azure,TOKEN_RESOURCE:<audience>に設定します。注: Microsoft Azure Kubernetes Service(AKS)を使用している場合は、 TOKEN_RESOURCEを省略します。

  • Google Cloud Platformの場合は、 authMechanismPropertiesENVIRONMENT:gcp,TOKEN_RESOURCE:<audience>に設定します。

<audience>を、アクセス トークンが対象とするアプリケーションまたはサービスに置き換えます。詳細については、「 ID プロバイダーのフィールド 」を参照してください。

接続文字列オプションの詳細については、「認証オプション 」を参照してください。

次のmongosyncの例では、 Microsoft Azure Instance Metadata Service(MDS)を使用してMongoDBクラスターに接続します。

./bin/mongosync \
--logPath /var/log/mongosync \
--cluster0 "mongodb://clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020/?authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:azure,TOKEN_RESOURCE:https://www.example.com" \
--cluster1 "mongodb://clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020/?authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:azure,TOKEN_RESOURCE:https://www.example.com"

Microsoft Azure Kubernetes Service を使用してMongoDBクラスターに接続するには、次の環境変数を定義します。

環境変数
説明
AZURE_TENANT_ID
Azure tenant identifier.
AZURE_APP_CLIENT_ID
Azureアプリケーションクライアント識別子です。
AZURE_CLIENT_ID
認証するマネージド ID のAzureクライアント識別子。
AZURE_FEDERATED_TOKEN_FILE
Azureフェデレーティッド トークンのファイルパス。

Azureと変数の詳細については、 Microsoft Azureのドキュメントを参照してください。

次のmongosyncの例では、 環境変数を定義し、 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 \
./bin/mongosync \
--logPath /var/log/mongosync \
--cluster0 "mongodb://clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020/?authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:azure" \
--cluster1 "mongodb://clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020/?authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:azure"

TOKEN_RESOURCE この例では は必要ありません。

次のmongosyncの例では、 Google Cloud PlatformのMongoDBクラスターに接続しています。

./bin/mongosync \
--logPath /var/log/mongosync \
--cluster0 "mongodb://clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020/?authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:gcp,TOKEN_RESOURCE:https://www.example.com" \
--cluster1 "mongodb://clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020/?authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:gcp,TOKEN_RESOURCE:https://www.example.com"

Google Cloud Platform環境変数は必要ありません。

  • mongosync 動作

  • 次への接続: mongosync

  • mongosync 状態

  • mongosync API エンドポイント

  • カットオーバー プロセスの終了

戻る

正規表現

項目一覧