Workloads
With EKS Auto Mode, customers continue to maintain responsibility for their application containers, including availability, security, and monitoring. Auto Mode provides a solid foundation to build upon, but there are several areas where following EKS best practices can improve the security posture of those workloads.
Configuration
Because EKS Auto Mode nodes are Kubernetes conformant, standard Pod-level
configurations work as expected. For example, the Pod securityContext
field
can be used to give additional permissions to Pods and volumeMounts
can be
used to provide access to the host filesystem. Even then, Pods however still face the
restrictions provided by SELinux and a read-only root filesystem on the node. You can use
Kubernetes policy enforcement tools like Kyverno
To vend IAM credentials to Pods within a cluster, EKS Auto Mode nodes include
built-in support for EKS Pod Identity. When a Pod is
launched using a Kubernetes service account that is configured with Pod Identity, the
Kubernetes control plane injects a set of environment variables into the Pod. These
environment variables cause the AWS SDK to request credentials from the Pod Identity
component that Auto Mode has preconfigured on the Node. This process involves the AWS
SDK fetching the Pod's service account token, assigned by the Kubernetes API server, and
exchanging it for IAM credentials via the eks-auth:AssumeRoleForPodIdentity
API. This is the only permission on the managed AmazonEKSWorkerNodeMinimalPolicy policy.
Note
IAM roles for service accounts (IRSA) can also be configured to provide credentials to Pods, while Pod Identity remains the recommended method.
Runtime monitoring
Runtime monitoring observes and analyzes operating system level, networking, and file events to help you detect potential threats in the workloads in your environment. This can include detection of issues such as container breakouts, creation of reverse shells, or elevation of privileges.
Because EKS Auto Mode nodes are fully Kubernetes conformant, runtime monitoring systems that are compatible with Kubernetes nodes should work with Auto Mode nodes. We recommend using Amazon GuardDuty or a third-party solution that is validated to work with Auto Mode for runtime monitoring. The full list of runtime issues that GuardDuty can detect is available in GuardDuty Runtime Monitoring finding types.