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)

Nota

La autenticación GSSAPI está disponible únicamente en la edición MongoDB Enterprise Edition.

El mecanismo de autenticación de la Interfaz de Programación de Aplicaciones de Servicios de Seguridad Genéricos (GSSAPI) te permite utilizar tu nombre principal de Kerberos para autenticarte en una implementación de MongoDB configurada para autenticación Kerberos.

Para usar Kerberos desde el controlador C++, tu implementación de MongoDB debe estar previamente configurada para la autenticación Kerberos, y el host de tu aplicación debe poder obtener credenciales Kerberos.

El ejemplo de código en esta página utiliza los siguientes marcadores de posición:

  • <kerberos_principal>: Su principal de Kerberos para autenticarse.

  • <hostname>Un nombre de dominio completamente calificado (FQDN) de un host mongod o mongos en tu implementación. Kerberos requiere FQDN en lugar de direcciones IP o nombres cortos de hosts para una correcta resolución del realm.

  • <port>Número de puerto de su implementación de MongoDB. Si omite este parámetro, MongoDB utiliza el número de puerto por defecto (27017).

Para usar el ejemplo de código en esta página, reemplace estos marcadores de posición por sus propios valores.

Nota

Cuando incorpores <kerberos_principal> en un URI de conexión a MongoDB, debes codificar por porcentaje el carácter @ como %40.

Antes de poder utilizar el mecanismo de autenticación Kerberos con el driver de C++, debes configurar la implementación de MongoDB para utilizar Kerberos. Para configurar tu implementación, consulta la Documentación del protocolo Kerberos en MongoDB Server y completar los pasos que se describen allí.

Nota

Para autenticarse con GSSAPI, debes compilar el controlador C de MongoDB con soporte para SASL. Si está construyendo el controlador desde la fuente, puede habilitar el soporte SASL con la opción ENABLE_SASL cmake.

Después de configurar la implementación, completa los siguientes pasos para autenticarte utilizando GSSAPI:

1

En entornos Unix, primero debes ejecutar el comando kinit para obtener y almacenar en caché un ticket inicial de concesión de tickets. Si trabajas en un entorno Windows, puedes pasar al siguiente paso.

El siguiente ejemplo usa el comando kinit para obtener un ticket de concesión de tickets para el principal mongodbuser@EXAMPLE.COM. A continuación, utiliza el comando klist para mostrar el usuario principal y el ticket en la caché de credenciales.

$ kinit mongodbuser@EXAMPLE.COM
mongodbuser@EXAMPLE.COM's Password:
$ klist
Credentials cache: FILE:/tmp/krb5cc_1000
Principal: mongodbuser@EXAMPLE.COM
Issued Expires Principal
Feb 9 13:48:51 2013 Feb 9 23:48:51 2013 krbtgt/mongodbuser@EXAMPLE.COM
2

A continuación, establezca las siguientes opciones de conexión:

  • kerberos_principal: El principal de Kerberos para autenticar.

  • authMechanism: Establecer en "GSSAPI".

  • authMechanismProperties: opcional. Por defecto, MongoDB utiliza mongodb como nombre del servicio de autenticación. Para especificar un nombre de servicio diferente, configure esta opción en "SERVICE_NAME: <authentication service name>".

Puedes establecer estas opciones mediante parámetros en tu URI de conexión, como se muestra en el siguiente ejemplo:

auto uri = mongocxx::uri("mongodb://<kerberos_principal>@<hostname>:<port>/?"
"authMechanism=GSSAPI"
"&authMechanismProperties=SERVICE_NAME:<authentication service name>");
auto client = mongocxx::client(uri);

Nota

Debe reemplazar el símbolo @ en el principal por %40, como se muestra en el ejemplo anterior.

Para obtener más información sobre cómo crear un objeto mongocxx::client en el driver de C++, consulte la siguiente documentación de la API:

Volver

AWS IAM

En esta página