Docs 菜单

Database Tools身份验证

在此页面上

从100.11.0 开始,您可以将数据库工具与Atlas Workload Identity Federation 结合使用,对与在Microsoft Azure和Google Cloud Platform上运行的MongoDB的连接进行身份验证。

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

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

环境变量
说明

AZURE_TENANT_ID

Azure tenant identifier.

AZURE_APP_CLIENT_ID

Azure应用程序客户端标识符。

AZURE_CLIENT_ID

要进行身份验证的托管标识的Azure客户端标识符。

AZURE_FEDERATED_TOKEN_FILE

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

以下 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不需要环境变量。

在此页面上