AtlasFederatedAuth
Recurso personalizado
Nesta página
O recurso personalizado do AtlasFederatedAuth
configura aautenticação federada do 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 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.com
como 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 Member
aos usuários após a autenticação.Mapeia a função
Organization Owner
para a organização e aplica o mapeamento de função a um grupo de IdP chamadoorg-admin
.Mapeia as funções
Organization Project Creator
eProject Owner
para um projeto na organização denominadodev-project
e 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.name
Tipo: string
Obrigatório
Nome que identifica o recurso personalizado do
AtlasFederatedAuth
que o Atlas Kubernetes Operator utiliza para configurar a autenticação federada para a organização.
metadata.namespace
Tipo: string
Opcional
namespace onde você deseja implantar o recurso personalizado do
AtlasFederatedAuth
.
spec.enabled
Tipo: booleano
Obrigatório
Sinalizador que determina se a autenticação federada deve ser habilitada para a organização. Padrão é
false
.
spec.connectionSecretRef.name
Tipo: string
Obrigatório
Nome do segredo opaco que contém um único
password
campo com 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
,publicApiKey
eprivateApiKey
.As chaves de API do segredo devem ter o role
Organization Owner
. Você pode usar o mesmo segredo de um Recurso PersonalizadoAtlasProject
somente se o segredo tiverOrganization Owner
permissões.Atlas Kubernetes Operator observa segredos apenas com a etiqueta
atlas.mongodb.com/type=credentials
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 como o
AtlasProject
Recurso Personalizado. Para armazenar segredos em outro namespace, especifique o parâmetro spec.connectionSecretRef.namespace .
spec.connectionSecretRef.namespace
Tipo: 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á segredos de conexão no mesmo namespace como o
AtlasProject
recurso personalizado .
spec.domainAllowList
Tipo: 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.domainRestrictionEnabled
Tipo: 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.ssoDebugEnabled
Tipo: booleano
Opcional
Sinalizador que indica se o fornecedor de identidade tem a depuração habilitada para SSO. O padrão é
false
.
spec.postAuthRoleGrants
Tipo: 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_MEMBER
ORG_READ_ONLY
ORG_BILLING_ADMIN
ORG_GROUP_CREATOR
ORG_OWNER
ORG_BILLING_READ_ONLY
ORG_TEAM_MEMBERS_ADMIN
Para obter uma lista completa dos valores aceitos, consulte o Recurso da API de autenticação federada.
spec.roleMappings
Tipo : 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.externalGroupName
Tipo: 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.roleAssignments
Tipo : 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.projectName
Tipo: string
Opcional
O projeto Atlas na mesma organização à qual associar o papel.
spec.roleMappings.roleAssignments.role
Tipo: 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_MEMBER
ORG_READ_ONLY
ORG_BILLING_ADMIN
ORG_GROUP_CREATOR
ORG_OWNER
ORG_BILLING_READ_ONLY
ORG_TEAM_MEMBERS_ADMIN
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN
GROUP_BILLING_ADMIN
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_CHARTS_ADMIN
GROUP_CLUSTER_MANAGER
GROUP_SEARCH_INDEX_EDITOR