Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Autenticação do OpenID Connect (OIDC)

Importante

O mecanismo de autenticação do MONGODB-OIDC exige MongoDB Server v7.0 ou posterior executando em uma plataforma Linux.

O mecanismo de autenticação MONGODB-OIDC permite que você use tokens OpenID Connect (OIDC) para autenticar no MongoDB Server. O driver C++ oferece suporte à autenticação OIDC para identidades de carga de trabalho. Uma identidade de carga de trabalho é uma identidade que você atribui a uma carga de trabalho de software, como um aplicativo, serviço, script ou contêiner, para autenticar e acessar outros serviços e recursos.

As seções a seguir descrevem como usar o mecanismo de autenticação MONGODB-OIDC para autenticar em várias plataformas.

Dica

MAIS INFORMAÇÕES

Para saber mais sobre o mecanismo de autenticação MONGODB-OIDC, consulte Autenticação do OpenID Connect e Parâmetros do MongoDB Server no manual do MongoDB Server.

Os exemplos de código nesta página usam os seguintes espaços reservados:

  • <hostname>: Endereço de rede da sua implantação do MongoDB Server

  • <client_id>ID do cliente ou ID do aplicativo de sua identidade gerenciada pelo Azure ou aplicativo empresarial

  • <token-resource>: Valor do parâmetro de servidor audience configurado em sua implantação do MongoDB Server

Para usar os exemplos de código nesta página, substitua esses espaços reservados por seus próprios valores.

Se o seu aplicativo for executado em uma VM do Azure ou usar o Serviço de Metadados de Instância do Azure (IMDS), você poderá autenticar no MongoDB Server usando o suporte integrado do driver C++ da Azure.

Para usar a autenticação do Azure IMDS, inclua os seguintes parâmetros em sua string de conexão:

  • <client_id>Se você estiver usando uma identidade gerenciada pelo Azure, defina-a como a ID do cliente da identidade gerenciada

  • authMechanism: Definido como MONGODB-OIDC

  • authMechanismProperties: Definido como ENVIRONMENT:azure,TOKEN_RESOURCE:<token-resource>

O exemplo a seguir usa o mecanismo MONGODB-OIDC para autenticar no MongoDB Server:

auto instance = mongocxx::instance();
auto uri = mongocxx::uri(
"mongodb+srv://<client_id>@<hostname>/"
"?authMechanism=MONGODB-OIDC"
"&authMechanismProperties=ENVIRONMENT:azure,"
"TOKEN_RESOURCE:<token-resource>");
auto client = mongocxx::client(uri);

Dica

Se seu aplicativo estiver em execução em uma VM do Azure e somente uma identidade gerenciada estiver associada à VM, você poderá omitir o parâmetro <client_id> da string de conexão.

O driver C++ não oferece suporte integrado para Azure Functions ou Azure App Service Environment (ASE). Para usar a autenticação MONGODB-OIDC dessas plataformas, conclua as seguintes etapas:

1

Instale o Azure SDK para C++.

2

Use o método oidc_callback() em sua instância mongocxx::options::client para definir uma chamada de resposta que recupera um token OIDC usando Azure::Identity::DefaultAzureCredential:

auto instance = mongocxx::instance();
auto uri = mongocxx::uri("mongodb+srv://<client_id>@<hostname>/"
"?authMechanism=MONGODB-OIDC");
auto opts = mongocxx::options::client{};
opts.oidc_callback([](const mongocxx::oidc_callback_params &) {
Azure::Identity::DefaultAzureCredential credential;
Azure::Core::Credentials::TokenRequestContext token_request_ctx;
token_request_ctx.Scopes = {"<token-resource>/.default"};
auto access_token =
credential.GetToken(token_request_ctx, Azure::Core::Context{});
return mongocxx::oidc_credential(access_token.Token);
});
auto client = mongocxx::client(uri, opts);

Para saber mais sobre como criar um objeto mongocxx::client no driver C++ ou configurar opções de cliente, consulte a seguinte documentação da API: