Autenticação usando Workload Identity Federation
Nesta página
A partir de 1.8.1, você pode usar mongosync
com o Atlas Workload Identity Federation para autenticar conexões com clusters do MongoDB em execução no Microsoft Azure e no Google Cloud Platform.
Exemplos
Esta seção mostra mongosync
exemplos que usam o Workload Identity Federation.
Na string de conexão ,authMechanism
MONGODB-OIDC
defina como e defina authMechanismProperties
conforme necessário:
Para o Microsoft Azure, defina
authMechanismProperties
comoENVIRONMENT:azure,TOKEN_RESOURCE:<audience>
. Observação: omitaTOKEN_RESOURCE
se estiver usando o Microsoft Azure Kubernetes Service (AKS).Para Google Cloud Platform, defina
authMechanismProperties
comoENVIRONMENT:gcp,TOKEN_RESOURCE:<audience>
.
Substitua <audience>
pelo aplicação ou serviço para o qual o token de acesso é destinado. Para obter mais detalhes, consulte Campos do fornecedor de identidade.
Para obter detalhes sobre as opções de string de conexão , consulte Opções de autenticação.
Conecte-se a clusters do MongoDB usando o serviço de metadados de instância do Microsoft Azure
O exemplo mongosync
a seguir se conecta a clusters MongoDB usando o Microsoft Azure Instance Metadata Service (IMDS):
./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"
Conecte-se a clusters do MongoDB com o serviço Microsoft Azure Kubernetes
Para se conectar a clusters do MongoDB usando o Microsoft Azure Kubernetes Service, defina estas variáveis de ambiente:
Variável de ambiente | Descrição |
---|---|
| Azure tenant identifier. |
| Identificador de cliente do aplicação Azure. |
| Identificador de cliente Azure da identidade gerenciada para autenticar com. |
| Caminho do arquivo de token federado do Azure. |
Para obter detalhes sobre o Azure e as variáveis, consulte a documentação do Microsoft Azure.
O exemplo do mongosync
a seguir define as variáveis de ambiente e se conecta a clusters 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
não é necessário para este exemplo.
Conecte-se a clusters do MongoDB no Google Cloud Platform
O exemplo do mongosync
a seguir se conecta a clusters MongoDB no Google Cloud Platform:
./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"
Nenhuma variável de ambiente é necessária para o Google Cloud Platform.