Amazon Elastic Kubernetes Service 的Amazon托管策略 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Elastic Kubernetes Service 的Amazon托管策略

Amazon 托管策略是由 Amazon 创建和管理的独立策略。Amazon 托管策略旨在为许多常见用例提供权限,以便您可以开始为用户、组和角色分配权限。

请记住,Amazon 托管式策略可能不会为您的特定使用场景授予最低权限,因为它们可供所有 Amazon 客户使用。我们建议通过定义特定于使用场景的客户管理型策略来进一步减少权限。

您无法更改 Amazon 托管式策略中定义的权限。如果 Amazon 更新在 Amazon 托管式策略中定义的权限,则更新会影响该策略所附加到的所有主体身份(用户、群组和角色)。当新的 Amazon Web Service 启动或新的 API 操作可用于现有服务时,Amazon 最有可能更新 Amazon 托管式策略。

有关更多信息,请参阅《IAM 用户指南》中的 Amazon 托管式策略

Amazon托管策略:AmazonEKS_CNI_Policy

您可以将 AmazonEKS_CNI_Policy 附加到 IAM 实体。在创建 Amazon EC2 节点组之前,此策略必须附加到节点 IAM 角色,或 Amazon VPC CNI plugin for Kubernetes 专用的 IAM 角色。这样它可以代表您执行操作。我们建议您将策略附加到仅由插件使用的角色。有关更多信息,请参阅 使用 Amazon VPC CNI plugin for Kubernetes Amazon EKS 附加组件配置 Amazon VPC CNI plugin for Kubernetes 将 IAM 角色用于服务账户(IRSA)

权限详细信息

此策略包含允许 Amazon EKS 完成以下任务的以下权限:

  • ec2:*NetworkInterfaceec2:*PrivateIpAddresses – 允许 Amazon VPC CNI 插件执行操作,例如为 Pods 预调配弹性网络接口和 IP 地址,以便为在 Amazon EKS 中运行的应用程序提供联网。

  • ec2 读取操作 – 允许 Amazon VPC CNI 插件执行操作,例如描述实例和子网,以查看您的 Amazon VPC 子网中的免费 IP 地址数量。VPC CNI 可以使用每个子网中的免费 IP 地址来选择空闲 IP 地址最多的子网,以便在创建弹性网络接口时使用。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKS_CNI_Policy

Amazon托管策略:AmazonEKSClusterPolicy

您可以将 AmazonEKSClusterPolicy 附加到您的 IAM 实体。在创建集群之前,您必须拥有附加了此策略的集群 IAM 角色。由 Amazon EKS 托管的 Kubernetes 集群会代表您调用其他 Amazon 服务。它们这样做的目的是为了管理您与服务一起使用的资源。

此策略包含允许 Amazon EKS 完成以下任务的以下权限:

  • autoscaling – 读取和更新 Auto Scaling 组的配置。Amazon EKS 不使用这些权限,但它们保留在策略中,以确保向后兼容。

  • ec2 – 使用与 Amazon EC2 节点关联的卷和网络资源执行工作。此为必需操作,以便 Kubernetes 控制面板可以将实例加入到集群,并动态预置和管理 Kubernetes 持久卷请求的 Amazon EBS 卷。

  • elasticloadbalancing – 使用 Elastic Load Balancer 并将节点添加到其中作为目标。此为必需操作,以便 Kubernetes 控制面板能够动态预置 Kubernetes 服务请求的 Elastic Load Balancer。

  • iam – 创建服务相关角色。此为必需操作,以便 Kubernetes 控制面板能够动态预置 Kubernetes 服务请求的 Elastic Load Balancer。

  • kms – 从 Amazon KMS 中读取密钥。这对于 Kubernetes 控制面板是必需的,以支持 etcd 中存储的 Kubernetes 密钥的密钥加密

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKSClusterPolicy

Amazon托管策略:AmazonEKSFargatePodExecutionRolePolicy

