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

mongokerberos

MongoDB Enterprise proporciona mongokerberos para probar Kerberos y GSSAPI de MongoDB opciones de configuración en una implementación de Kerberos en funcionamiento. mongokerberos se puede usar en uno de dos modos: servidor y cliente.

Modo
Descripción

Server

En el modo servidor, mongokerberos analiza las configuraciones relacionadas con Kerberos en el servidor y genera un informe con mensajes de error para cualquier configuración problemática. Para su uso, consulte Modo servidor.

Cliente

En modo cliente, mongokerberos prueba la autenticación Kerberos para un nombre de usuario proporcionado y genera un informe que incluye el éxito o el fracaso de cada paso del procedimiento de autenticación Kerberos. Para más información,consulte Modo cliente.

Los mensajes de error de ambos modos incluyen información sobre errores específicos encontrados y posibles consejos para resolver el error.

mongokerberos Admite los siguientes tipos de implementación, tanto en modo servidor como cliente:

  • Clientes de MongoDB en Linux que autentican implementaciones de MIT Kerberos en plataformas Linux compatibles.

  • Clientes de MongoDB en Windows realizando autenticación en implementaciones de Active Directory de Windows en plataformas Windows compatibles.

  • Clientes de MongoDB en Linux que se autentican en implementaciones de Windows Active Directory.

Nota

MongoDB Enterprise y mongokerberos sólo soportan la implementación MIT de Kerberos.

Generalmente, al configurar opciones relacionadas con la autenticación Kerberos, es una buena práctica verificar la configuración con mongokerberos.

mongokerberos es una herramienta de prueba y verificación; no edita archivos ni configura servicios. Para configurar Kerberos en su plataforma, consulte la documentación de Kerberos del MIT o la documentación de su plataforma. Para configurar MongoDB para la autenticación mediante Kerberos, consulte los siguientes tutoriales:

Este documento ofrece una visión completa de todas las opciones de línea de comandos para mongokerberos.

La herramienta es mongokerberos parte del paquete MongoDB Database Tools Extra y se puede instalar con MongoDB Server o como una instalación independiente.

Para instalar como parte de una instalación de MongoDB Enterprise mongokerberos Server:

  • Sigue las instrucciones para su plataforma: Instale MongoDB Enterprise servidor

  • Una vez completada la instalación, mongokerberos y las otras herramientas incluidas están disponibles en la misma ubicación que el Servidor.

    Nota

    Para el asistente de instalación de Windows .msi, el Complete la opción de instalación incluye mongokerberos.

Para instalar mongokerberos como instalación autónoma:

  • Sigue el enlace de descarga de MongoDB Enterprise Edition: MongoDB Enterprise Download Center

  • Seleccione su Platform (sistema operativo) del menú desplegable, luego seleccione el Package apropiado para su plataforma de acuerdo con la siguiente tabla:

    OS
    Paquete

    Linux

    tgz paquete

    Windows

    zip paquete

    macOS

    tgz paquete

  • Una vez descargado, descomprima el archivo y copie a una ubicación en su disco mongokerberos duro.

    Tip

    Los usuarios de Linux y macOS pueden querer copiar mongokerberos a una ubicación del sistema de archivos que esté definida en la variable de entorno $PATH, como /usr/bin. Esto permite hacer referencia a mongokerberos directamente en la línea de comandos por su nombre, sin necesidad de especificar su ruta completa o navegar primero a su directorio principal. Consulta la guía de instalación de tu plataforma para más información.

mongokerberos se puede ejecutar en dos modos: servidor y cliente.

Ejecuta mongokerberos desde la línea de comandos del sistema, no en mongosh.

La ejecución de mongokerberos en modo de servidor realiza una serie de pasos de verificación contra la configuración Kerberos de tu sistema, incluyendo la comprobación de la resolución adecuada de DNS, la validación del archivo keytab del sistema Kerberos y pruebas contra el principal del servicio MongoDB para tu instancia de mongod o mongos.

Antes de poder utilizar mongokerberos en modo servidor, debe:

  1. Configure Kerberos en su plataforma de acuerdo con la documentación de su plataforma.

  2. Cree la entidad de servicio MongoDB para usarla con su instancia o, como se describe en los siguientes mongod mongos pasos:

Una vez que haya completado estos pasos, puede ejecutar en modo servidor usando mongokerberos el --server indicador de la siguiente manera:

mongokerberos --server

Si Kerberos se ha configurado correctamente en el servidor, y el principal del servicio se ha creado correctamente, la salida podría ser similar a la siguiente:

Resolving kerberos environment...
[OK] Kerberos environment resolved without errors.
Verifying DNS resolution works with Kerberos service at <hostname>...
[OK] DNS test successful.
Getting MIT Kerberos KRB5 environment variables...
* KRB5CCNAME: not set.
* KRB5_CLIENT_KTNAME: not set.
* KRB5_CONFIG: not set.
* KRB5_KTNAME: not set.
* KRB5_TRACE: not set.
[OK]
Verifying existence of KRB5 keytab FILE:/etc/krb5.keytab...
[OK] KRB5 keytab exists and is populated.
Checking principal(s) in KRB5 keytab...
Found the following principals for MongoDB service mongodb:
* mongodb/server.example.com@SERVER.EXAMPLE.COM
Found the following kvnos in keytab entries for service mongodb:
* 3
[OK] KRB5 keytab is valid.
Fetching KRB5 Config...
KRB5 config profile resolved as:
<Your Kerberos profile file will be output here>
[OK] KRB5 config profile resolved without errors.
Attempting to initiate security context with service credentials...
[OK] Security context initiated successfully.

