Como o Amazon EKS funciona com o IAM - Amazon EKS

Como o Amazon EKS funciona com o IAM

Antes de usar o IAM para gerenciar o acesso ao Amazon EKS, você deve entender quais recursos do IAM estão disponíveis para uso com o Amazon EKS. Para obter uma visualização de alto nível de como o Amazon EKS e outros serviços da AWS funcionam com o IAM, consulte Serviços da AWS compatíveis com o IAM no Manual do usuário do IAM.

Políticas baseadas em identidade do Amazon EKS

Com as políticas baseadas em identidade do IAM, é possível especificar ações ou atributos permitidos ou negados, bem como as condições sob as quais as ações são permitidas ou negadas. A Amazon EKS oferece suporte a ações, chaves de condição e recursos específicos. Para saber mais sobre todos os elementos usados em uma política JSON, consulte Referência de elementos de política JSON do IAM no Guia do usuário do IAM.

Ações

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a o quê. Ou seja, qual entidade principal pode executar ações em quais recursos e em que condições.

O elemento Action de uma política JSON descreve as ações que você pode usar para permitir ou negar acesso em uma política. As ações de política geralmente têm o mesmo nome que a operação de API da AWS associada. Existem algumas exceções, como ações somente de permissão, que não têm uma operação de API correspondente. Algumas operações também exigem várias ações em uma política. Essas ações adicionais são chamadas de ações dependentes.

Incluem ações em uma política para conceder permissões para executar a operação associada.

As ações de política na Amazon EKS usam o seguinte prefixo antes da ação: eks:. Por exemplo, para conceder a alguém permissão para obter informações descritivas sobre um cluster do Amazon EKS, inclua a ação DescribeCluster na política dessa pessoa. As instruções de política devem incluir um elemento Action ou NotAction.

Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:

"Action": ["eks:action1", "eks:action2"]

Você também pode especificar várias ações usando caracteres curinga (*). Por exemplo, para especificar todas as ações que começam com a palavra Describe, inclua a seguinte ação:

"Action": "eks:Describe*"

Para ver uma lista das ações do Amazon EKS, consulte Ações definidas pelo Amazon Elastic Kubernetes Service na Referência de autorização de serviço.

Recursos

Os administradores podem usar as políticas de JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos e em que condições.

O elemento de política Resource JSON especifica o objeto ou os objetos aos quais a ação se aplica. As instruções devem incluir um elemento Resource ou um elemento NotResource. Como prática recomendada, especifique um atributo usando seu Nome do atributo da Amazon (ARN). Isso pode ser feito para ações que oferecem suporte a um tipo de atributo específico, conhecido como permissões em nível de atributo.

Para ações que não oferecem suporte a permissões em nível de recurso, como operações de listagem, use um caractere curinga (*) para indicar que a instrução se aplica a todos os recursos.

"Resource": "*"

O recurso de cluster do Amazon EKS tem o seguinte ARN.

arn:aws:eks:region-code:account-id:cluster/cluster-name

Para obter mais informações sobre o formato de ARNs, consulte Nomes de recursos da Amazon (ARNs) e namespaces de serviços da AWS.

Por exemplo, para especificar o cluster com o nome my-cluster em sua instrução, use o seguinte ARN:

"Resource": "arn:aws:eks:region-code:111122223333:cluster/my-cluster"

Para especificar todos os clusters que pertencem a uma conta e Região da AWS específicas, use o caractere curinga (*):

"Resource": "arn:aws:eks:region-code:111122223333:cluster/*"

Algumas ações do Amazon EKS, como as que servem para a criação de recursos, não podem ser executadas em um recurso específico. Nesses casos, você deve utilizar o caractere curinga (*).

"Resource": "*"

Para ver uma lista dos tipos de recursos do Amazon EKS e seus ARNs, consulte Recursos definidos pelo Amazon Elastic Kubernetes Service na Referência de autorização de serviço. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte Ações definidas pelo Amazon Elastic Kubernetes Service.

Chaves de condição

O Amazon EKS define seu próprio conjunto de chaves de condição e também oferece suporte ao uso de algumas chaves de condição globais. Para ver todas as chaves de condição globais da AWS, consulte Chaves de contexto de condição globais da AWS no Guia do usuário do IAM.

Você pode definir chaves de condição ao associar um provedor OpenID Connect ao cluster. Para obter mais informações, consulte Exemplo de política do IAM.