您可以将 AmazonEKSFargatePodExecutionRolePolicy 附加到您的 IAM 实体。在创建 Fargate 配置文件之前,您必须创建 Fargate Pod 执行角色并将此策略附加到其上。有关更多信息,请参阅 创建 Fargate Pod 执行角色Amazon Fargate 配置文件

此策略向该角色授予权限,以提供对必须在 Fargate 上运行 Amazon EKS Pods 的其他 Amazon 服务资源的访问权限。

权限详细信息

此策略包含允许 Amazon EKS 完成以下任务的以下权限:

  • ecr – 允许在 Fargate 上运行的容器组(pod)提取存储在 Amazon ECR 中的容器镜像。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKSFargatePodExecutionRolePolicy

Amazon托管策略:AmazonEKSForFargateServiceRolePolicy

您不能将 AmazonEKSForFargateServiceRolePolicy 附加到您的 IAM 实体。将此策略附加到允许 Amazon EKS 代表您执行操作的服务相关角色。有关更多信息,请参阅 AWSServiceRoleforAmazonEKSForFargate。

此策略授予 Amazon EKS 运行 Fargate 任务所必要的权限。仅当您具有 Fargate 节点时,才会使用此策略。

权限详细信息

此策略包含允许 Amazon EKS 完成以下任务的以下权限。

  • ec2 – 创建和删除弹性网络接口,并描述弹性网络接口和资源。此为必需操作,以便 Amazon EKS Fargate 服务可以配置 Fargate 容器组(pod)所需的 VPC 联网。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKSForFargateServiceRolePolicy

Amazon托管策略:AmazonEKSServicePolicy

您可以将 AmazonEKSServicePolicy 附加到您的 IAM 实体。在 2020 年 4 月 16 日之前创建的集群需要您创建 IAM 角色并向其附加此策略。在 2020 年 4 月 16 日或之后创建的集群无需您创建角色,也不需要您分配此策略。当您使用具有 iam:CreateServiceLinkedRole 权限的 IAM 委托人创建集群时,将会自动为您创建 AmazonServiceRoleforAmazonEKS 服务相关角色。服务相关角色附加了 Amazon托管策略:AmazonEKSServiceRolePolicy

此策略允许 Amazon EKS 创建和管理运行 Amazon EKS 集群所需的资源。

权限详细信息

此策略包含允许 Amazon EKS 完成以下任务的以下权限。

  • eks – 启动更新后,更新您的集群的 Kubernetes 版本。Amazon EKS 不使用此权限,但其仍保留在策略中,以确保向后兼容。

  • ec2 – 使用弹性网络接口和其他网络资源和标签。此为必需操作,以便 Amazon EKS 配置联网,促进节点与 Kubernetes 控制面板之间的通信。

  • route53 – 将 VPC 与托管区域关联。此为必需操作,以便 Amazon EKS 为 Kubernetes 集群 API 服务器启用私有端点联网。

  • logs – 录入事件。此为必需操作,这样 Amazon EKS 就可以将 Kubernetes 控制面板日志发送到 CloudWatch。

  • iam – 创建服务相关角色。此为必需操作,以便 Amazon EKS 可以代表您创建 AWSServiceRoleForAmazonEKS 服务相关角色。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKSServicePolicy

Amazon托管策略:AmazonEKSServiceRolePolicy

您不能将 AmazonEKSServiceRolePolicy 附加到您的 IAM 实体。将此策略附加到允许 Amazon EKS 代表您执行操作的服务相关角色。有关更多信息,请参阅 Amazon EKS 的服务相关角色权限。当您使用具有 iam:CreateServiceLinkedRole 权限的 IAM 委托人创建集群时,将会自动为您创建 AmazonServiceRoleforAmazonEKS 服务相关角色,而且此策略会附加到该角色。

此策略允许服务相关角色代表您调用Amazon服务。

权限详细信息

