Atlas Kubernetes Operator supports using federated authentication for your Atlas organization.
Observação
You can't use Atlas Kubernetes Operator to set up an IdP. To set up an IdP, see Configure Database Deployment Authentication and Authorization.
Após configurar seu IdP, você pode gerenciar os mapeamentos de função que autenticam usuários para utilizar seu IdP.
Para configurar a autenticação federada por meio do Atlas Kubernetes Operator, você deve especificar e atualizar o AtlasFederatedAuth Recurso Personalizado.
When you create the AtlasFederatedAuth custom resource, Atlas Kubernetes Operator uses the Federated Authentication API Resource to update the organization configuration for the federation. In the organization configuration, you specify federation settings for your Atlas organization such as organization and role mappings.
The AtlasFederatedAuth Custom Resource is not required to map database users to an IdP, both any existing authentication IdP or workload and workforce IdP. You can use the AtlasDatabaseUser custom resource to manage database users, in which you specify the authentication method used for a given database user. The AtlasDatabaseUser custom resource must be configured in conjunction with federated authentication to associate users and roles in the IdP with users and groups in MongoDB.
O Recurso AtlasFederatedAuth Personalizado é opcional para utilizar qualquer autenticação federada, desde que você a tenha configurado em outro lugar no Atlas.
Pré-requisitos
Antes de usar o Atlas Kubernetes Operator para configurar a autenticação federada, você deve ter:
An existing identity provider (IdP) linked to Atlas. To learn how to link an IdP to Atlas, see Manage Identity Providers.
Um segredo com chaves API que o Atlas Kubernetes Operator pode utilizar para se conectar ao Atlas. As chaves da API devem ter o role
Organization Owner.Pelo menos um papel dentro de uma organização ativa do Atlas ou dos projetos na organização.
Atualizar uma configuração da organização
Para configurar a autenticação federada por meio do Atlas Kubernetes Operator, atualize a configuração da organização de sua federação especificando o AtlasFederatedAuth Recurso personalizado.
O exemplo abaixo configura um recurso personalizado do AtlasFederatedAuth que faz o seguinte:
Habilita a autenticação federada para a organização vinculada ao segredo especificado.
Adiciona
my-org-domain.comcomo um domínio aprovado.Habilita a restrição de domínio para a organização.
Desabilita a depuração para SSO.
Grants the
Organization Memberrole to users after authenticating.Maps the
Organization Ownerrole for the organization and applies the role mapping to an IdP group namedorg-admin.Maps the
Organization Project CreatorandProject Ownerroles for a project in the organization nameddev-projectand applies the role mapping to an IdP group nameddev-team.
Para saber mais, consulte Parâmetros.
Observação
O spec.roleMappings.roleAssignments O parâmetro deve incluir pelo menos uma função da organização dentro da organização atual ou os projetos na organização.
Exemplo:
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 verificar o status do processo de atualização, execute o seguinte comando:
kubectl get atlasfederatedauth -o yaml
O Atlas Kubernetes Operator retorna o recurso personalizado e inclui uma seção de status semelhante ao exemplo a seguir:
status: conditions: - type: Ready status: True - type: RolesReady status: True - type: UsersReady status: True
Para saber mais sobre os parâmetros disponíveis para este recurso, consulte AtlasFederatedAuth Recurso Personalizado.