Todas as ações do Amazon EC2 oferecem suporte às chaves de condição aws:RequestedRegion e ec2:Region. Para obter mais informações, consulte Exemplo: restrição de acesso a uma Região da AWSespecífica.

Para obter uma lista de chaves de condição do Amazon EKS, consulte Condições definidas pelo Amazon Elastic Kubernetes Service na Referência de autorização de serviço. Para saber com quais ações e recursos você pode usar a chave de condição, consulte Ações definidas pelo Amazon Elastic Kubernetes Service.

Exemplos

Para visualizar exemplos de políticas baseadas em identidade do Amazon EKS, consulte Exemplos de políticas baseadas em identidade do Amazon EKS.

Quando você cria um cluster do Amazon EKS, a entidade principal do IAM que cria o cluster, recebe automaticamente permissões system:masters na configuração de controle de acesso baseado em perfil (RBAC) no ambiente de gerenciamento do Amazon EKS. Como essa entidade principal não é exibida em nenhuma configuração visível, mantenha o controle de qual entidade principal criou o cluster originalmente. Para conceder a outras entidades principais do IAM a capacidade de interagir com o cluster, edite o aws-auth ConfigMap no Kubernetes e crie um Kubernetes rolebinding ou clusterrolebinding com o nome de um group que você especifica no aws-auth ConfigMap.

Para obter mais informações sobre como trabalhar com o ConfigMap, consulte Habilitar o acesso da entidade principal do IAM ao cluster.

Políticas baseadas em recursos do Amazon EKS

O Amazon EKS não oferece suporte a políticas baseadas em recursos.

Autorização baseada em etiquetas do Amazon EKS

É possível anexar etiquetas aos recursos do Amazon EKS ou passar etiquetas em uma solicitação para o Amazon EKS. Para controlar o acesso baseado em tags, forneça informações sobre as tags no elemento de condição de uma política usando as aws:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys chaves de condição. Para obter mais informações sobre recursos de marcação do Amazon EKS, consulte Marcar os recursos do Amazon EKS. Para obter mais informações sobre com quais ações você pode usar tags em chaves de condição, consulte Actions defined by Amazon EKS (Ações definidas pelo Amazon EKS) na Referência de autorização do serviço.

Funções do IAM no Amazon EKS

Perfil do IAM é uma entidade dentro da sua conta da AWS que tem permissões específicas.

Usar credenciais temporárias com o Amazon EKS

É possível usar credenciais temporárias para fazer login com federação, assumir um perfil do IAM ou assumir um perfil entre contas. As credenciais de segurança temporárias são obtidas chamando operações da API do AWS STS, como AssumeRole ou GetFederationToken.

A Amazon EKS oferece suporte ao uso de credenciais temporárias.

Perfis vinculados ao serviço

Perfis vinculados ao serviço permitem que os serviços da AWS acessem recursos em outros serviços para concluir uma ação em seu nome. Os perfis vinculados a serviço aparecem na sua conta do IAM e são de propriedade do serviço. Um administrador pode visualizar, mas não pode editar as permissões de funções vinculadas ao serviço.

Amazon EKS oferece suporte às funções de serviço. Para obter detalhes sobre como criar ou gerenciar funções vinculadas ao serviço do Amazon EKS, consulte Usar funções vinculadas ao serviço para o Amazon EKS.

Perfis de serviço

Esse atributo permite que um serviço assuma um perfil de serviço em seu nome. O perfil permite que o serviço acesse recursos em outros serviços para concluir uma ação em seu nome. Os perfis de serviço aparecem em sua conta do IAM e são de propriedade da conta. Isso indica que um administrador do IAM pode alterar as permissões para essa função. Porém, fazer isso pode alterar a funcionalidade do serviço.

Amazon EKS oferece suporte às funções de serviço. Para obter mais informações, consulte Função do IAM do cluster do Amazon EKS e Perfil do IAM em nós do Amazon EKS.

Escolher uma função IAM no Amazon EKS

Ao criar um recurso de cluster no Amazon EKS, é necessário escolher uma função para permitir que o Amazon EKS acesse outros recursos da AWS em seu nome. Se você já tiver criado uma função de serviço, o Amazon EKS fornecerá uma lista de funções da qual escolher. É importante escolher uma função que tenha as políticas gerenciadas do Amazon EKS anexadas. Para obter mais informações, consulte Verificar se há uma função de cluster existente e Verificar se há uma função existente do nó.