Synopsis
MongoDB Enterprise proporciona para probar Kerberos y GSSAPI de mongokerberos MongoDB Opciones de configuración contra una implementación de Kerberos en ejecución. se puede utilizarmongokerberos en uno de dos modos: servidor y cliente.
Modo | Descripción |
|---|---|
Servidor | En el modo servidor, |
Cliente | En modo cliente, |
Los mensajes de error para 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 MongoDB de Linux que se autentican en implementaciones de MIT Kerberos en plataformas Linux compatibles.
Clientes de Windows MongoDB que se autentican en implementaciones de Windows Active Directory en plataformas Windows compatibles.
Clientes MongoDB de Linux que se autentican en implementaciones de Windows Active Directory.
Nota
MongoDB Enterprise y solo admiten mongokerberos la implementación MIT
de Kerberos.
Generalmente, al configurar opciones relacionadas con la autenticación Kerberos, es una buena práctica verificar su configuración mongokerberos con.
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:
Configura MongoDB autogestionado con la autenticación Kerberos en Linux
Configurar MongoDB autoadministrado con autenticación Kerberos en Windows.
Este documento proporciona una descripción completa de todas las opciones de la línea de comandos mongokerberos para.
Instalación
La herramienta es mongokerberos parte del paquete MongoDB Database Tools Extra y se puede instalar con MongoDB Server o como una instalación independiente.
Instalar con el servidor
Para instalar como parte de una instalación de MongoDB Enterprise mongokerberos Server:
Siga las instrucciones para su plataforma: Instalar MongoDB Enterprise Server
Después de completar la instalación, y las demás herramientas incluidas estarán disponibles en la misma ubicación que el
mongokerberosservidor.Nota
Para el asistente de instalación de Windows
.msi, el Complete La opción de instalaciónmongokerberosincluye.
Instalar como independiente
Para instalar como una instalación mongokerberos independiente:
Siga el enlace de descarga de MongoDB Enterprise Edition: Centro de descarga deMongoDB Enterprise
Seleccione su Platform (sistema operativo) del menú desplegable, luego seleccione el Package apropiado para su plataforma de acuerdo con la siguiente tabla:
OSPaqueteLinux
tgzpaqueteWindows
zippaquetemacOS
tgzpaqueteUna vez descargado, descomprima el archivo y copie a una ubicación en su disco
mongokerberosduro.Tip
Los usuarios de Linux y macOS pueden copiar a una ubicación del sistema de archivos definida en
mongokerberosla$PATHvariable de entorno,/usr/bincomo. Esto permite referenciarmongokerberosdirectamente en la línea de comandos por su nombre, sin necesidad de especificar su ruta completa ni navegar primero a su directorio principal. Consulte la guía de instalación de su plataforma para obtener más información.
Uso
mongokerberos se puede ejecutar en dos modos: servidor y cliente.
Ejecuta mongokerberos desde la línea de comandos del sistema, no en mongosh.
Modo servidor
Al ejecutarmongokerberosen modo servidor se realizan una serie de pasos de verificación contra la configuración Kerberos de su sistema, incluida la verificación de la resolución de DNS adecuada, la validación del archivo de claves del sistema Kerberos y la prueba contra el principal de servicio MongoDB para su instanciamongodomongos.
Antes de poder utilizar en modo servidor,mongokerberos debe:
Configure Kerberos en su plataforma de acuerdo con la documentación de su plataforma.
Cree la entidad de servicio MongoDB para usarla con su instancia o, como se describe en los siguientes
mongodmongospasos:
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 la entidad de servicio se creó correctamente, el resultado podría parecerse al 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.
Modo cliente
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 usarmongokerberosen modo cliente, debe haber configurado Kerberos en su plataforma según la documentación correspondiente. Opcionalmente, también puede ejecutarmongokerberosen modo servidor para verificar que la configuración de Kerberos de su plataforma sea válida antes de usar el modo cliente.
Una vez que haya completado estos pasos, puede ejecutar en modo cliente para probar la autenticación del usuario, utilizando mongokerberos el --client indicador 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 válidas, el resultado podría parecerse al 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 detecta algún error durante los pasos de autenticación, se mostrará en el resultado anterior.
opciones
--serverEjecuta en modo servidor para probar que la configuración Kerberos de su plataforma es válida para su uso con
mongokerberosMongoDB.Consulte Modo servidor para ver ejemplos de uso y resultado esperado.
--clientEjecuta
mongokerberosen modo cliente para probar la autenticación del cliente en el entorno Kerberos de su sistema. Requiere especificar un nombre de usuario válido con--usernameal ejecutarse en modo cliente.mongokerberossolicitará un ticket Kerberos para este nombre de usuario como parte del procedimiento de validación. Ejecutarmongokerberosen modo cliente simula el procedimiento de autenticación de cliente demongosh.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.
mongokerberosleerá los valores desaslHostNamey de este archivo, si están presentes.saslServiceName--setParameterEstos valores pueden especificarse alternativamente con la opción.Asegúrese de que el archivo de configuración utilice codificación ASCII. La instancia no admite archivos de configuración con codificación distinta a ASCII, incluido
mongokerberosUTF-.8Solo 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,
setParametermongokerberossolo verifica el valor de lo siguiente:Si se utiliza la opción con un archivo de configuración que también contiene estos valores,
--configlossetParametervalores anularán los valores del archivo de configuración.Válido tanto en modo servidor como en modo cliente.
--host <hostname>Especifique el nombre de host del servidor MongoDB al que conectarse al probar la autenticación.
Si
--hostno se especifica,mongokerberosno realiza ninguna validación DNS del nombre de host (es decir, verificación del registro PTR)Sólo válido en modo cliente.
--username <username>, -u <username>Nombre de usuario de para usar al intentar la autenticación Kerberos. Este valor es obligatorio al ejecutar en
mongokerberosmodo cliente.Sólo válido en modo cliente.
--gssapiServiceName <servicename>predeterminado: 'mongodb'
Nombre principal del servicio que se utilizará durante la autenticación mediante GSSAPI/Kerberos.
Sólo válido en modo cliente.
--gssapiHostName <hostname>Nombre de host remoto que se utilizará para la autenticación GSSAPI/Kerberos.
Sólo válido en modo cliente.