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

Configurar la autenticación federada usando el Atlas Kubernetes Operator

El operador Atlas Kubernetes (AKO) proporciona soporte para configurar Autenticación federada en MongoDB Atlas utilizando el AtlasFederatedAuth Recurso personalizado.

La autenticación federada le permite vincular credenciales de usuario entre sistemas mediante un proveedor de identidad (proveedor de identidad). Sirve dos propósitos principales:

  • Administrar el acceso de los usuarios a la interfaz de usuario de Atlas (restringiendo los permisos para ver, crear y configurar recursos).

  • Autenticar y autorizar el acceso a los clústeres Atlas (para usuarios humanos y aplicaciones).

Ambas funcionalidades pueden configurarse simultáneamente mediante el AtlasFederatedAuth Recurso Personalizado.

Nota

El Atlas Kubernetes Operator admite la configuración de IdPs existentes en una organización de Atlas, pero no la creación de los mismos en Atlas. Debes completar este procedimiento antes de usar este recurso con AKO.

El acceso a Atlas (o acceso a la Interfaz de Usuario) permite a los propietarios de la organización otorgar automáticamente roles de Atlas a los usuarios de la organización una vez que se autentican, según 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 haya creado un proveedor de identidad de acceso a la Interfaz de Usuario y lo haya asociado a su organización, puede 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.com como dominio aprobado.

  • Activa la restricción de dominio para la organización.

  • Deshabilita la depuración para SSO.

  • Otorga el rol de Organization Member a los usuarios tras autenticarse.

  • Asigna el rol Organization Owner para la organización y aplica la asignación de roles a un grupo de proveedor de identidad denominado org-admin.

  • Asigna los roles de Organization Project Creator y Project Owner a un proyecto en la organización denominada dev-project y aplica el mapeo de roles a un grupo de proveedor de identidad denominado dev-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.

El acceso al clúster permite a los propietarios de la organización utilizar proveedores de identidad (usando OIDC u OAuth 2.0) para proporcionar acceso a los datos de un clúster de base de datos en Atlas basándose en roles en el IdP. Esta funcionalidad puede diferenciarse aún más dependiendo si el acceso se otorga a un usuario humano o a una aplicación:

  • Lacarga de trabajo es para aplicaciones; permite que las aplicaciones externas se autentiquen a través de identidades programáticas, como entidades de servicio en Azure o cuentas de servicio en Google Cloud, usando OAuth.2.0

  • Workforce está dirigido a usuarios, permitiendo la autenticación y autorización a la base de datos a través de un proveedor de identidad externo, tal como Microsoft Entra ID u Okta, usando OIDC.

Para habilitar el acceso a Atlas clúster a través de AKO, agrega el ID de proveedor de identidad en el campo dataAccessIdentityProviderIds del 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 habilita el proveedor de identidad para su uso dentro de la organización, y ahora se puede conceder acceso al clúster usando este proveedor de identidad en el AtlasDatabaseUser, configurando el oidcAuthType y estableciendo el ID y nombre apropiados en el campo username.

  • Para acceder a la oidcAuthType fuerza laboral, configure el campo USER en,databaseName adminel username campo en y el campo <Atlas IdP ID>/IdP Username en.

  • Para el acceso a la carga de trabajo, establece el campo oidcAuthType como IDP_GROUP, el campo databaseName como $external, y el campo username como <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.

Volver

Encriptar datos

En esta página