Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
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 usar los ejemplos de código en esta página, reemplaza estos marcadores de posición con tus 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.

Puedes incluir las siguientes opciones de configuración de GSSAPI tanto en tu cadena de conexión como en tu 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 mongodb por defecto. Reemplace el marcador de posición <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 aprender más sobre cualquiera de los métodos o tipos tratados en esta página, consulta la siguiente documentación de la API:

Volver

LDAP (PLAIN)

En esta página