此策略包含允许 Amazon EKS 完成以下任务的以下权限。

  • ec2 – 创建和描述弹性网络接口和 Amazon EC2 实例、集群安全组及创建集群所需的 VPC。

  • iam – 列出附加到 IAM 角色的所有托管策略。此为必需操作,以便 Amazon EKS 能够列出和验证创建集群所需的所有托管策略和权限。

  • 将 VPC 与托管区关联 – 此为必需操作,以便 Amazon EKS 为 Kubernetes 集群 API 服务器启用私有端点联网。

  • 录入事件 – 此为必需操作,这样 Amazon EKS 就可以将 Kubernetes 控制面板日志发送到 CloudWatch。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKSServiceRolePolicy

Amazon托管策略:AmazonEKSVPCResourceController

您可以将 AmazonEKSVPCResourceController 策略附加到 IAM 身份。如果您使用适用于 Pods 的安全组,您必须将此策略附加到您的 Amazon EKS 集群 IAM 角色,以便其代表您执行操作。

此策略授予集群角色管理弹性网络接口和节点 IP 地址的权限。

权限详细信息

此策略包含允许 Amazon EKS 完成以下任务的以下权限:

  • ec2 – 管理弹性网络接口和 IP 地址,以支持 Pod 安全组和 Windows 节点。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKSVPCResourceController

Amazon托管策略:AmazonEKSWorkerNodePolicy

您可以将 AmazonEKSWorkerNodePolicy 附加到 IAM 实体。您必须将此策略附加到您在创建允许 Amazon EKS 代表您执行操作的 Amazon EC2 节点时指定的节点 IAM 角色。如果您使用 eksctl 创建节点组,则其会创建节点 IAM 角色并自动将此策略附加到角色。

此策略授予 Amazon EKS Amazon EC2 节点连接到 Amazon EKS 集群的权限。

权限详细信息

此策略包含允许 Amazon EKS 完成以下任务的以下权限:

  • ec2 – 读取实例卷和网络信息。此为必需操作,以便 Kubernetes 节点能够描述有关节点加入 Amazon EKS 集群所需的 Amazon EC2 资源的信息。

  • eks – 可选地将集群描述为节点引导启动的一部分。

  • eks-auth:AssumeRoleForPodIdentity:允许检索节点上 EKS 工作负载的凭证。需要执行此操作 EKS 容器组身份才能正常运行。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKSWorkerNodePolicy

Amazon托管策略:AWSServiceRoleForAmazonEKSNodegroup

您不能将 AmazonServiceRoleForAmazonEKSNodegroup 附加到您的 IAM 实体。将此策略附加到允许 Amazon EKS 代表您执行操作的服务相关角色。有关更多信息,请参阅 Amazon EKS 的服务相关角色权限

此策略授予 AmazonServiceRoleForAmazonEKSNodegroup 角色权限,允许其在您的账户中创建和管理 Amazon EC2 节点组。

权限详细信息

此策略包含允许 Amazon EKS 完成以下任务的以下权限:

  • ec2 – 使用安全组、标签和启动模板。这对于 Amazon EKS 托管节点组启用远程访问配置是必需的。此外,Amazon EKS 托管节点组会代表您创建启动模板。这样做的目的是配置为每个托管节点组提供支持的 Amazon EC2 Auto Scaling 组。

  • iam – 创建服务相关角色并传递角色。这是 Amazon EKS 托管节点组管理创建托管节点组时传递的角色的实例配置文件所必需的。此实例配置文件由作为托管节点组的一部分启动的 Amazon EC2 实例使用。Amazon EKS 需要为其他服务(如 Amazon EC2 Auto Scaling 组)创建服务相关角色。这些权限用于创建托管节点组。

  • autoscaling – 使用安全 Auto Scaling 组。这是 Amazon EKS 托管节点组管理支持每个托管节点组的 Amazon EC2 Auto Scaling 组所必需的。它还用于支持一些功能,例如,在节点组更新期间终止或回收节点时移出 Pods。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AWSServiceRoleForAmazonEKSNodegroup

