Сегодня рассмотрим сервис AWS IAM, как основной инструмент для аутентификации и авторизации AWS EKS.

Для аутентификации EKS использует Webhook Authentication Token, API-серверу передаётся специально сформированный токен, в котором передаётся идентификатор ARN (Amazon Resource Name) IAM-пользователя/роли.



Далее API-сервер, с помощью AWS IAM Authenticator обращается к сервису AWS IAM, который проверяет имеет ли данный пользователь права обращаться к кластеру AWS EKS, сравнивая ARN запроса с ARN mapRoles в aws-auth ConfigMap.



После того, как пользователь прошёл аутентификацию, Kubernetes должен c помощью Role Based Access Control проверить сам запрос — есть ли у данного клиента право на выполнение запрошенных действий, например — выполнение вызова kubectl get pods. Так же для аутентификации AWS EKS в качестве альтернативы может использоваться OpenID Connect (OIDC).

Таким образом, при условии грамотной конфигурации, AWS IAM представляет собой мощный инструмент для обеспечения безопасности AWS EKS.