Docs Menu
Docs Home
/ /

Mecanismo de autenticación Kerberos (GSSAPI)

El mecanismo de autenticación de la API de Servicios de Seguridad Genéricos (GSSAPI) le permite usar su nombre principal para autenticarse en un servicio Kerberos. Este mecanismo solo se puede usar al autenticarse en MongoDB Enterprise Advanced.

Nota

El controlador Node.js admite Kerberos en UNIX utilizando la biblioteca MIT Kerberos y en Windows utilizando la API SSPI.

El GSSAPI El mecanismo de autenticación utiliza su principal de usuario para autenticarse en un servicio Kerberos.

Puede especificar este mecanismo de autenticación realizando las siguientes acciones mientras especifica las opciones en su cadena de conexión:

  • Establezca el parámetro authMechanism en GSSAPI.

  • Establezca el valor SERVICE_NAME en el parámetro authMechanismProperties si utiliza un valor distinto de mongodb.

  • Especifique un valor SERVICE_REALM en el parámetro authMechanismProperties si se requiere un ámbito de servicio personalizado.

  • Especifique un valor CANONICALIZE_HOST_NAME en el parámetro authMechanismProperties si se requiere la canonización del nombre de host. Esta propiedad acepta los siguientes valores:

    • none: (Predeterminado) No realiza la canonización del nombre de host

    • forward:Realiza una búsqueda DNS directa para canonizar el nombre de host

    • forwardAndReverse:Realiza una búsqueda DNS directa y luego una búsqueda inversa de ese valor para canonizar el nombre de host.

Importante

El gssapiServiceName parámetro está obsoleto y podría eliminarse en futuras versiones del authMechanismProperties=SERVICE_NAME:<your service name> controlador. En su lugar, utilice en la URI de conexión. Para obtener más información sobre las opciones de autenticación para una cadena de conexión, consulte la sección "Opciones de autenticación" de la referencia "Opciones de cadena de conexión" en el Manual del servidor.

El siguiente ejemplo de código se autentica en Kerberos para UNIX usando GSSAPI.

Importante

Siempre codifique URI el principal usando el método encodeURIComponent para garantizar que se analice correctamente.

const { MongoClient } = require("mongodb");
// Replace the placeholder values with the values for your environment in the following lines
const clusterUrl = "<cluster_url>";
const principal = encodeURIComponent("<Kerberos principal and realm>");
const serviceRealm = "<Kerberos service realm>";
const canonicalizationSetting = "<canonicalization setting>";
const authMechanismProperties = `SERVICE_REALM:${serviceRealm},CANONICALIZE_HOST_NAME:${canonicalizationSetting}`;
const authMechanism = "GSSAPI";
// Connection URI
const uri = `mongodb+srv://${principal}@${clusterUrl}/?authMechanism=${authMechanism}&authMechanismProperties=${authMechanismProperties}`;
const client = new MongoClient(uri);
// Function to connect to the server
async function run() {
try {
// Establish and verify connection
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully to server");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

Nota

El método hace referencia al GSSAPI mecanismo de autenticación en lugar de Kerberos porque el controlador se autentica a través de GSSAPI RFC-,4652 el mecanismo SASL.

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