Amazon 托管策略:AmazonEBSCSIDriverPolicy

AmazonEBSCSIDriverPolicy 策略允许 Amazon EBS Container Storage Interface (CSI) 驱动程序代表您创建、修改、附加、分离和删除卷。它还授予 EBS CSI 驱动程序创建和删除快照以及列出实例、卷和快照的权限。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEBSCSIDriverServiceRolePolicy

Amazon 托管式策略:AmazonEFSCSIDriverPolicy

AmazonEFSCSIDriverPolicy 策略允许 Amazon EFS 容器存储接口(CSI)代表您创建和删除接入点。该策略还将向 Amazon EFS CSI 驱动程序授予列出您的接入点文件系统、挂载目标和 Amazon EC2 可用区的权限。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEFSCSIDriverServiceRolePolicy

Amazon 托管策略:AmazonEKSLocalOutpostClusterPolicy

您可以将此策略附加到 IAM 实体。在创建本地集群之前,您必须将此策略附加到您的集群角色。由 Amazon EKS 托管的 Kubernetes 集群会代表您调用其他 Amazon 服务。它们这样做的目的是为了管理您与服务一起使用的资源。

AmazonEKSLocalOutpostClusterPolicy 包含以下权限:

  • ec2 – Amazon EC2 实例作为控制面板实例成功加入集群所需的权限。

  • ssm - 允许通向控制面板实例的 Amazon EC2 Systems Manager 连接,Amazon EKS 使用该连接与您账户中的本地集群通信并对其进行管理。

  • logs - 允许实例将日志推送到 Amazon CloudWatch。

  • secretsmanager - 允许实例安全地从 Amazon Secrets Manager 中获取和删除控制面板实例的引导数据。

  • ecr - 允许 Pods 和在控制面板实例上运行的容器拉取存储在 Amazon Elastic Container Registry 中的容器映像。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKSLocalOutpostClusterPolicy

Amazon 托管策略:AmazonEKSLocalOutpostServiceRolePolicy

您不能将此策略附加到您的 IAM 实体。当您使用具有 iam:CreateServiceLinkedRole 权限的 IAM 主体创建集群时,Amazon EKS 将自动为您创建 AWSServiceRoleforAmazonEKSLocalOutpost 服务相关角色,并将此策略附加到该角色。此策略允许该服务相关角色代表您为本地集群调用 Amazon 服务。

AmazonEKSLocalOutpostServiceRolePolicy 包含以下权限:

  • ec2 - 允许 Amazon EKS 使用安全、网络和其他资源,成功启动和管理您的账户中的控制面板实例。

  • ssm - 允许通向控制面板实例的 Amazon EC2 Systems Manager 连接,Amazon EKS 使用该连接与您账户中的本地集群通信并对其进行管理。

  • iam - 允许 Amazon EKS 管理与控制面板实例关联的实例配置文件。

  • secretsmanager - 允许 Amazon EKS 将控制面板实例的引导数据放入 Amazon Secrets Manager,以便能在实例引导期间安全地引用它。

  • outposts - 允许 Amazon EKS 从您的账户中获取 Outpost 信息,以便在 Outpost 中成功启动本地集群。

要查看 JSON 策略文档的最新版本,请参阅《Amazon 托管式策略参考指南》中的 AmazonEKSLocalOutpostServiceRolePolicy

Amazon托管策略的 Amazon EKS 更新

查看有关 Amazon EKS(自从其开始跟踪更新更改以来)的Amazon托管策略的更新的详细信息。有关此页面更改的自动提示,请订阅 Amazon EKS 文档历史记录页面上的 RSS 源。

更改 描述 日期

AmazonEKS_CNI_Policy – 更新到现有策略

Amazon EKS 添加了新的 ec2:DescribeSubnets 权限,允许 Amazon VPC CNI plugin for Kubernetes 查看您的 Amazon VPC 子网中的免费 IP 地址数量。

