Docs 菜单
Docs 主页
/
MongoDB Cluster-to-Cluster Sync
/

使用 Workload Identity Federation 进行身份验证

在此页面上

  • 示例
  • 了解详情

从 1.8.1 开始,您可以将mongosync Atlas Workload Identity Federation 结合使用,对与在Microsoft Azure和Google Cloud Platform上运行的MongoDB集群的连接进行身份验证。

本部分显示使用 Workload Identity Federation 的 mongosync 示例。

string在连接字符串中,设立authMechanism MONGODB-OIDCauthMechanismProperties设置为 ,并根据需要设立 :

  • 对于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> 替换为访问权限令牌适用的应用程序或服务。有关更多详细信息,请参阅身份提供者字段。

string有关连接字符串选项的详细信息,请参阅身份验证选项。

以下 mongosync示例使用Microsoft Azure实例元数据服务 (IMDS) 连接到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服务连接到MongoDB集群,请定义以下环境变量:

环境变量
说明
AZURE_TENANT_ID
Azure tenant identifier.
AZURE_APP_CLIENT_ID
Azure应用程序客户端标识符。
AZURE_CLIENT_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 端点

  • 完成切换进程

后退

正则表达式

在此页面上