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.
Conceder acesso aos pods a recursos da {aws} baseados em tags
O controle de acesso por atributo (ABAC) concede direitos aos usuários por meio de políticas que combinam os atributos. A Identidade de Pods do EKS anexa tags às credenciais temporárias de cada pod com atributos como nome do cluster, namespace e nome da conta de serviço. Essas tags de sessão de perfil permitem que os administradores criem um único perfil que pode funcionar em várias contas de serviço, permitindo o acesso aos recursos da AWS com base em tags correspondentes. Ao adicionar suporte a tags de sessão de perfil, os clientes podem impor limites de segurança mais rígidos entre clusters e workloads dentro dos clusters enquanto reutilizam os mesmos perfis e políticas do IAM.
For exemplo, a política a seguir permitirá a ação s3:GetObject
se o objeto estiver marcado com o nome do cluster do EKS.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/eks-cluster-name": "${aws:PrincipalTag/eks-cluster-name}" } } } ] }
Lista de tags de sessão adicionadas pelo EKS Pod Identity
A lista a seguir contém todas as chaves das tags que são adicionadas à solicitação de AssumeRole
feita pelo Amazon EKS. Para usar essas tags em políticas, use ${aws:PrincipalTag/
seguido pela chave, por exemplo, ${aws:PrincipalTag/kubernetes-namespace}
.
-
eks-cluster-arn
-
eks-cluster-name
-
kubernetes-namespace
-
kubernetes-service-account
-
kubernetes-pod-name
-
kubernetes-pod-uid
Cópia entre contas
Todas as tags de sessão adicionadas pelo EKS Pod Identity são transitivas; as chaves e os valores das tags são passados para quaisquer ações AssumeRole
usadas por suas workloads para trocar de perfil para outra conta. Você pode usar essas tags em políticas de outras contas para limitar o acesso em cenários entre contas. Para obter mais informações, consulte Encadeamento de funções com tags de sessão no Guia do usuário do IAM.
Tags personalizadas
O EKS Pod Identity não pode adicionar outras tags personalizadas à ação AssumeRole
que ele mesmo executa. No entanto, as tags que você aplica ao perfil do IAM estão sempre disponíveis no mesmo formato: ${aws:PrincipalTag/
seguidas pela chave, por exemplo, ${aws:PrincipalTag/MyCustomTag}
.
nota
As tags adicionadas à sessão por meio da solicitação sts:AssumeRole
têm precedência em caso de conflito. Por exemplo, vamos supor que:
-
O Amazon EKS adiciona uma chave
eks-cluster-name
e um valormy-cluster
à sessão quando o EKS assume o perfil de cliente. -
Você adiciona uma tag
eks-cluster-name
ao perfil do IAM com o valormy-own-cluster
.
Nesse caso, o primeiro tem precedência e o valor da tag eks-cluster-name
será my-cluster
.