Atlas Kubernetes Operator admite el uso de autenticación federada para tu organización Atlas.
Nota
No puedes utilizar Atlas Kubernetes Operator para configurar un proveedor de identidad. Para configurar un proveedor de identidad, consulte Configurar Autenticación y Autorización en la Implementación de la Base de Datos.
Una vez que hayas configurado tu proveedor de identidad, puedes gestionar las asignaciones de roles que autentican a los usuarios para utilizar tu proveedor de identidad.
Para configurar la autenticación federada mediante el Atlas Kubernetes Operator, debe especificar y actualizar el AtlasFederatedAuth Recurso personalizado.
Cuando se crea el recurso personalizado AtlasFederatedAuth, el Atlas Kubernetes Operator utiliza el Recurso de API de Autenticación Federada para actualizar la configuración de la organización para la federación. En la configuración de la organización, se especifican los ajustes de federación para su organización de Atlas, como la organización y las asignaciones de roles.
El AtlasFederatedAuth recurso personalizado no se debe emplear para asignar usuarios de base de datos a un proveedor de identidad, ya sea cualquier proveedor de identidad de autenticación existente o un proveedor de identidad de cargas de trabajo o de personal. Puedes usar el recurso personalizado AtlasDatabaseUser para gestionar usuarios de bases de datos, en el que especificas el método de autenticación utilizado para un usuario de base de datos determinado. El recurso personalizado AtlasDatabaseUser debe configurarse junto con autenticación federada para asociar usuarios y roles en el proveedor de identidad con usuarios y grupos en MongoDB.
El AtlasFederatedAuth Recurso personalizado es opcional para usar cualquier autenticación federada, siempre que lo hayas configurado en otra parte de Atlas.
Requisitos previos
Antes de poder usar Atlas Kubernetes Operator para configurar la autenticación federada, debes tener:
Un proveedor de identidades existente (IdP) vinculado a Atlas. Para saber cómo vincular un proveedor de identidad a Atlas, consulta Administrar proveedores de identidad.
A secreto con claves API que el Atlas Kubernetes Operator puede usar para conectarse a Atlas. Las claves API deben tener el rol
Organization Owner.Al menos un rol dentro de una organización activa de Atlas o los proyectos de la organización.
Actualizar una configuración de la organización
Para configurar la autenticación federada a través del Atlas Kubernetes Operator, actualiza la configuración de la organización para tu federación especificando el AtlasFederatedAuth Custom recurso.
El siguiente ejemplo configura un recurso personalizado AtlasFederatedAuth que hace lo siguiente:
Habilita la autenticación federada para la organización vinculada al secreto indicado.
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.
Para obtener más información, consulte Parámetros.
Nota
El spec.roleMappings.roleAssignments el parámetro debe incluir al menos un rol de organización dentro de la organización actual o en 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 dataAccessIdentityProviders: - 32b6e34b3d91647abb20e7b8 - 42d8v92k5a34184rnv93f0c1 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
Para comprobar el estado del proceso de actualización, ejecuta el siguiente comando:
kubectl get atlasfederatedauth -o yaml
Atlas Kubernetes Operator devuelve el recurso personalizado e incluye una sección de estado similar al siguiente ejemplo:
status: conditions: - type: Ready status: True - type: RolesReady status: True - type: UsersReady status: True
Para obtener información sobre los parámetros disponibles para este recurso, consulta AtlasFederatedAuth Recurso Personalizado.