Docs Menu
Docs Home
/ /

Protege tus datos

MongoDB admite varios mecanismos para autenticar su aplicación. Esta página contiene ejemplos de código que demuestran cada uno de estos mecanismos.

Tip

Para obtener más información sobre cualquiera de los mecanismos de autenticación en esta página, consulte la Páginas de Mecanismos de autenticación y Mecanismos de autenticación empresarial.

Para utilizar un ejemplo de autenticación de esta página, copie el ejemplo de código en el Aplicación de ejemplo o su propia aplicación. Asegúrese de reemplazar todos los marcadores de posición en los ejemplos de código, como <hostname>, con los valores relevantes para su implementación de MongoDB.

Puede utilizar la siguiente aplicación de muestra para probar los ejemplos de código en esta página. Para usar la aplicación de muestra, siga los siguientes pasos:

  1. Asegúrate de tener instalado el driver C++ en una ubicación desde la que tu Proyecto pueda importarlo.

  2. Copie el siguiente código y péguelo en un nuevo archivo .cpp dentro de su proyecto.

  3. Copie un ejemplo de código de esta página y péguelo dentro de la sección resaltada del archivo.

1#include <bsoncxx/json.hpp>
2
3#include <mongocxx/client.hpp>
4#include <mongocxx/exception/exception.hpp>
5#include <mongocxx/instance.hpp>
6#include <mongocxx/uri.hpp>
7
8#include <iostream>
9
10int main()
11{
12 mongocxx::instance instance;
13
14 try
15 {
16 // Start example code here
17
18 // End example code here
19
20 auto admin = client["admin"];
21 admin.run_command(bsoncxx::from_json(R"({ "ping": 1 })"));
22
23 std::cout << "Successfully pinged the MongoDB server." << std::endl;
24 }
25 catch (const mongocxx::exception &e)
26 {
27 std::cout << "An exception occurred: " << e.what() << std::endl;
28 return EXIT_FAILURE;
29 }
30
31 return EXIT_SUCCESS;
32}

El siguiente código muestra cómo crear una URI de conexión para autenticar mediante el mecanismo de autenticación SCRAM-SHA-256:

auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authSource=admin&authMechanism=SCRAM-SHA-256");
auto client = mongocxx::client(uri);

Para obtener más información sobre256 la autenticación SCRAM-SHA-,consulte SCRAM-SHA-256 en la guía de autenticación.

El siguiente código muestra cómo crear una URI de conexión para autenticar mediante el mecanismo de autenticación SCRAM-SHA-1:

auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authSource=admin&authMechanism=SCRAM-SHA-1");
auto client = mongocxx::client(uri);

Para obtener más información sobre1 la autenticación SCRAM-SHA-,consulte SCRAM-SHA-1 en la guía de autenticación.

El siguiente código muestra cómo crear una URI de conexión para autenticar mediante el mecanismo de autenticación X.509:

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"tls=true&tlsCertificateKeyFile=path/to/client.pem&authMechanism=MONGODB-X509");
auto client = mongocxx::client(uri);

Para obtener más información sobre509 la autenticación X.,consulte MONGODB X.509 en la guía de autenticación.

Las siguientes secciones muestran cómo conectarse a MongoDB mediante el mecanismo de autenticación MONGODB-AWS. Al usar el mecanismo MONGODB-AWS, el controlador de C++ intenta recuperar sus credenciales de AWS de las siguientes fuentes, en el orden indicado:

  1. Parámetros con nombre pasados ​​a la URI de conexión

  2. Variables de entorno

  3. Solicitud AssumeRoleWithWebIdentity de AWS EKS

  4. Metadatos del contenedor ECS

  5. Metadatos de la instancia EC2

Cada sección muestra cómo crear la URI de conexión para autenticarse con MONGODB-AWS al recuperar sus credenciales de AWS de la fuente especificada.

Para obtener más información sobre la autenticación con AWS, consulte MONGODB-AWS en la guía de autenticación.

El siguiente código muestra cómo crear una URI de conexión que incluye credenciales de AWS para autenticarse con MONGODB-AWS:

auto uri = mongocxx::uri("mongodb://<AWS IAM access key ID>:<AWS IAM secret access key>@<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

El siguiente código muestra cómo crear una URI de conexión para autenticarse con MONGODB-AWS al obtener credenciales de variables de entorno. Asegúrese de haber especificado las variables de entorno antes de ejecutar este código.

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

Para obtener más información sobre cómo autenticarse con AWS mediante el uso de variables de entorno, consulte Variables de entorno.

El siguiente código muestra cómo crear una URI de conexión para autenticarse con MONGODB-AWS al obtener credenciales de una solicitud AssumeRoleWithWebIdentity. Asegúrese de que exista un archivo de configuración de AWS en su entorno y que esté configurado con las variables de entorno AWS_WEB_IDENTITY_TOKEN_FILE y AWS_ROLE_ARN.

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

Para obtener más información sobre cómo autenticarse con AWS mediante una AssumeRoleWithWebIdentity solicitud, consulte Solicitud AssumeRoleWithWebIdentity.

El siguiente código muestra cómo crear una URI de conexión para autenticarse con MONGODB-AWS al obtener credenciales de los metadatos de ECS. Asegúrese de especificar la URI del punto final de ECS en una variable de entorno llamada AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

Para obtener más información sobre cómo autenticarse con AWS mediante metadatos de ECS, consulte Metadatos de ECS.

El siguiente código muestra cómo crear una URI de conexión para autenticarse con MONGODB-AWS al obtener credenciales de los metadatos de la instancia EC2. Asegúrese de configurar su instancia EC2 con sus credenciales temporales.

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

Para obtener más información sobre cómo autenticarse con AWS mediante el uso de2 metadatos de instancia EC, consulte Metadatos de2 instancia EC.

Nota

Solo MongoDB Enterprise

La autenticación Kerberos solo está disponible en MongoDB Enterprise.

El siguiente código muestra cómo crear una URI de conexión para autenticarse con Kerberos:

auto uri = mongocxx::uri("mongodb://<Kerberos principal>@<hostname>:<port>/?"
"authMechanism=GSSAPI"
"&authMechanismProperties=SERVICE_NAME:<authentication service name>");
auto client = mongocxx::client(uri);

Para obtener más información sobre la autenticación con Kerberos, consulte Kerberos en la guía de autenticación empresarial.

Nota

Solo MongoDB Enterprise

La autenticación SASL SIMPLE solo está disponible en MongoDB Enterprise.

El siguiente código muestra cómo crear una URI de conexión para autenticarse con PLAIN SASL:

auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authMechanism=PLAIN&tls=true");
auto client = mongocxx::client(uri);

Para obtener más información sobre la autenticación con PLAIN SASL, consulte PLAIN SASL en la guía de autenticación empresarial.

Volver

Ejecute un comando

En esta página