Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Configurar la autenticación federada para Atlas

El Atlas Kubernetes Operator (AKO) proporciona soporte para la configuración de autenticación federada en MongoDB Atlas utilizando el AtlasFederatedAuth recurso personalizado.

La autenticación federada permite vincular las credenciales de usuario entre sistemas mediante un proveedor de identidad(IdP). Cumple 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.

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:

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 a clústeres permite a los propietarios de organizaciones usar proveedores de identidad (mediante OIDC u OAuth 2.0) para proporcionar acceso a datos a un clúster de bases de datos en Atlas según los roles definidos en el IdP. Esta función se puede diferenciar aún más según si el acceso se otorga a un usuario humano o a una aplicación.

  • La carga de trabajo es para aplicaciones; permitiendo 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, utilizando OAuth 2.0.

  • Workforce está diseñado para los usuarios; permite la autenticación y autorización de la base de datos a través de un proveedor de identidad externo, como Microsoft Entra ID u Okta, utilizando OIDC.

Para habilitar el acceso al clúster de Atlas a través de AKO, agregue el ID del IdP al 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 que el IdP se utilice dentro de la organización, y ahora se puede otorgar acceso al clúster utilizando este IdP en AtlasDatabaseUser, configurando oidcAuthType y estableciendo el ID y el nombre apropiados en el campo username.

  • Para el acceso a la Fuerza Laboral, configura el campo oidcAuthType en USER, el campo databaseName en admin y el campo username en <Atlas IdP ID>/IdP Username.

  • 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.