As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use AWS segredos e o provedor de configuração CSI com o Pod Identity para Amazon EKS
A integração do AWS Secrets and Configuration Provider com o Pod Identity Agent para o Amazon Elastic Kubernetes Service fornece segurança aprimorada, configuração simplificada e desempenho aprimorado para aplicativos executados no Amazon EKS. O Pod Identity simplifica a autenticação do IAM para o Amazon EKS ao recuperar segredos do Secrets Manager ou AWS Systems Manager parâmetros do Parameter Store.
A Identidade de Pods do Amazon EKS simplifica o processo de configuração de permissões do IAM para aplicações do Kubernetes, possibilitando que as permissões sejam configuradas diretamente por meio das interfaces do Amazon EKS, reduzindo o número de etapas e eliminando a necessidade de alternar entre os serviços do Amazon EKS e do IAM. A Identidade de Pods permite o uso de um único perfil do IAM em vários clusters sem atualizar as políticas de confiança, e oferece suporte a tags de sessão de perfis para um controle de acesso mais granular. Essa abordagem não apenas simplifica o gerenciamento de políticas, permitindo a reutilização de políticas de permissão em todos os perfis, mas também aumenta a segurança ao permitir o acesso a recursos da AWS com base nas tags correspondentes.
Como funciona
-
A Identidade de Pods atribui um perfil do IAM ao pod.
-
O ASCP usa essa função para se autenticar com. Serviços da AWS
-
Se autorizado, o ASCP recupera os segredos solicitados e os disponibiliza para o Pod.
Para obter mais informações, consulte Como a Identidade de Pods do Amazon EKS funciona no Guia do usuário do Amazon EKS.
Pré-requisitos
Importante
A Identidade de Pods é compatível somente com o Amazon EKS na nuvem. Ele não é compatível com o Amazon EKS Anywhere
-
Cluster do Amazon EKS (versão 1.24 ou posterior)
-
Acesso a um AWS CLI cluster Amazon EKS via
kubectl
-
Acesso a dois Contas da AWS (para acesso entre contas)
Instalar o agente da Identidade de Pods do Amazon EKS
Para usar a Identidade de Pods com o cluster, você deve instalar o complemento do agente da Identidade de Pods do Amazon EKS.
Para instalar o complemento agente da Identidade de Pods
-
Instale o complemento Pod Identity Agent em seu cluster:
eksctl create addon \ --name eks-pod-identity-agent \ --cluster
clusterName
\ --regionregion
Configurar o ASCP com a Identidade de Pods
-
Crie uma política de permissões que
secretsmanager:GetSecretValue
concedasecretsmanager:DescribeSecret
permissões aos segredos que o pod precisa acessar. Para visualizar um exemplo de política, consulte Exemplo: permissão para ler e descrever segredos individuais. -
Crie um perfil do IAM que possa ser assumido pela entidade principal do serviço do Amazon EKS para a Identidade de Pods:
Anexe a política do IAM à função:
aws iam attach-role-policy \ --role-name
MY_ROLE
\ --policy-arnPOLICY_ARN
-
Crie uma associação de Identidade de Pods. Para obter um exemplo, consulte Criar uma associação de Identidade de Pods no Guia do usuário do Amazon EKS
-
Crie o
SecretProviderClass
que especifica quais segredos montar no pod:kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleSecretProviderClass-PodIdentity.yaml
A principal diferença SecretProviderClass entre o IRSA e o Pod Identity é o parâmetro
usePodIdentity
opcional. É um campo opcional que determina a abordagem de autenticação. Quando não especificado, o padrão é usar os perfis do IAM para contas de serviço (IRSA).-
Para usar a Identidade de Pods do EKS, use qualquer um destes valores:
"true", "True", "TRUE", "t", "T"
. -
Para usar explicitamente o IRSA, defina para qualquer um destes valores:
"false", "False", "FALSE", "f", or "F"
.
-
-
Implante o pod que monta os segredos em
/mnt/secrets-store
:kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleDeployment-PodIdentity.yaml
-
Se você usa um cluster privado do Amazon EKS, certifique-se de que a VPC na qual o cluster está tenha um AWS STS endpoint. Para obter informações sobre a criação de um endpoint, consulte Endpoints da VPC da interface no Guia do usuário do AWS Identity and Access Management .
Verificar a montagem do segredo
Para verificar se o segredo está montado corretamente, execute o seguinte comando:
kubectl exec -it $(kubectl get pods | awk '/
pod-identity-deployment
/{print $1}' | head -1) -- cat /mnt/secrets-store/MySecret
Para configurar o Amazon EKS Pod Identity para acessar segredos no Secrets Manager
-
Crie uma política de permissões que
secretsmanager:GetSecretValue
concedasecretsmanager:DescribeSecret
permissões aos segredos que o pod precisa acessar. Para visualizar um exemplo de política, consulte Exemplo: permissão para ler e descrever segredos individuais. -
Crie um segredo no Secrets Manager, se você ainda não tiver um.
Solução de problemas
É possível visualizar a maioria dos erros ao descrever a implantação do pod.
Para ver mensagens de erro para o contêiner
-
Obtenha uma lista de nomes de pods com o comando a seguir. Se você não estiver usando o namespace padrão, use
-n
.NAMESPACE
kubectl get pods
-
Para descrever o pod, no comando a seguir,
PODID
use o ID do pod dos pods que você encontrou na etapa anterior. Se você não estiver usando o namespace padrão, use-n
.NAMESPACE
kubectl describe pod/
PODID
Para ver erros para o ASCP
-
Para encontrar mais informações nos registros do provedor, no comando a seguir,
PODID
use o ID do csi-secrets-store-provider-aws Pod.kubectl -n kube-system get pods kubectl -n kube-system logs pod/
PODID