De forma predeterminada, cualquier pod de kubernetes en AWS EKS puede asumir el rol de IAM del nodo subyacente. Eso significa que todos los contenedores obtienen acceso inmediato a políticas como AmazonEKSWorkerNodePolicy y AmazonEC2ContainerRegistryReadOnly, que quiero evitar.
No quiero bloquear la API de AWS por completo de todos los contenedores que usan iptables porque, dadas las credenciales adecuadas, debería ser posible realizar llamadas.
Con los roles de IAM para cuentas de servicio , es posible asociar un determinado rol de IAM con la cuenta de servicio del pod. Pero, ¿eso impide que un pod asuma el rol de IAM del nodo subyacente?
Las dos cosas principales que podrían evitarlo (si se usan juntas) y se describen en la documentación de AWS:
Además de eso, como se indica en la documentación, esto depende del CNI y, en caso de que use Calico, este es un buen artículo sobre el problema y la mitigación con las políticas de red de Calico.
Otra opción es usar kube2iam .