VPC CNI 可以使用每个子网中的免费 IP 地址来选择空闲 IP 地址最多的子网,以便在创建弹性网络接口时使用。

2024 年 3 月 4 日

AmazonEKSWorkerNodePolicy:更新现有策略

Amazon EKS 添加了新的权限以允许 EKS 容器组身份。

Amazon EKS 容器组身份代理使用节点角色。

2023 年 11 月 26 日

推出了 AmazonEFSCSIDriverPolicy

Amazon 引入了 AmazonEFSCSIDriverPolicy

2023 年 7 月 26 日

已将权限添加至 AmazonEKSClusterPolicy

增加了 ec2:DescribeAvailabilityZones 权限以允许 Amazon EKS 在创建负载均衡器时在子网自动发现期间获取可用区详细信息。

2023 年 2 月 7 日

更新了 AmazonEBSCSIDriverPolicy 中的策略条件。

删除了 StringLike 键字段中带有通配符的无效策略条件。还将一个新条件 ec2:ResourceTag/kubernetes.io/created-for/pvc/name: "*" 添加到 ec2:DeleteVolume,以允许 EBS CSI 驱动程序删除由树内插件创建的卷。

2022 年 11 月 17 日

添加了对 AmazonEKSLocalOutpostServiceRolePolicy 的权限。

添加了 ec2:DescribeVPCAttributeec2:GetConsoleOutputec2:DescribeSecret 以实现更好的先决条件验证和托管式生命周期控制。还添加了 ec2:DescribePlacementGroups"arn:aws:ec2:*:*:placement-group/*"ec2:RunInstances 以支持控制面板 Amazon EC2 实例在 Outposts 上的置放控制。

2022 年 10 月 24 日

更新了 AmazonEKSLocalOutpostClusterPolicy 中的 Amazon Elastic Container Registry 权限。

将操作 ecr:GetDownloadUrlForLayer 从所有资源部分移至限定范围部分。添加了资源 arn:aws:ecr:*:*:repository/eks/*。删除了资源 arn:aws:ecr:*:*:repository/eks/eks-certificates-controller-public。此资源涵盖在增加的 arn:aws:ecr:*:*:repository/eks/* 资源中。

2022 年 10 月 20 日

将权限添加到了 AmazonEKSLocalOutpostClusterPolicy

添加了 arn:aws:ecr:*:*:repository/kubelet-config-updater Amazon Elastic Container Registry 存储库,以便集群控制面板实例能够更新某些 kubelet 参数。

2022 年 8 月 31 日

引入了 AmazonEKSLocalOutpostClusterPolicy

Amazon 引入了 AmazonEKSLocalOutpostClusterPolicy

2022 年 8 月 24 日

引入了 AmazonEKSLocalOutpostServiceRolePolicy

Amazon 引入了 AmazonEKSLocalOutpostServiceRolePolicy

2022 年 8 月 23 日

引入的 AmazonEBSCSIDriverPolicy

Amazon 引入了 AmazonEBSCSIDriverPolicy

2022 年 4 月 22 日

已添加权限到 AmazonEKSWorkerNodePolicy

增加了 ec2:DescribeInstanceTypes 以启用能够自动发现实例级别属性的 Amazon EKS 优化版 AMI。

2022 年 3 月 21 日

已将权限添加至 AWSServiceRoleForAmazonEKSNodegroup

添加了 autoscaling:EnableMetricsCollection 权限以允许 Amazon EKS 启用指标收集。

2021 年 12 月 13 日

已将权限添加至 AmazonEKSClusterPolicy

添加了 ec2:DescribeAccountAttributesec2:DescribeAddressesec2:DescribeInternetGateways 权限,以允许 Amazon EKS 为 Network Load Balancer 创建服务相关角色。

2021 年 6 月 17 日

Amazon EKS 已开始跟踪更改。

Amazon EKS 开始跟踪其Amazon托管策略的更改。

2021 年 6 月 17 日