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 Kerberos (GSSAPI)

El mecanismo de autenticación de la API de Servicios de Seguridad Genéricos (GSSAPI) te permite usar tu nombre principal para autenticarte en un servicio de Kerberos. Solamente se puede utilizar este mecanismo al autenticar en MongoDB Enterprise Advanced.

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

  • <username>Su Codificado en URL nombre principal. Por ejemplo: "username%40REALM.ME"

  • <password>: la contraseña de tu usuario de Kerberos.

  • <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 driver utiliza el número de puerto por defecto (27017).

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

Puede especificar el mecanismo de autenticación GSSAPI y proporcionar sus credenciales de Kerberos ya sea utilizando un objeto MongoCredential o como parte de la cadena de conexión. Elija el Connection String o MongoCredential pestaña para ver la sintaxis correspondiente:

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

Tip

Omitir la contraseña

Puedes omitir el parámetro de contraseña si se cumple alguno de los siguientes:

  • En Windows, el propietario del proceso que ejecuta la aplicación es el mismo usuario que necesita autenticación.

  • En Linux, el usuario ha inicializado su keytab usando kinit username@REALM.COM.

Puede incluir las siguientes opciones de configuración de GSSAPI en su cadena de conexión o en su objeto MongoCredential.

El siguiente ejemplo muestra cómo usar el servidor DNS para recuperar el nombre de dominio completamente calificado del host:

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=CANONICALIZE_HOSTNAME:true");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
credential = credential.WithMechanismProperty("CANONICALIZE_HOST_NAME", "true");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

El siguiente ejemplo muestra cómo especificar el realm del usuario cuando es diferente del realm del servicio. Reemplaza el marcador de posición <user's realm> con el realm del usuario Kerberos.

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=SERVICE_REALM:<user's realm>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
credential = credential.WithMechanismProperty("SERVICE_REALM", "<user's realm>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

El siguiente ejemplo muestra cómo especificar el nombre del servicio cuando no es el valor predeterminado mongodb. Reemplace el marcador <service name> con el nombre del servicio.

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=SERVICE_NAME:<service name>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
credential = credential.WithMechanismProperty("SERVICE_NAME", "<service name>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

El siguiente ejemplo muestra cómo especificar múltiples propiedades del mecanismo de autenticación:

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=SERVICE_NAME:<service name>,SERVICE_REALM:<user's realm>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
credential = credential
.WithMechanismProperty("SERVICE_REALM", "<user's realm>")
.WithMechanismProperty("SERVICE_NAME", "<service name>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

Para obtener más información sobre cualquiera de los métodos o tipos analizados en esta página, consulte la siguiente documentación de API:

Volver

LDAP (PLAIN)

En esta página