El Atlas Kubernetes Operator (AKO) proporciona soporte para la configuración
autenticación federada en MongoDB Atlas usando el AtlasFederatedAuth Recurso personalizado.
La Autenticación federada permite vincular las credenciales de usuario entre sistemas mediante un Proveedor de identidad (proveedor de identidad). Sirve dos propósitos principales:
Gestiona el acceso de los usuarios a la interfaz de usuario de Atlas (restringiendo los permisos para ver, crear y configurar recursos).
Autentica y autoriza el acceso a los clústeres de Atlas (para usuarios humanos y aplicaciones).
Ambas funcionalidades pueden configurarse simultáneamente mediante el AtlasFederatedAuth Recurso Personalizado.
Nota
Atlas Kubernetes Operator admite la configuración de IdPs existentes en una organización de Atlas, no su creación en Atlas. Debes completar este procedimiento antes de usar este recurso con AKO.
Aprenda cómo crear un SAML proveedor de identidad para el Acceso a la Interfaz de Usuario en Administrar proveedores de identidad.
Aprende cómo crear un proveedor de identidad para el acceso al clúster para una fuerza laboral (OIDC) en Configura una aplicación de proveedor externo de identidad.
Aprende cómo crear un proveedor de identidad para el acceso de clústeres a una aplicación/carga de trabajo (OAuth 2.0) en Preparar tu proveedor de identidad externo.
Atlas UI Access (SAML)
El acceso a Atlas (o acceso a la Interfaz de Usuario) permite a los propietarios de la organización otorgar automáticamente roles en Atlas a los usuarios de la organización una vez que se autentican, basándose en sus roles en un proveedor de identidad como Microsoft Entra ID o Google Workspace.
Nota
Cuando se activa un proveedor de identidad federado, Atlas desactiva todos los demás métodos de autenticación.
Una vez que hayas creado un Interfaz de Usuario Access proveedor de identidad y lo hayas asociado con tu organización, puedes configurarlo utilizando el Atlas Kubernetes Operator.
Este ejemplo realiza lo siguiente:
Permite la autenticación federada para la organización vinculada al secreto especificado.
Agrega
my-org-domain.comcomo dominio aprobado.Activa la restricción de dominio para la organización.
Deshabilita la depuración para SSO.
Otorga el rol de
Organization Membera los usuarios tras autenticarse.Asigna el rol
Organization Ownerpara la organización y aplica la asignación de roles a un grupo proveedor de identidad llamadoorg-admin.Asigna los roles
Organization Project CreatoryProject Ownerpara un proyecto en la organización llamadadev-projecty aplica la asignación de roles a un grupo de proveedor de identidad llamadodev-team.
Nota
El spec.roleMappings.roleAssignments El parámetro debe incluir al menos un rol de organización dentro de la organización actual o de los proyectos de la organización.
Ejemplo:
cat <<EOF | kubectl apply -f - apiVersion: atlas.mongodb.com/v1 kind: AtlasFederatedAuth metadata: name: atlas-default-federated-auth namespace: mongodb-atlas-system spec: enabled: true connectionSecretRef: name: my-org-secret namespace: mongodb-atlas-system domainAllowList: - my-org-domain.com domainRestrictionEnabled: true ssoDebugEnabled: false postAuthRoleGrants: - ORG_MEMBER roleMappings: - externalGroupName: org-admin roleAssignments: - role: ORG_OWNER - externalGroupName: dev-team roleAssignments: - role: ORG_GROUP_CREATOR - projectName: dev-project role: GROUP_OWNER EOF
Se puede encontrar información adicional sobre la configuración del recurso AtlasFederatedAuth en el AtlasFederatedAuth recurso personalizado.
Acceso a Atlas clúster (OIDC/OAuth 2.0)
El Acceso al clúster permite a los titulares de la organización utilizar proveedores de identidad (utilizando OIDC u OAuth 2.0) para proporcionar acceso a los datos de un clúster de base de datos en Atlas basado en roles en el IdP. Esta funcionalidad puede distinguirse aún más en función de si el acceso se concede a un usuario humano o a una aplicación:
Carga de trabajo es para Aplicaciones; permite que aplicaciones externas se autentiquen a través de identidades programáticas, como Service Principals en Azure o Cuentas de servicio en Google Cloud, utilizando OAuth 2.0.
Workforce es para usuarios; permite la autenticación y autorización a la base de datos a través de un proveedor de identidad (IdP) externo, como Microsoft Entra ID u Okta, utilizando OIDC.
Para habilitar el acceso al clúster de Atlas por AKO, agregue el ID del proveedor de identidad en el campo dataAccessIdentityProviderIds en el recurso AtlasFederatedAuth.
apiVersion: atlas.mongodb.com/v1 kind: AtlasFederatedAuth metadata: name: atlas-default-federated-auth namespace: mongodb-atlas-system spec: enabled: true dataAccessIdentityProviders: - 32b6e34b3d91647abb20e7b8 - 42d8v92k5a34184rnv93f0c1 connectionSecretRef: name: my-org-secret namespace: mongodb-atlas-system
Se puede encontrar información adicional sobre la configuración del recurso AtlasFederatedAuth en el AtlasFederatedAuth recurso personalizado.
La autenticación permite el proveedor de identidad para su uso dentro de la organización, y el acceso al clúster ahora se puede otorgar usando este proveedor de identidad en el AtlasDatabaseUser, configurando el oidcAuthType y estableciendo el ID y nombre apropiados en el campo username.
Para el acceso a la Fuerza Laboral, configura el campo
oidcAuthTypeenUSER, el campodatabaseNameenadminy el campousernameen<Atlas IdP ID>/IdP Username.Para el acceso a la carga de trabajo, establece el campo
oidcAuthTypecomoIDP_GROUP, el campodatabaseNamecomo$external, y el campousernamecomo<Atlas IdP ID>/IdP Group Name.
apiVersion: atlas.mongodb.com/v1 kind: AtlasDatabaseUser metadata: name: my-workload-user namespace: mongodb-atlas-system spec: databaseName: $external roles: - roleName: "readWrite" databaseName: "my-database" projectRef: name: my-project username: idp-id-in-atlas/my-idp-group-name oidcAuthType: IDP_GROUP
apiVersion: atlas.mongodb.com/v1 kind: AtlasDatabaseUser metadata: name: my-workforce-user namespace: mongodb-atlas-system spec: databaseName: admin roles: - roleName: "readWrite" databaseName: "my-database" projectRef: name: my-project username: idp-id-in-atlas/my-idp-user-name oidcAuthType: USER
Se puede encontrar información adicional sobre la configuración del recurso AtlasDatabaseUser en el AtlasDatabaseUser recurso personalizado.