Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Etapa 1: configurar o cluster do Amazon EKS e configurar permissões do IAM

Modo de foco
Etapa 1: configurar o cluster do Amazon EKS e configurar permissões do IAM - Amazon Keyspaces (para Apache Cassandra)

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á.

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á.

Configure o cluster do Amazon EKS e crie os recursos do IAM necessários para permitir que uma conta de serviço do Amazon EKS se conecte à sua tabela do Amazon Keyspaces
  1. Crie um provedor Open ID Connect (OIDC) para o cluster do Amazon EKS. Isso é necessário para usar perfis do IAM em contas de serviço. Para obter mais informações sobre provedores OIDC e como criá-los, consulte Criação de um provedor IAM OIDC para seu cluster no Guia do usuário do Amazon EKS.

    1. Crie o provedor de identidade OIDC do IAM para o cluster com o comando a seguir. Este exemplo pressupõe que o nome do cluster my-eks-cluster. Se você tiver um cluster com um nome diferente, lembre-se de atualizar o nome em todos os comandos futuros.

      eksctl utils associate-iam-oidc-provider --cluster my-eks-cluster --approve
    2. Confirme se o provedor de identidade OIDC foi registrado com IAM com o comando a seguir.

      aws iam list-open-id-connect-providers --region aws-region

      A saída deve ser semelhante a esta. Anote o nome do recurso da Amazon (ARN) no OIDC, será necessário na próxima etapa ao criar uma política de confiança para a conta de serviço.

      { "OpenIDConnectProviderList": [ .. { "Arn": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" } ] }
  2. Crie uma conta de serviço para o cluster do Amazon EKS. Contas de serviço fornecem uma identidade para processos executados em um Pod. Um pod é o menor e mais simples objeto Kubernetes que você pode usar para implantar um aplicativo em contêiner. Em seguida, crie um perfil do IAM que a conta de serviço possa assumir para obter permissões para recursos. Você pode acessar qualquer serviço AWS de um pod que tenha sido configurado para usar uma conta de serviço que possa assumir um perfil do IAM com permissões de acesso a esse serviço.

    1. Crie um novo namespace para a conta de serviço. Um namespace ajuda a isolar os recursos de cluster criados para este tutorial. Você pode criar um namespace usando o seguinte comando:

      kubectl create namespace my-eks-namespace
    2. Para usar um namespace personalizado, você precisa associá-lo a um perfil do Fargate. O código a seguir é um exemplo disso.

      eksctl create fargateprofile \ --cluster my-eks-cluster \ --name my-fargate-profile \ --namespace my-eks-namespace \ --labels *=*
    3. Crie uma conta de serviço com o nome my-eks-serviceaccount no namespace my-eks-namespace do seu cluster Amazon EKS usando o comando a seguir.

      cat >my-serviceaccount.yaml <<EOF apiVersion: v1 kind: ServiceAccount metadata: name: my-eks-serviceaccount namespace: my-eks-namespace EOF kubectl apply -f my-serviceaccount.yaml
    4. Execute o comando a seguir para criar um arquivo de política de confiança que instrua o perfil do IAM a confiar em sua conta de serviço. Essa relação de confiança é necessária antes que uma entidade principal possa assumir uma função. Você precisa realizar as seguintes edições no arquivo:

      • Para o Principal, insira o ARN que o IAM retornou ao comando list-open-id-connect-providers. O ARN contém o número da sua conta e a região.

      • Na declaração condition, substitua o Região da AWS e o ID do OIDC.

      • Confirme se o nome e o namespace da conta de serviço estão corretos.

      É necessário anexar o arquivo de política de confiança na etapa a seguir ao criar o perfil do IAM.

      cat >trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:my-eks-namespace:my-eks-serviceaccount", "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com" } } } ] } EOF

      Opcional: É possível também adicionar várias entradas nas condições StringEquals ou StringLike abaixo para permitir que várias contas de serviço ou namespaces assumam o perfil. Para permitir que sua conta de serviço assuma um perfil do IAM em uma conta AWS diferente, consulte Permissões do IAM entre contas no Guia do usuário do Amazon EKS.

  3. Crie um perfil do IAM com o nome my-iam-role a ser assumido pela conta de serviço do Amazon EKS. Anexe o arquivo de política de confiança criado na etapa anterior ao perfil. A política de confiança especifica a conta de serviço e o provedor do OIDC em que o perfil do IAM pode confiar.

    aws iam create-role --role-name my-iam-role --assume-role-policy-document file://trust-relationship.json --description "EKS service account role"
  4. Atribua as permissões da perfil do IAM ao Amazon Keyspaces anexando uma política de acesso.

    1. Anexe uma política de acesso para definir as ações que o perfil do IAM pode realizar em recursos específicos do Amazon Keyspaces. Para este tutorial, usamos a política gerenciada pela AWS AmazonKeyspacesFullAccess, porque nosso aplicativo gravará dados na sua tabela do Amazon Keyspaces. No entanto, como prática recomendada, é recomendável criar políticas de acesso personalizadas que implementem o princípio de privilégios mínimos. Para obter mais informações, consulte Como o Amazon Keyspaces funciona com IAM.

      aws iam attach-role-policy --role-name my-iam-role --policy-arn=arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess

      Confirme se a política foi anexada com sucesso ao perfil do IAM com a seguinte declaração.

      aws iam list-attached-role-policies --role-name my-iam-role

      A saída deve ser algo parecido com isso.

      { "AttachedPolicies": [ { "PolicyName": "AmazonKeyspacesFullAccess", "PolicyArn": "arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess" } ] }
    2. Sinalize a conta de serviço com o nome do recurso da Amazon (ARN) do perfil do IAM que pode ser assumido. Certifique-se de atualizar o perfil ARN com seu ID da conta.

      kubectl annotate serviceaccount -n my-eks-namespace my-eks-serviceaccount eks.amazonaws.com/role-arn=arn:aws:iam::111122223333:role/my-iam-role
  5. Confirme se o perfil do IAM e a conta de serviço estão configurados corretamente.

    1. Confirme se a política de confiança do perfil do IAM está configurada corretamente com a seguinte instrução.

      aws iam get-role --role-name my-iam-role --query Role.AssumeRolePolicyDocument

      A saída deve ser semelhante a esta.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.aws-region/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com", "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:my-eks-namespace:my-eks-serviceaccount" } } } ] }
    2. Confirme que a conta do serviço do Amazon EKS esteja anotada com o perfil do IAM.

      kubectl describe serviceaccount my-eks-serviceaccount -n my-eks-namespace

      A saída deve ser semelhante a esta.

      Name: my-eks-serviceaccount Namespace:my-eks-namespace Labels: <none> Annotations: eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/my-iam-role Image pull secrets: <none> Mountable secrets: <none> Tokens: <none> [...]

Depois de criar a conta de serviço do Amazon EKS, o perfil do IAM e configurar os relacionamentos e permissões necessários, prossiga paraEtapa 2: configurar o aplicativo.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.