El mensaje final indica que la configuración de Kerberos del sistema está lista para usarse con MongoDB. Si se detecta algún error en la configuración, se mostrará en el resultado anterior.

mongokerberos Al ejecutar en modo cliente, se prueba la autenticación en el entorno Kerberos de su sistema, realizando cada paso del proceso de autenticación Kerberos, incluyendo la comprobación de la resolución DNS correcta, la verificación del archivo de tabla de claves del cliente Kerberos y la comprobación de si se puede conceder un ticket. Al mongokerberos ejecutar en modo cliente, se simula el procedimiento de autenticación de cliente mongosh de.

Antes de que puedas usar el mongokerberos en modo cliente, debes haber configurado Kerberos en tu plataforma según la documentación de tu plataforma. Opcionalmente, también puedes optar por ejecutar mongokerberos en modo servidor primero para verificar que la configuración de Kerberos de tu plataforma sea válida antes de utilizar el modo cliente.

Una vez se hayan completado estos pasos, se puede ejecutar mongokerberos en modo cliente para probar la autenticación de usuario, usando el modificador --client de la siguiente manera:

mongokerberos --client --username <username>

Debe proporcionar un nombre de usuario válido, que se utiliza para solicitar un ticket Kerberos como parte del proceso de autenticación. La infraestructura Kerberos de su plataforma debe reconocer a este usuario.

Si las credenciales proporcionadas son válidas, y las opciones de Kerberos en los archivos de configuración son correctas, la salida podría parecerse a lo siguiente:

Resolving kerberos environment...
[OK] Kerberos environment resolved without errors.
Verifying DNS resolution works with Kerberos service at <hostname>...
[OK] DNS test successful.
Getting MIT Kerberos KRB5 environment variables...
* KRB5CCNAME: not set.
* KRB5_CLIENT_KTNAME: not set.
* KRB5_CONFIG: not set.
* KRB5_KTNAME: not set.
* KRB5_TRACE: not set.
[OK]
Verifying existence of KRB5 client keytab FILE:/path/to/client.keytab...
[OK] KRB5 client keytab exists and is populated.
Checking principal(s) in KRB5 keytab...
[OK] KRB5 keytab is valid.
Fetching KRB5 Config...
KRB5 config profile resolved as:
<Your Kerberos profile file will be output here>
[OK] KRB5 config profile resolved without errors.
Attempting client half of GSSAPI conversation...
[OK] Client half of GSSAPI conversation completed successfully.

El mensaje final indica que la autenticación del cliente se completó correctamente para el usuario proporcionado. Si se encuentran errores durante los pasos de autenticación, se presentarán como parte del resultado anterior.

--server

Ejecuta mongokerberos en modo servidor para probar que la configuración de Kerberos de tu plataforma es válida para su uso con MongoDB.

Consulte Modo servidor para ver ejemplos de uso y resultado esperado.

--client

Ejecuta mongokerberos en modo cliente para probar la autenticación de cliente en el entorno Kerberos de tu sistema. Se requiere especificar un nombre de usuario válido con --username cuando se ejecuta en modo cliente. mongokerberos solicitará un ticket Kerberos para este nombre de usuario como parte del procedimiento de validación. Ejecutar mongokerberos en modo cliente simula el procedimiento de autenticación del cliente de mongosh.

Consulte el Modo Cliente para ver un ejemplo de uso y resultado esperado.

--config <filename>, -f <filename>

Especifica un archivo de configuración para las opciones de configuración en tiempo de ejecución. Estas opciones son equivalentes a las opciones de configuración de la línea de comandos. Consulta Opciones del archivo de configuración autogestionada para obtener más información.

mongokerberos leerá los valores de saslHostName y saslServiceName de este archivo si está presente. Estos valores pueden especificarse alternativamente con la opción --setParameter en su lugar.

Asegúrese de que el archivo de configuración utilice codificación ASCII. La instancia mongokerberos no es compatible con archivos de configuración con codificación no ASCII, incluido UTF-8.

Solo es válido en modo servidor.

--setParameter <options>

Establece un parámetro configurable. Se pueden especificar varios campos setParameter.

Si bien puede utilizar cualquier parámetro compatible con,setParameter mongokerberos solo verifica el valor de lo siguiente:

Si se utiliza la opción --config con un archivo de configuración que también contiene estos valores, los valores setParameter sobrescribirán los valores del archivo de configuración.

Válido tanto en el modo servidor como en el modo cliente.

--host <hostname>

Especifique el nombre de host del servidor MongoDB al que conectar al probar la autenticación.

Si --host no se especifica, mongokerberos no realiza ninguna validación DNS del nombre de host (es decir, verificación del registro PTR)

Solo válido en el modo cliente.

--username <username>, -u <username>

Nombre de usuario para mongokerberos para usar cuando se intente la autenticación Kerberos. Este valor es necesario cuando se ejecuta en modo cliente.

Solo válido en el modo cliente.

--gssapiServiceName <servicename>

por defecto: 'MongoDB'

Nombre principal de servicio que se utilizará para autenticarse con GSSAPI/Kerberos.

Solo válido en el modo cliente.

--gssapiHostName <hostname>

Nombre de host remoto a utilizar para propósitos de autenticación GSSAPI/Kerberos.

Solo válido en el modo cliente.

Volver

mongos.exe

En esta página