Docs Menu
Docs Home
/ /
/ / /

Autenticación 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 el servidor MongoDB versión 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, 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:

  • 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 - dirección de red de su servidor MongoDB, accesible para su cliente.

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

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

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

Seleccione 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 mediante una cadena de conexión, omítalo. 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>")

Para especificar el mecanismo de autenticación predeterminado mediante la clase MongoCredential, utilice el método createCredential(). El código para instanciar un MongoClient debería ser similar 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