Docs Menu
Docs Home
/ /

Autenticación SCRAM

El mecanismo de autenticación de desafío-respuesta con sal(SCRAM) es una familia de mecanismos de autenticación que utilizan un mecanismo de desafío-respuesta para autenticar al usuario. SCRAM-SHA-, 256 según lo definido por RFC,7677 que utiliza el256 algoritmo SHA- para codificar su contraseña, es el mecanismo de autenticación predeterminado para implementaciones que ejecutan MongoDB v..4 0 o posterior. SCRAM-SHA-,1 según lo definido por 5802RFC, es compatible con implementaciones que ejecutan MongoDB v...36

Puede utilizar SCRAM para autenticarse en MongoDB Atlas, MongoDB Enterprise Advanced y MongoDB Community Edition.

Tip

Mecanismos SCRAM

Para obtener más información sobre la familia de mecanismos de autenticación SCRAM, consulte RFC 5802 y Salted Challenge Response Authentication Mechanism en Wikipedia.

Para obtener más información sobre la implementación de SCRAM de MongoDB, consulte SCRAM en el manual del servidor MongoDB.

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

  • <db_username>:El nombre de usuario de la base de datos MongoDB del usuario que se autenticará.

  • <db_password>:La contraseña de la base de datos MongoDB del usuario que se autenticará.

  • <hostname>: La dirección de red de tu implementación de MongoDB.

  • <port>: El número de puerto de tu implementación de MongoDB. Si omites este parámetro, el controlador utilizará el número de puerto por defecto (27017). No necesitas un número de puerto al conectarte a un clúster de MongoDB Atlas.

Para utilizar los ejemplos de código en esta página, reemplace estos marcadores de posición con sus propios valores.

Para usar SCRAM para autenticar su usuario de MongoDB, especifique su nombre de usuario y contraseña de MongoDB en la URI de conexión junto con los parámetros authSource y authMechanism. Los ejemplos de esta página utilizan authSource=admin, que es la base de datos de autenticación predeterminada, y establecen authMechanism como SCRAM-SHA-256 o SCRAM-SHA-1.

Puedes conectarte de las siguientes maneras:

  • Usando solo una URI de conexión

  • Mediante el uso de una URI de conexión con opciones de seguridad de la capa de transporte (TLS) configuradas en un objeto mongocxx::options::client

Las siguientes pestañas muestran ejemplos de SCRAM-SHA-256 y SCRAM-SHA-1, tanto para conexiones TLS como sin TLS. Seleccione la pestaña que coincida con el mecanismo de autenticación y el método de conexión que desee utilizar.

auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authSource=admin&authMechanism=SCRAM-SHA-256");
auto client = mongocxx::client(uri);
mongocxx::options::client client_options;
mongocxx::options::tls tls_options;
tls_options.pem_file("path/to/ca-or-client.pem");
client_options.tls_opts(tls_options);
auto uri = mongocxx::uri(
"mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authSource=admin&authMechanism=SCRAM-SHA-256&tls=true");
auto client = mongocxx::client(uri, client_options);
auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authSource=admin&authMechanism=SCRAM-SHA-1");
auto client = mongocxx::client(uri);
mongocxx::options::client client_options;
mongocxx::options::tls tls_options;
tls_options.pem_file("path/to/ca-or-client.pem");
client_options.tls_opts(tls_options);
auto uri = mongocxx::uri(
"mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authSource=admin&authMechanism=SCRAM-SHA-1&tls=true");
auto client = mongocxx::client(uri, client_options);

Para obtener más información sobre cómo crear un objeto mongocxx::client en el controlador C++, consulte la siguiente documentación de API:

Volver

Autenticación

En esta página