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
/ /

Mecanismo de 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.

Nota

El controlador de Node.js soporta Kerberos en UNIX usando la librería MIT Kerberos y en Windows usando la API SSPI.

La GSSAPI El mecanismo de autenticación utiliza tu usuario principal para autenticarse en un servicio de 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.

  • Establece el valor SERVICE_NAME en el parámetro authMechanismProperties si se utiliza un valor diferente al 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: (por defecto) No realiza la canonización de nombres de host

    • forward: Realiza una búsqueda directa de DNS para solucionar el hostname

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

Importante

El parámetro gssapiServiceName está obsoleto y puede eliminarse en futuras versiones del controlador. En su lugar, utiliza authMechanismProperties=SERVICE_NAME:<your service name> en el URI de conexión. Para obtener más información sobre las opciones de autenticación para una cadena de conexión, consulta 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 se refiere al mecanismo de autenticación GSSAPI en lugar de Kerberos porque el driver se autentica mediante 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