Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Criar uma entrada de acesso para um usuário ou perfil do IAM usando uma política de acesso e a AWS CLI
Crie entradas de acesso do Amazon EKS que usam políticas de acesso gerenciadas pela AWS do EKS para conceder permissões padronizadas às identidades do IAM para acessar e gerenciar clusters do Kubernetes.
Visão geral
As entradas de acesso no Amazon EKS definem como as identidades do IAM (usuários e perfis) acessam e interagem com seus clusters do Kubernetes. Ao criar entradas de acesso com as políticas de acesso do EKS, você pode:
-
Conceda permissão a usuários ou funções específicas do IAM para acessar seu cluster do EKS
-
Controle as permissões usando políticas de acesso do EKS gerenciadas pela AWS que fornecem conjuntos de permissões padronizados e predefinidos
-
Permissões de escopo para namespaces específicos ou em todo o cluster
-
Simplifique o gerenciamento de acesso sem modificar o
aws-auth
ConfigMap ou criar recursos RBAC do Kubernetes -
Use uma abordagem integrada com a AWS para o controle de acesso do Kubernetes que abrange casos de uso comuns, mantendo as melhores práticas de segurança
Essa abordagem é recomendada para a maioria dos casos de uso porque fornece permissões gerenciadas pela AWS e padronizadas sem exigir a configuração manual do Kubernetes RBAC. As políticas de acesso do EKS eliminam a necessidade de configurar manualmente os recursos RBAC do Kubernetes e oferecem conjuntos de permissões predefinidos que abrangem casos de uso comuns.
Pré-requisitos
-
O modo de autenticação do seu cluster deve ser configurado para permitir entradas de acesso. Para obter mais informações, consulte Alterar o modo de autenticação para usar entradas de acesso.
-
Instale e configure a AWS CLI, conforme descrito em Instalar, no Guia do usuário da AWS Command Line Interface.
Etapa 1: definir a entrada de acesso
-
Encontre o ARN da identidade do IAM, como um usuário ou um perfil, ao qual você deseja conceder permissões.
-
Cada identidade do IAM pode ter somente uma entrada de acesso ao EKS.
-
-
Determine se você deseja que as permissões da política de acesso do Amazon EKS se apliquem somente a um namespace específico do Kubernetes ou a todo o cluster.
-
Se você quiser limitar as permissões a um namespace específico, anote o nome do namespace.
-
-
Selecione a política de acesso do EKS que você deseja para a identidade do IAM. Essa política fornece permissões no cluster. Anote o ARN da política.
-
Para obter uma lista de políticas, consulte as políticas de acesso disponíveis.
-
-
Determine se o nome de usuário gerado automaticamente é apropriado para a entrada de acesso ou se você precisa especificar manualmente um nome de usuário.
-
A AWS gera automaticamente esse valor com base na identidade do IAM. Você pode definir um nome de usuário personalizado. Isso é visível nos logs do Kubernetes.
-
Para obter mais informações, consulte Definir um nome de usuário personalizado para entradas de acesso ao EKS.
-
Etapa 2: criar uma entrada de acesso
Depois de planejar a entrada de acesso, use a AWS CLI para criá-la.
Os exemplos a seguir abordam a maior parte dos casos de uso. Veja a referência da CLI para todas as opções de configuração.
Você anexará a política de acesso na próxima etapa.
aws eks create-access-entry --cluster-name <cluster-name> --principal-arn <iam-identity-arn> --type STANDARD
Etapa 3: associar a política de acesso
O comando difere com base em se você deseja que a política seja limitada a um namespace específico do Kubernetes.
Você precisa do ARN da política de acesso. Analise as políticas de acesso disponíveis.
Criar uma política sem escopo de namespace
aws eks associate-access-policy --cluster-name <cluster-name> --principal-arn <iam-identity-arn> --policy-arn <access-policy-arn>
Criar com escopo de namespace
aws eks associate-access-policy --cluster-name <cluster-name> --principal-arn <iam-identity-arn> \ --access-scope type=namespace,namespaces=my-namespace1,my-namespace2 --policy-arn <access-policy-arn>