是否可以阻止 EKS 上的 kubernetes pod 承担节点的 IAM 角色?

Is it possible to prevent a kubernetes pod on EKS from assuming the node's IAM role?

默认情况下,AWS EKS 上的任何 kubernetes pod 都可以承担底层节点的 IAM 角色。这意味着所有容器 immediately get access 到 AmazonEKSWorkerNodePolicy 和 AmazonEC2ContainerRegistryReadOnly 等策略,我想避免这些策略。

我不想使用 iptables 完全阻止所有容器使用 AWS API,因为如果提供适当的凭据,应该可以调用它。

使用 IAM roles for service accounts,可以将某个 IAM 角色与 pod 的服务帐户相关联。但这是否会阻止 pod 承担底层节点的 IAM 角色?

A​​WS 文档中描述了可以防止它(如果一起使用)的两个主要因素:

最重要的是,正如文档中指出的那样,这取决于 CNI,如果您使用 Calico,这很好write-up 解决了 Calico 网络策略的问题和缓解措施。

另一种选择是使用 kube2iam