Ajudar a melhorar esta página
Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.
Autenticar usuários para o cluster em um provedor de identidade OpenID Connect
O Amazon EKS oferece suporte ao uso de provedores de identidade OpenID Connect (OIDC) como um método de autenticação de usuários no cluster. Os provedores de identidade OIDC podem ser usados com, ou como uma alternativa para, o AWS Identity and Access Management (IAM). Para obter mais informações sobre como usar a IAM, consulte Conceder acesso a APIs do Kubernetes. Depois de configurar a autenticação do cluster, você pode criar roles
e clusterroles
do Kubernetes para atribuir permissões às funções e, em seguida, vincular as funções às identidades usando rolebindings
e clusterrolebindings
do Kubernetes. Para mais informações, consulte Using RBAC Authorization
Considerações
-
Você pode associar um provedor de identidade OIDC ao cluster.
-
O Kubernetes não fornece um provedor de identidade OIDC. Você pode usar um provedor de identidade OIDC público existente ou executar seu próprio provedor de identidade. Para uma lista de provedores certificados, consulte OpenID Certification
(Certificação OpenID) no site OpenID. -
O URL do emissor do provedor de identidade OIDC deve ser acessível publicamente, para que o Amazon EKS possa descobrir as chaves de assinatura. O Amazon EKS não oferece suporte a provedores de identidade OIDC com certificados autoassinados.
-
Não é possível desabilitar a autenticação IAM em seu cluster, porque ela ainda é necessária para juntar nós a um cluster.
-
Um cluster do Amazon EKS ainda deve ser criado por uma entidade principal do IAM da AWS, em vez de um usuário do provedor de identidade OIDC. Isso ocorre porque o criador do cluster interage com as APIs do Amazon EKS, não com as APIs do Kubernetes.
-
Os usuários autenticados pelo provedor de identidade OIDC serão listados no log de auditoria do cluster se os logs do CloudWatch estiverem ativados para o plano de controle. Para ter mais informações, consulte Habilitar e desabilitar os logs do plano de controle.
-
Não é possível fazer login no AWS Management Console com uma conta de um provedor OIDC. Você só pode visualizar os recursos do Kubernetes no console fazendo login no AWS Management Console com uma conta do AWS Identity and Access Management.
Associe um provedor de identidade OIDC
Antes de associar um provedor de identidade OIDC ao cluster, você precisa das seguintes informações do seu provedor:
- URL do emissor
-
URL do provedor de identidade do OIDC que permite que o servidor de API descubra as chaves de assinatura públicas para verificar tokens. O URL deve começar com
https://
e deve corresponder à reivindicaçãoiss
nos tokens de ID do OIDC do provedor. De acordo com o padrão OIDC, os componentes de caminho são permitidos, mas os parâmetros de consulta não são. Normalmente, o URL consiste apenas em um nome de host, comohttps://server.example.org
ouhttps://example.com
. Este URL deve apontar para o nível abaixo de.well-known/openid-configuration
e deve ser acessível ao público pela Internet. - ID do cliente (também conhecido como público)
-
O ID da aplicação do cliente que faz solicitações de autenticação ao provedor de identidades OIDC.
Você pode associar um provedor de identidade usando o eksctl
ou o AWS Management Console.
Desassociar um provedor de identidade OIDC do cluster
Se você desassociar um provedor de identidade OIDC do cluster, os usuários incluídos no provedor não poderão mais acessar o cluster. No entanto, você ainda pode acessar o cluster com as entidades principais do IAM.
Para desassociar um provedor de identidade OIDC do cluster usando o AWS Management Console
-
Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters
. -
Na seção Provedores de identidade OIDC, selecione Desassociar, insira o nome do provedor de identidade e selecione
Disassociate
.
Exemplo de política do IAM
Se você quiser impedir que um provedor de identidade OIDC seja associado a um cluster, crie e associe a política do IAM a seguir às contas do IAM dos seus administradores do Amazon EKS. Para obter mais informações, consulte Creating IAM policies (Criar políticas do IAM) e Adding IAM identity permissions (Adicionar permissões de identidade do IAM) no Manual do usuário do IAM e também Actions, resources, and condition keys for Amazon Elastic Kubernetes Service (Ações, recursos e chaves de condição para o Amazon Elastic Kubernetes Service) na Referência da autorização de serviço.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "denyOIDC", "Effect": "Deny", "Action": [ "eks:AssociateIdentityProviderConfig" ], "Resource": "arn:aws:eks:
us-west-2
.amazonaws.com:111122223333
:cluster/*" }, { "Sid": "eksAdmin", "Effect": "Allow", "Action": [ "eks:*" ], "Resource": "*" } ] }
A política de exemplo a seguir permite a associação do provedor de identidade OIDC se o clientID
for kubernetes
e issuerUrl
for https://cognito-idp.us-west-2amazonaws.com/*
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCognitoOnly", "Effect": "Deny", "Action": "eks:AssociateIdentityProviderConfig", "Resource": "arn:aws:eks:
us-west-2
:111122223333
:cluster/my-instance
", "Condition": { "StringNotLikeIfExists": { "eks:issuerUrl": "https://cognito-idp.us-west-2
.amazonaws.com/*" } } }, { "Sid": "DenyOtherClients", "Effect": "Deny", "Action": "eks:AssociateIdentityProviderConfig", "Resource": "arn:aws:eks:us-west-2
:111122223333
:cluster/my-instance
", "Condition": { "StringNotEquals": { "eks:clientId": "kubernetes
" } } }, { "Sid": "AllowOthers", "Effect": "Allow", "Action": "eks:*", "Resource": "*" } ] }
Provedores de identidade OIDC validados por parceiros
O Amazon EKS mantém um relacionamento com uma rede de parceiros que oferecem suporte para provedores compatíveis de identidade OIDC. Consulte a documentação dos parceiros a seguir para obter detalhes sobre como integrar o provedor de identidade ao Amazon EKS.
Parceiro |
Produto |
Documentação |
---|---|---|
PingIdentity |
O Amazon EKS tem como objetivo oferecer uma ampla variedade de opções para cobrir todos os casos de uso. Se você desenvolver um provedor de identidade compatível com OIDC e comercialmente disponível que não esteja listado aqui, entre em contato com nossa equipe de parceiros em aws-container-partners@amazon.com