Skip to main content

lacework-global-364

5.5.1 Manage Kubernetes Role-Based Access Control (RBAC) users with AWS Identity and Access Management (IAM) Authenticator for Kubernetes (Manual)

Profile Applicability

• Level 2

Description

Amazon Elastic Kubernetes Service (EKS) uses IAM to provide authentication to your Kubernetes cluster through the AWS IAM Authenticator for Kubernetes. You can configure the stock kubectl client to work with Amazon EKS by installing the AWS IAM Authenticator for Kubernetes and modifying your kubectl configuration file to use it for authentication.

Rationale

On- and off-boarding users is often difficult to automate and prone to error. Using a single source of truth for user permissions reduces the number of locations that an individual must be off-boarded from, and prevents users gaining unique permissions sets that increase the cost of audit.

Impact

Users must now be assigned to the IAM group created to use this namespace and deploy applications. If they are not they will not be able to access the namespace or deploy.

Audit

To Audit access to the namespace $NAMESPACE, assume the IAM role yourIAMRoleName for a user that you created, and then run the following command:

$ kubectl get role -n $NAMESPACE

The response lists the RBAC role that has access to this Namespace.

Remediation

Refer to the 'Managing users or IAM roles for your cluster' in Amazon EKS documentation.

References

https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html