Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Autenticación OpenID Connect (OIDC)

Importante

El mecanismo de autenticación MONGODB-OIDC requiere MongoDB Server v7.0 o una versión posterior que se ejecute en una plataforma Linux.

El mecanismo de autenticación MONGODB-OIDC le permite usar tokens de OpenID Connect (OIDC) para autenticarse en MongoDB Server. El driver de C++ admite la autenticación OIDC para identidades de carga de trabajo. Una identidad de carga de trabajo es una identidad que se asigna a una carga de trabajo de software, como una aplicación, servicio, script o contenedor, para autenticar y acceder a otros servicios y recursos.

Las siguientes secciones describen cómo utilizar el mecanismo de autenticación MONGODB-OIDC para autenticarse en varias plataformas.

Tip

Más información

Para obtener más información sobre el mecanismo de autenticación MONGODB-OIDC, consulte Autenticación OpenID Connect y Parámetros del servidor de MongoDB en el manual del servidor de MongoDB.

Los ejemplos de código en esta página utilizan los siguientes marcadores de posición:

  • <hostname>: Dirección de red de su implementación de MongoDB Server

  • <client_id>: ID de cliente o ID de la aplicación de la identidad gestionada de Azure o de la aplicación empresarial

  • <token-resource>Valor del parámetro del servidor audience configurado en la implementación de MongoDB Server

Para usar los ejemplos de código en esta página, reemplaza estos marcadores de posición con tus propios valores.

Si tu aplicación se ejecuta en una VM de Azure o utiliza el Servicio de metadatos de instancia de Azure (IMDS), puedes autenticarte en MongoDB Server utilizando la funcionalidad incorporada de Azure del driver C++.

Para utilizar la autenticación de Azure IMDS, incluya los siguientes parámetros en su cadena de conexión:

  • <client_id>: Si está utilizando una identidad administrada de Azure, configúrela con el ID de cliente de la identidad administrada.

  • authMechanism: Configurado como MONGODB-OIDC

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

El siguiente ejemplo utiliza el mecanismo MONGODB-OIDC para autenticarse en 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);

Tip

Si su aplicación se ejecuta en una VM de Azure y sólo una identidad administrada está asociada a la VM, puede omitir el parámetro <client_id> de la cadena de conexión.

El driver de C++ no proporciona funcionalidad incorporada para Azure Functions o Azure App Service Environment (ASE). Para utilizar la autenticación MONGODB-OIDC de estas plataformas, complete los siguientes pasos:

1

Instale el SDK de Azure para C++.

2

Utilice el método oidc_callback() en su instancia mongocxx::options::client para definir una función de retorno que recupere un token OIDC mediante 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 obtener más información sobre cómo crear un objeto mongocxx::client en el driver de C++ o configurar las opciones del cliente, consulte la siguiente documentación de la API: