Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Protege tus datos

MongoDB es compatible con múltiples mecanismos que puedes usar para autenticar tu aplicación. Esta página contiene ejemplos de código que muestran cada uno de estos mecanismos.

Tip

Para aprender más sobre cualquiera de los mecanismos que aparecen en esta página, consulta el enlace proporcionado en cada sección.

Para utilizar un ejemplo de autenticación de esta página, copie el ejemplo de código en el aplicación de muestra o su propia aplicación. Asegúrate de reemplazar todos los marcadores de posición en los ejemplos de código, tales 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 controlador C.

  2. Copia el siguiente código y pégalo en un nuevo archivo .c.

  3. Copia un ejemplo de código de esta página y pégalo en las líneas especificadas del archivo.

1#include <mongoc/mongoc.h>
2#include <bson/bson.h>
3
4int main(void) {
5
6 mongoc_uri_t* uri = NULL;
7 mongoc_client_t *client = NULL;
8 mongoc_database_t *database = NULL;
9 bson_t *ping = NULL, reply = BSON_INITIALIZER;
10 bson_error_t error;
11
12 mongoc_init();
13
14 // Start example code here
15
16 // End example code here
17
18 if (!client) {
19 fprintf(stderr, "client initialization failure\n");
20 goto cleanup;
21 }
22
23 database = mongoc_client_get_database(client, "admin");
24
25 ping = BCON_NEW("ping", BCON_INT32(1));
26
27 if (!mongoc_client_command_simple(client, "admin", ping, NULL, &reply, &error)) {
28 fprintf(stderr, "%s\n", error.message);
29 goto cleanup;
30 }
31 printf("Pinged your deployment. You successfully connected to MongoDB!\n");
32
33 cleanup:
34 bson_destroy(&reply);
35 bson_destroy(ping);
36 mongoc_database_destroy(database);
37 mongoc_client_destroy(client);
38 mongoc_uri_destroy(uri);
39 mongoc_cleanup();
40}

El siguiente código muestra cómo autenticar utilizando el mecanismo de autenticación SCRAM-SHA-256:

const char *uri = "mongodb://<percentEncodedUsername>:<percentEncodedPassword>@<hostname>:<port>/?authMechanism=SCRAM-SHA-256&authSource=<authenticationDatabase>";
mongoc_client_t *client = mongoc_client_new(uri);

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

El siguiente código muestra cómo autenticar utilizando el mecanismo de autenticación SCRAM-SHA-1:

const char *uri = "mongodb://<percentEncodedUsername>:<percentEncodedPassword>@<hostname>:<port>/?authMechanism=SCRAM-SHA-1&authSource=<authenticationDatabase>";
mongoc_client_t *client = mongoc_client_new(uri);

Para saber más sobre la autenticación SCRAM-SHA-1, consulta SCRAM-SHA-1 en la guía de Autenticación.

El siguiente código muestra cómo crear un URI de conexión para autenticarse utilizando el mecanismo de autenticación X.509:

mongoc_client_t *client;
mongoc_ssl_opt_t ssl_opts = {0};
ssl_opts.pem_file = "mycert.pem";
const char *uri = "mongodb://<percentEncodedUsername>@<hostname>:<port>/?authMechanism=MONGODB-X509";
mongoc_client_t *client = mongoc_client_new(uri);
mongoc_client_set_ssl_opts(client, &ssl_opts);

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

Las siguientes secciones muestran cómo conectarse a MongoDB utilizando el mecanismo de autenticación MONGODB-AWS. Cuando usas el mecanismo MONGODB-AWS, el controlador C intenta recuperar tus credenciales de AWS de las siguientes fuentes, en el orden indicado:

  1. Parámetros nombrados pasados a la URI de conexión

  2. Variables de entorno

  3. Solicitud AssumeRoleWithWebIdentity de AWS EKS

  4. Metadatos de contenedor ECS

  5. Metadatos de la instancia EC2

Cada sección muestra cómo autenticar con MONGODB-AWS al recuperar tus credenciales de AWS desde un URI de conexión o las fuentes externas alternativas.

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 pasar credenciales de AWS en una URI de conexión para autenticarse con MONGODB-AWS:

const char *uri = "mongodb://<awsIamAccessKeyId>:<awsIamSecretAccessKey>@<hostname>:<port>/?authMechanism=MONGODB-AWS";
mongoc_client_t *client = mongoc_client_new(uri);

Para obtener más información sobre cómo autenticarse con AWS recuperando credenciales de URI de conexión, consulte URI de conexión en la guía de Autenticación.

El siguiente código muestra cómo autenticarse con MONGODB-AWS al obtener credenciales de variables de entorno, metadatos de ECS o metadatos de instancia EC2:

const char *uri = "mongodb://<hostname>:<port>/?authMechanism=MONGODB-AWS";
mongoc_client_t *client = mongoc_client_new(uri);

Para obtener más información sobre la autenticación con AWS mediante la obtención de credenciales externas, consulta las siguientes secciones en la guía de Autenticación:

Volver

Flujos de cambio

En esta página