Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Configura MongoDB con Workforce Identity Federation

Configura MongoDB con Workforce Identity Federation para autenticar usuarios en diferentes plataformas utilizando un único conjunto de credenciales. Esto mejora la seguridad y simplifica la gestión de usuarios.

Importante

OpenID Connect (OIDC) solo es compatible con Linux.

  • Asegúrate de estar en MongoDB Enterprise.

    Para verificar que está utilizando MongoDB Enterprise, pasa el --version opción de línea de comandos para el mongod o mongos:

    mongod --version

    En la salida de este comando, busca la string modules: subscription o modules: enterprise para confirmar que estás usando los binarios de MongoDB Enterprise.

  • Configura tu externo proveedor de identidad. Para obtener más detalles, consulte Configurar OIDC para autenticación de la fuerza laboral.

1

Nota

Al configurar MongoDB para la Federación de Identidad Laboral, omita el campo supportsHumanFlows en oidcIdentityProviders.

Puede configurar el servidor MongoDB utilizando su archivo de configuración o la línea de comandos.

Para utilizar el archivo de configuración, especifica estos parámetros en el archivo:

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: '[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"authorizationClaim": "groups",
"clientId": "0zzw3ggfd2ase33",
} ]'

Para especificar múltiples IdP, añade objetos adicionales al arreglo oidcIdentityProviders. Cuando se especifican varios IdP, también se debe especificar un matchPattern para cada proveedor. Por ejemplo:

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: '[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"authorizationClaim": "groups",
"matchPattern": "@okta.com$",
"clientId": "0zzw3ggfd2ase33",
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"authorizationClaim": "groups",
"matchPattern": "@azure.com$",
"clientId": "1zzw3ggfd2ase33",
} ]'

Para utilizar la línea de comandos, especifica las siguientes opciones de inicio:

mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"authorizationClaim": "groups",
"clientId": "0zzw3ggfd2ase33",
} ]'

Para especificar múltiples IdP, añade objetos adicionales al arreglo oidcIdentityProviders. Cuando se especifican varios IdP, también se debe especificar un matchPattern para cada proveedor. Por ejemplo:

mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"authorizationClaim": "groups",
"matchPattern": "@okta.com$",
"clientId": "0zzw3ggfd2ase33",
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"authorizationClaim": "groups",
"matchPattern": "@azure.com$",
"clientId": "1zzw3ggfd2ase33",
} ]'
2

Para habilitar la autorización interna, configure el campo useAuthorizationClaim del parámetro oidcIdentityProviders a false. Esta configuración permite una gestión de usuarios más flexible al confiar en los documents de usuario en lugar de las autorizaciones de proveedor de identidad.

Importante

Si useAuthorizationClaim está establecido en false, no incluya el campo authorizationClaim.

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: '[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"clientId": "0zzw3ggfd2ase33"
} ]'

Para especificar múltiples IdP, añade objetos adicionales al arreglo oidcIdentityProviders. Por ejemplo:

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: '[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"clientId": "0zzw3ggfd2ase33"
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"useAuthorizationClaim": false,
"clientId": "1zzw3ggfd2ase33"
} ]'
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"clientId": "0zzw3ggfd2ase33"
} ]'

Para especificar múltiples IdP, añade objetos adicionales al arreglo oidcIdentityProviders. Por ejemplo:

mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"clientId": "0zzw3ggfd2ase33"
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"useAuthorizationClaim": false,
"clientId": "1zzw3ggfd2ase33"
} ]'

Cuando estableces useAuthorizationClaim en false, los usuarios que se autentican con el mecanismo MONGODB-OIDC obtienen sus derechos de autorización de un user document en $external. El servidor busca un document de usuario con un _id que coincida con el valor del atributo authNamePrefix/principalName en cada intento de autenticación OIDC para un usuario de su proveedor de identidad.

3

Para los entornos que utilizan certificados TLS de X509 firmados por una Autoridad de Certificación (CA) interna, se debe añadir el certificado de la CA al paquete de certificados de CA del sistema para que mongod pueda comunicarse con el proveedor de identidad. Esto se aplica a la autenticación de usuarios y a la autenticación de cargas de trabajo cuando se utiliza el método de función de retorno. Omitir este paso podría ocasionar errores de verificación de certificado SSL OIDC o de clave JWT.

En un clúster particionado, configure oidcIdentityProviders en cada instancia de mongos. Los clientes se autentican a través de mongos, lo que requiere esta configuración para verificar los tokens de proveedor de identidad. Si los clientes se conectan directamente a los servidores de configuración o a las instancias de partición mongod, también debes configurar oidcIdentityProviders en esas instancias.

Aplica los pasos de este tutorial a cada instancia mongos en tu implementación. Para configurar el usuario de base de datos para Workforce Identity Federation, consulta Autorizar usuarios con Workforce Identity Federation.

Volver

Configurar un proveedor de identidad externo para la autenticación de la fuerza laboral

En esta página