Я создал кластер EKS с помощью консоли AWS, при создании кластера я использовал свои предварительно созданные VPC и подсети, я создал одну роль eks-role
, к которой прикреплены AmazonEKSClusterPolicy
и AmazonEKSServicePolicy
.
Я добавил файл kubeconfig
, используя:
aws eks update-kubeconfig --name eks-cluster --role-arn "arn:aws:iam::############:role/eks-role"
Когда я использую команду kubectl get svc
, я получаю сообщение об ошибке:
Произошла ошибка (AccessDenied) при вызове операции AssumeRole: Доступ запрещен
Я не знаю, что может быть не так с этим.
В разделе «Мой пользователь» я добавил политику в виде:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::############:role/eks-role"
}
]
}
И в роли я добавил доверительные отношения:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::############:user/test"
},
"Action": "sts:AssumeRole"
}
]
}
Мой ~/.aws/credentials
файл выглядит так:
**[default]**
aws_access_key_id = ##############
aws_secret_access_key = #############################
region=us-west-1
**[test]**
aws_access_key_id = ###########
aws_secret_access_key = #############################
region=ap-southeast-1
**[eks]**
role_arn = arn:aws:iam::##########:role/eks-role
source_profile = test