O recurso personalizado do AtlasFederatedAuth configura a autenticação federada para sua organização Atlas.
Quando você cria o recurso personalizado do AtlasFederatedAuth , o Atlas Kubernetes Operator utiliza o Recurso da API de Autenticação Federada para o atualizar a configuração da organização para a federação. Na configuração da organização , você especifica as configurações de federação para sua organização Atlas , como mapeamentos de organização e função.
Importante
Os Recursos Personalizados Não Excluem Mais Objetos por Padrão
O Atlas Kubernetes Operator utiliza arquivos de configuração de recurso personalizado para gerenciar sua configuração do Atlas, mas a partir do Atlas Kubernetes Operator 2.0, os recursos personalizados que você exclui no Kubernetes não são mais excluídos no Atlas. Em vez disso, o Atlas Kubernetes Operator simplesmente para de gerenciar estes recursos. Por exemplo, se você excluir um AtlasProject Recurso Personalizado do no Kubernetes, o Atlas Kubernetes Operator não excluirá mais automaticamente o projeto correspondente do Atlas, evitando exclusões acidentais ou inesperadas. Para saber mais, incluindo como reverter este comportamento para o padrão anterior ao Atlas Kubernetes Operator 2.0, consulte Novo padrão: Proteção de exclusão no Atlas Kubernetes Operator 2.0.
Para utilizar este recurso, você deve ter um fornecedor de identidade existente (IdP) vinculado à sua organização Atlas. Para saber mais, consulte Aproveite a autenticação federada do Kubernetes.
Exemplos
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.
Concede a função
Organization Memberaos usuários após a autenticação.Mapeia a função
Organization Ownerpara a organização e aplica o mapeamento de função a um grupo de IdP chamadoorg-admin.Mapeia as funções
Organization Project CreatoreProject Ownerpara um projeto na organização denominadodev-projecte aplica o mapeamento de role a um grupo de IdP denominadodev-team.
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 status: conditions: - type: Ready status: True - type: RolesReady status: True - type: UsersReady status: True
Observação
O exemplo anterior inclui a seção status , que descreve o processo de atualização. Para saber mais, consulte Criar e atualizar processo.
Parâmetros
Esta seção descreve os parâmetros disponíveis para o recurso personalizado do AtlasFederatedAuth . Para obter descrições detalhadas dos parâmetros, consulte o recurso da API de autenticação federada do Atlas.
Consulte essas descrições, o exemplo nesta página e a documentação da API para personalizar suas especificações.
metadata.nameTipo: string
Obrigatório
Nome que identifica o recurso personalizado do
AtlasFederatedAuthque o Atlas Kubernetes Operator utiliza para configurar a autenticação federada para a organização.
metadata.namespaceTipo: string
Opcional
namespace onde você deseja implantar o recurso personalizado do
AtlasFederatedAuth.
spec.enabledTipo: booleano
Obrigatório
Sinalizador que determina se a autenticação federada deve ser habilitada para a organização. Padrão é
false.
spec.connectionSecretRef.nameTipo: string
Obrigatório
Nome do segredo opaco que contém um único campo
passwordcom o ID da organização e as chaves de API que o Atlas Kubernetes Operator usa para se conectar ao Atlas. Ao criar o segredo, especifique os camposorgID,publicApiKeyeprivateApiKey.As chaves de API do segredo devem ter o role
Organization Owner. Você pode usar o mesmo segredo de um Recurso PersonalizadoAtlasProjectsomente se o segredo tiverOrganization Ownerpermissões.O Atlas Kubernetes
atlas.mongodb.com/type=credentialsOperator observa segredos apenas com a etiqueta para evitar a exibição de segredos desnecessários.O exemplo a seguir rotula um segredo:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials Observação
Por padrão, o Atlas Kubernetes Operator mantém segredos de conexão no mesmo namespace que o recurso personalizado
AtlasProject. Para armazenar segredos em outro namespace, especifique o spec.connectionSecretRef. parâmetro do namespace .
spec.connectionSecretRef.namespaceTipo: string
Opcional
Namespace que contém o segredo com o ID da organização e as chaves de API que o Atlas Kubernetes Operator usa para se conectar ao Atlas. Se você omitir ou não especificar este parâmetro, o Atlas Kubernetes Operator manterá os segredos de conexão no mesmo namespace que o recurso personalizado
AtlasProject.
spec.domainAllowListTipo: array de strings
Opcional
Domínios aprovados que restringem os usuários que podem ingressar na organização com base em seus endereços de e-mail.
spec.domainRestrictionEnabledTipo: booleano
Obrigatório
Sinalizador que indica se a restrição de domínio está habilitada para a organização conectada. Padrão é
false.Se você definir esse parâmetro como
true, o Atlas retornará uma lista de usuários que pertencem a organizações fora da federação. Para saber mais, consulte Conflitos de usuários.
spec.ssoDebugEnabledTipo: booleano
Opcional
Sinalizador que indica se o fornecedor de identidade tem a depuração habilitada para SSO. O padrão é
false.
spec.postAuthRoleGrantsTipo: array de strings
Opcional
Funções do Atlas que são concedidas a um usuário nessa organização após a autenticação. Por exemplo:
ORG_MEMBERORG_READ_ONLYORG_BILLING_ADMINORG_GROUP_CREATORORG_OWNERORG_BILLING_READ_ONLYORG_TEAM_MEMBERS_ADMIN
Para obter uma lista completa dos valores aceitos, consulte o Recurso da API de autenticação federada.
spec.roleMappingsTipo : array de objetos
Opcional
Mapeamentos de role configurados nesta organizaçã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.
spec.roleMappings.externalGroupNameTipo: string
Obrigatório
Rótulo legível único para humanos que identifica o grupo de fornecedores de identidade ao qual esse mapeamento de role se aplica.
spec.roleMappings.roleAssignmentsTipo : array de objetos
Opcional
Roles do Atlas e os identificadores exclusivos dos grupos e organizações associados a cada role. Este parâmetro deve incluir pelo menos uma role da organização dentro da organização atual ou dos projetos na organização.
spec.roleMappings.roleAssignments.projectNameTipo: string
Opcional
O projeto Atlas na mesma organização à qual associar o papel.
spec.roleMappings.roleAssignments.roleTipo: string
Opcional
Etiqueta legível para humanos que identifica a collection de privilégios que o Atlas concede a uma chave de API, usuário ou equipe específica. Essas funções incluem privilégios de nível de organização e projeto.
O Atlas Kubernetes Operator aceita os seguintes valores:
ORG_MEMBERORG_READ_ONLYORG_BILLING_ADMINORG_GROUP_CREATORORG_OWNERORG_BILLING_READ_ONLYORG_TEAM_MEMBERS_ADMINGROUP_AUTOMATION_ADMINGROUP_BACKUP_ADMINGROUP_MONITORING_ADMINGROUP_OWNERGROUP_READ_ONLYGROUP_USER_ADMINGROUP_BILLING_ADMINGROUP_DATA_ACCESS_ADMINGROUP_DATA_ACCESS_READ_ONLYGROUP_DATA_ACCESS_READ_WRITEGROUP_CHARTS_ADMINGROUP_CLUSTER_MANAGERGROUP_SEARCH_INDEX_EDITOR