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.

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

  • kerberos_principal: Tu principal de Kerberos. Un nombre de usuario de muestra es myuser@KERBEROS.EXAMPLE.COM.

  • password: La contraseña del usuario Kerberos. También se puede almacenar la contraseña en un archivo keytab para evitar exponerla en el código.

  • connection_uri: Su URI de cadena de conexión.

Debes utilizar el gssapi etiqueta de compilación y especificar soporte para cgo durante la compilación para usar la autenticación Kerberos. cgo el soporte está habilitado por defecto a menos que hayas configurado previamente variables de entorno para compilación cruzada en una plataforma diferente. Para usar la etiqueta de compilación gssapi, compile su código con el siguiente comando:

go build -tags gssapi

El siguiente código muestra cómo puedes definir una estructura Credential para autenticarte en Kerberos y crear un cliente con tus preferencias de autenticación:

credential := options.Credential{
AuthMechanism: "GSSAPI",
Username: "<kerberos_principal>",
Password: "<password>",
PasswordSet: true,
}
uri := "<connection_uri>"
clientOpts := options.Client().ApplyURI(uri).SetAuth(credential)
client, err := mongo.Connect(clientOpts)

Puede omitir una contraseña o el campo PasswordSet en su estructura Credential si almacena las claves de autenticación en archivos keytab. Puedes inicializar un caché de credenciales para autenticar el principal de Kerberos utilizando el binario kinit. Para aprender más sobre el binario kinit, consulta la documentación de Oracle.

El siguiente comando muestra cómo puedes invocar un caché de credenciales para un nombre de usuario de muestra:

kinit myuser@KERBEROS.EXAMPLE.COM

También puede autenticarse utilizando un URI de cadena de conexión, especificando su URL codificado Kerberos principal, la contraseña y hostname, la dirección de red del servidor MongoDB:

uri := "mongodb://<kerberos_principal>:<password>@<hostname>/?authMechanism=GSSAPI"

Puede especificar más propiedades con su mecanismo de autenticación mediante el campo AuthMechanismProperties en la estructura Credential. El nombre de servicio predeterminado para Kerberos es "mongodb". El siguiente código muestra cómo establecer valores personalizados para los campos SERVICE_NAME y SERVICE_REALM al definir una estructura Credential:

credential := options.Credential{
AuthMechanism: "GSSAPI",
Username: "<kerberos_principal>",
Password: "<password>",
AuthMechanismProperties: map[string]string{
"SERVICE_REALM": "<kerberos_service_realm>",
"SERVICE_NAME": "<service_name>",
},
}

Para más propiedades, consulta la entrada del manual del servidor sobre propiedades de autenticación.

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