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
/ /
/ / /

Autenticación SCRAM

Mecanismo de Autenticación por Desafío 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 el algoritmo SHA-256 para hashear tu contraseña, es el mecanismo de autenticación por defecto en MongoDB versión de servidor 4.0 y posteriores.

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, consulta RFC 5802 y Mecanismo de Autenticación por Desafío con Sal 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 en esta página utilizan los siguientes marcadores de posición:

  • db_username - su nombre de usuario de bases de datos MongoDB.

  • db_password - la contraseña de usuario de su base de datos MongoDB.

  • hostname - dirección de red de su servidor MongoDB, accesible por su cliente.

  • port - número de puerto de tu servidor MongoDB.

  • authenticationDb - Base de datos MongoDB que contiene los datos de autenticación de los usuarios. Si omites este parámetro, el driver utilizará el valor por defecto admin.

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

Selecciona el Connection String o la pestaña MongoCredential a continuación para obtener instrucciones y código de muestra para especificar el mecanismo de autenticación SCRAM-SHA-256.

Para especificar el mecanismo de autenticación predeterminado usando una cadena de conexión, omita el mecanismo. Tu código para instanciar un MongoClient debe asemejarse al siguiente:

val mongoClient =
MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>")

Para especificar el mecanismo de autenticación por defecto utilizando la clase MongoCredential, use el método createCredential(). Su código para instanciar un MongoClient debe parecerse al siguiente:

val credential = MongoCredential.createCredential(
"<db_username>", "<authenticationDb>", "<db_password>".toCharArray()
)
val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder: ClusterSettings.Builder ->
builder.hosts(
listOf(ServerAddress("<hostname>", "<port>"))
)
}
.credential(credential)
.build()
val mongoClient = MongoClient.create(settings)

También puede especificar explícitamente el mecanismo de autenticación SCRAM-SHA-256, como se muestra en los siguientes fragmentos de código:

Para especificar el mecanismo de autenticación SCRAM-SHA-256 mediante una cadena de conexión, asigne al parámetro authMechanism el valor SCRAM-SHA-256 en su cadena de conexión. El código para instanciar un MongoClient debería ser similar al siguiente:

val mongoClient =
MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=SCRAM-SHA-256")

Para especificar el mecanismo de autenticación predeterminado mediante la MongoCredential clase, utilice el método createScramSha256Credential(). El código para instanciar un MongoClient debería ser similar al siguiente:

val credential = MongoCredential.createScramSha256Credential(
"<db_username>", "<authenticationDb>", "<db_password>".toCharArray()
)
val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder: ClusterSettings.Builder ->
builder.hosts(
listOf(ServerAddress("<hostname>", "<port>"))
)
}
.credential(credential)
.build()
val mongoClient = MongoClient.create(settings)

Volver

Autenticación

En esta página