Docs Menu
Docs Home
/ /

SCRAM

El Mecanismo de Autenticación por 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 que utiliza el256 algoritmo SHA- para cifrar la contraseña, es el mecanismo de autenticación predeterminado en MongoDB Server versión 4.0 y posteriores. SCRAM-SHA-,1 que utiliza el1 algoritmo SHA-, es el mecanismo de autenticación predeterminado en MongoDB Server versiones anteriores 4.0 a.

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 mecanismo de autenticación de desafío-respuesta salado 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:

  • +srvIncluya esta opción en el prefijo de la cadena de conexión solo si se conecta a un clúster de MongoDB Atlas. Para obtener más información sobre la +srv opción, consulte "Formatos de cadena de conexión" en el manual de MongoDB Server.

  • <db_username>:El nombre de usuario de MongoDB del usuario que se va a autenticar.

  • <db_password>:La contraseña de MongoDB del usuario a 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.

  • <authenticationDb>La base de datos MongoDB que contiene los datos de autenticación del usuario. Si se omite este parámetro, el controlador usa el valor predeterminado, admin.

  • <authenticationMechanism>:Establecer en SCRAM-SHA-1 o SCRAM-SHA-256.

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

Importante

Codificación porcentual

Debes codificar porcentualmente un nombre de usuario y contraseña antes de incluirlos en una URI de MongoDB. El método quote_plus(), disponible en el urllib.parse módulo, es una forma de realizar esta tarea. Por ejemplo, al llamar a quote_plus("and / or") se devuelve la string and+%2F+or.

No codifique en porcentaje el nombre de usuario ni la contraseña al pasarlos como argumentos a MongoClient.

Para usar SCRAM para la autenticación, configure la opción de conexión authMechanism en SCRAM-SHA-1 o SCRAM-SHA-256. Puede configurar esta opción de dos maneras: pasando un argumento al constructor MongoClient o mediante un parámetro en su cadena de conexión.

client = pymongo.MongoClient("mongodb[+srv]://<hostname>:<port>",
username="<db_username>",
password="<db_password>",
authSource="<authenticationDb>",
authMechanism="<authenticationMechanism>")
uri = ("mongodb[+srv]://<percent-encoded db_username>:<percent-encoded db_password>"
"@<hostname>:<port>/?"
"authSource=<authenticationDb>"
"&authMechanism=<authenticationMechanism>")
client = pymongo.MongoClient(uri)
client = pymongo.AsyncMongoClient("mongodb[+srv]://<hostname>:<port>",
username="<db_username>",
password="<db_password>",
authSource="<authenticationDb>",
authMechanism="<authenticationMechanism>")
uri = ("mongodb[+srv]://<percent-encoded db_username>:<percent-encoded db_password>"
"@<hostname>:<port>/?"
"authSource=<authenticationDb>"
"&authMechanism=<authenticationMechanism>")
client = pymongo.AsyncMongoClient(uri)

Para obtener más información sobre cómo autenticar su aplicación en PyMongo, consulte la siguiente documentación de API:

Volver

Autenticación

En esta página