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

Configura MongoDB con Federación de Identidad de Cargas de Trabajo

Configure MongoDB con Workload Identity Federation para autenticar servicios en diferentes plataformas. Esto mejora la seguridad y simplifica la gestión de identidades de servicios.

Importante

OpenID Connect (OIDC) solo es compatible con Linux.

  • Asegúrate de estar en MongoDB Enterprise.

    Para verificar que está utilizando MongoDB Enterprise, pase la --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 proveedor de identidad externo. Para más detalles, consulta Configurar federación de identidades de carga de trabajo.

1

Para configurar el servidor MongoDB, habilite el mecanismo de autenticación MONGODB-OIDC y utilice la oidcIdentityProviders para especificar las configuraciones del proveedor de identidad (IDP).

Nota

Al configurar MongoDB para la federación de identidades de cargas de trabajo, establezca el campo supportsHumanFlows en oidcIdentityProviders a false.

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

Para utilizar su archivo de configuración, especifique 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",
"supportsHumanFlows": false,
} ]'

Para especificar varios proveedores de identidad, 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",
"authorizationClaim": "groups",
"supportsHumanFlows": false,
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"authorizationClaim": "groups",
"supportsHumanFlows": false,
} ]'

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",
"supportsHumanFlows": false,
} ]'

Para especificar varios proveedores de identidad, 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",
"authorizationClaim": "groups",
"supportsHumanFlows": false
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"authorizationClaim": "groups",
"supportsHumanFlows": false
} ]'
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 depender de documentos de usuario en lugar de afirmaciones de autorización del 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,
"supportsHumanFlows": false,
} ]'

Para especificar varios proveedores de identidad, 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,
"supportsHumanFlows": false,
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"useAuthorizationClaim": false,
"supportsHumanFlows": false,
} ]'
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"supportsHumanFlows": false,
} ]'

Para especificar varios proveedores de identidad, 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,
"supportsHumanFlows": false,
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"useAuthorizationClaim": false,
"supportsHumanFlows": false,
} ]'

Al establecer useAuthorizationClaim en false, los usuarios que se autentican con el mecanismo MONGODB-OIDC obtienen sus derechos de autorización de un documento de usuario en $external. El servidor busca un documento de usuario con un _id que coincida con el valor de la reclamación authNamePrefix/principalName en cada intento de autenticación basada en 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.

Volver

Configurar un proveedor de identidad externo para la autenticación de la carga de trabajo

En esta página