Docs Menu
Docs Home
/ /

Autenticación SCRAM

El mecanismo de autenticación de desafío-respuestasalado (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 codificar su contraseña, es el mecanismo de autenticación predeterminado en MongoDB Server versión 4.0 y posteriores. SCRAM-SHA-1, que utiliza el algoritmo SHA-1, es el mecanismo de autenticación predeterminado en MongoDB Server versiones anteriores a 4.0.

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 SCRAM de mecanismos de autenticación, 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 MongoDB de,SCRAM consulte SCRAM en el manual del servidor MongoDB.

SCRAM-SHA-256Según la definición de RFC,7677 cifra su nombre de usuario y contraseña con el SHA-256 algoritmo para autenticar a su usuario. Este es el mecanismo de autenticación predeterminado.

Los ejemplos de esta sección muestran cómo especificar este mecanismo de autenticación predeterminado y utilizar los siguientes valores de marcador de posición:

  • db_username:Su nombre de usuario de la base de datos MongoDB.

  • db_password:La contraseña de usuario de su base de datos MongoDB.

  • hostname:La dirección de red de su implementación de MongoDB, abierta para su cliente.

  • port:El número de puerto de su implementación de MongoDB.

  • authenticationDb: La base de datos MongoDB que contiene los datos de autenticación de su usuario. Si omite este parámetro, el driver utiliza el valor por defecto admin.

Seleccione el Connection String o la pestaña MongoCredential a continuación para obtener instrucciones y un código de muestra para especificar este mecanismo de autenticación:

Para especificar el mecanismo de autenticación por defecto mediante una cadena de conexión, omite el mecanismo, como se muestra en el siguiente ejemplo:

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

Para especificar el mecanismo de autenticación predeterminado utilizando la clase MongoCredential, utilice el método createCredential() como se muestra en el siguiente ejemplo:

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)

Como alternativa, puede especificar explícitamente el mecanismo de autenticación SCRAM-SHA-256. Seleccione la pestaña Connection String o MongoCredential a continuación para obtener instrucciones y un código de ejemplo para especificar este mecanismo de autenticación:

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 como se muestra en el siguiente ejemplo:

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

Para especificar el mecanismo de autenticación predeterminado utilizando la MongoCredential clase, utilice el método createScramSha256Credential() como se muestra en el siguiente ejemplo:

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)

SCRAM-SHA-1, según lo define RFC,5802 encripta su nombre de usuario y contraseña con el SHA-1 algoritmo para autenticar su usuario.

Los ejemplos de esta sección muestran cómo especificar este mecanismo de autenticación y utilizar los siguientes valores de marcador de posición:

  • db_username:Su nombre de usuario de la base de datos MongoDB.

  • db_password:La contraseña de usuario de su base de datos MongoDB.

  • hostname:La dirección de red de su implementación de MongoDB, abierta para su cliente.

  • port:El número de puerto de su implementación de MongoDB.

  • authenticationDb: La base de datos MongoDB que contiene los datos de autenticación de su usuario. Si omite este parámetro, el driver utiliza el valor por defecto admin.

Seleccione la pestaña Connection String o MongoCredential a continuación para obtener instrucciones y un código de muestra para especificar el mecanismo de autenticación SCRAM-SHA-1:

Para especificar el mecanismo de autenticación SCRAM-SHA-1 mediante una cadena de conexión, asigne al parámetro authMechanism el valor SCRAM-SHA-1 en su cadena de conexión como se muestra en el siguiente ejemplo:

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

Para especificar el mecanismo de autenticación predeterminado utilizando la MongoCredential clase, utilice el método createScramSha1Credential() como se muestra en el siguiente ejemplo:

val credential = MongoCredential.createScramSha1Credential(
"<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)

Para obtener más información sobre la autenticación en MongoDB, consulte Autenticación en el manual del servidor MongoDB.

Para obtener más información sobre cómo crear un objeto MongoClient mediante el controlador Kotlin Sync, consulte la Crear una guía de MongoClient.

Volver

Autenticación

En esta página