O AWS não pôde obter o token: AccessDenied: Usuário: o ARN não está autorizado a executar: sts: AssumeRole no recurso: Função: ARN

2

Estou seguindo o guia passo a passo para configurar e o ambiente do kubernetes na AWS.

link

Já teve alguns gochchas .. e eles foram respondidos parcialmente.

  1. link
  2. link

Por algum motivo, as pessoas conseguiram resolver usando essas diretrizes disponíveis nessas respostas, e eu ainda não consegui decifrá-lo.

could not get token: AccessDenied: User: arn:aws:iam::sssssss:user/testprofileUser is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::sssssssss:role/eksServiceRole

O que eu fiz:

  1. Eu criei um usuário do IAM com privilégios de administrador (servicesDev).
  2. Criei uma função IAM para o serviço EKS (amazonEKSServiceRole)

amazonEKSServiceRole tem uma relação de confiança como abaixo,

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Este é o meu arquivo kubeconfig,

apiVersion: v1
clusters:
- cluster:
    server: https://7F30ANNSDSDMDCE1.ylq.us-east-1.eks.amazonaws.com
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURB...
  name: clouddev
contexts:
- context:
    cluster: clouddev
    user: aws
  name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws-iam-authenticator
      args:
        - "token"
        - "-i"
        - "clouddev"
        - "-r"
        - "arn:aws:iam::xxxxx:role/amazonEKSServiceRole"
      env:
        - name: AWS_PROFILE
          value: "testprofile"

Para ficar claro, tenho uma testprofile configuração corretamente em ~/.aws/credentials

Se alguém puder lançar alguma luz muito apreciada.

    
por Diyoda_ 18.08.2018 / 06:53

2 respostas

2

Você também precisa configurar a "relação de confiança" para a função AWSServiceRoleForAmazonEKS, que permite que a EKS a assuma.

Na parte inferior deste link, há detalhes sobre o que fazer:

Papel IAM do Serviço Amazon EKS

    
por 18.08.2018 / 08:01
0

Minha situação era, eu criei o VPC usando o usuário root e criei o resto do infra (plano de controle do eks e nós de trabalho usando um usuário diferente). Quando recriou tudo usando o mesmo usuário, as coisas ficaram lisas e consegui criar um cluster. Eu vou postar uma vez eu cobri a base para o controle de acesso usando STS

Eu tive que adicionar uma declaração adicional ao relacionamento de confiança.

    
por 18.08.2018 / 08:12