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>
替换为访问权限令牌适用的应用程序或服务。有关更多详细信息,请参阅身份提供者字段。
使用Microsoft Azure实例元数据服务连接到MongoDB
以下 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
要使用Microsoft Azure Kubernetes服务连接到MongoDB ,请定义以下环境变量:
环境变量 | 说明 |
---|---|
| Azure tenant identifier. |
| Azure应用程序客户端标识符。 |
| 要进行身份验证的托管标识的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不需要环境变量。