Назначьте разрешения кластеру EKS с помощью групп IAM.
Следуя этому руководству: https://archive.eksworkshop.com/beginner/091_iam-groups/test-cluster-access/ . Я считаю, что здесь не хватает того, что он пытается донести, принимая на себя роль непосредственно вTest EKS page
Я создал роль со следующими политиками/доверительными отношениями.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNT:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
Я создал группу пользователей со следующей политикой разрешений
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAssumeOrganizationAccountRole",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::ACCOUNT:role/k8sAdmin"
}
]
}
Я изменилkube-system aws-auth
ConfigMap для назначения разрешенияk8sAdmin
роль.
apiVersion: v1
data:
mapRoles: |
- groups:
- system:bootstrappers
- system:nodes
rolearn: arn:aws:iam::ACCOUNT:role/eksctl-production-nodegrou-NodeInstanceRole
username: system:node:{{EC2PrivateDNSName}}
- groups:
- system:masters
rolearn: arn:aws:iam::ACCOUNT:role/k8sAdmin
username: admin
mapUsers: |
[]
Когда я принимаю эту роль напрямую, я могу получить доступ к кластеру. Но цель состоит в том, чтобы позволить любому пользователю вk8sAdministrators
группе иметь доступ к кластеру, поскольку у группы есть разрешение на принятие роли.
Не работает с текущим конфигом, члены группы не авторизованы для доступа к кластеру.