选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

了解 Amazon EKS 如何创建 RBAC 角色和用户

聚焦模式
了解 Amazon EKS 如何创建 RBAC 角色和用户 - Amazon EKS

帮助改进此页面

想为本用户指南做出贡献? 选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

帮助改进此页面

想为本用户指南做出贡献? 选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

创建 Kubernetes 集群时,会在该集群上创建多个默认 Kubernetes 身份,以便 Kubernetes 正常运行。Amazon EKS 会为其每个默认组件创建 Kubernetes 身份。这些身份为集群组件提供 Kubernetes 基于角色的授权控制(RBAC)。有关更多信息,请参阅 Kubernetes 文档中的使用 RBAC 授权

当您向集群安装可选附加组件时,可能会向您的集群添加其他 Kubernetes 身份。有关本主题未涉及身份的更多信息,请参阅附加组件文档。

您可以使用 AWS Management Console 或 kubectl 命令行工具查看 Amazon EKS 在集群上创建的 Kubernetes 身份列表。所有用户身份都会出现在 kube 审计日志中,可通过 Amazon CloudWatch 向你提供。

AWS Management Console

先决条件。您使用的 IAM 主体必须拥有所需权限中描述的权限。

  1. 打开 Amazon EKS 控制台

  2. Clusters(集群)列表中,选择包含要查看的身份的集群。

  3. 选择资源选项卡。

  4. Resource types(资源类型)下,选择 Authorization(授权)。

  5. 选择 ClusterRolesClusterRoleBindingsRolesRoleBindings。所有以 eks 为前缀的资源均由 Amazon EKS 创建。Amazon EKS 创建的其他身份资源包括:

    • ClusterRole 和名为 aws-nodeClusterRoleBindingaws-node 资源支持适用于 Kubernetes 的 Amazon VPC CNI 插件,Amazon EKS 会将其安装在所有集群上。

    • 名为 vpc-resource-controller-roleClusterRole 和名为 vpc-resource-controller-rolebindingClusterRoleBinding。这些资源支持 Amazon VPC 资源控制器,Amazon EKS 会将其安装在所有集群上。

除了控制台中的资源外,即使以下特殊用户身份在集群配置中不可见,但它们仍存在于您的集群上:

+

  • eks:cluster-bootstrap – 在集群引导期间用于 kubectl 操作。

  • eks:support-engineer – 用于集群管理操作。

    1. 选择特定资源以查看有关该资源的详细信息。默认情况下,信息在结构化视图中显示。在详细信息页面的右上角,您可以选择 Raw view(原始视图)以查看该资源的所有信息。

Kubectl

.Prerequisite 您用于列出集群上的 Kubernetes 资源的实体(AWS Identity and Access Management(IAM)或 OpenID Connect(OIDC))必须由 IAM 或您的 OIDC 身份提供者进行身份验证。必须向实体授予权限,才能为您希望该实体使用的集群上的 RoleClusterRoleRoleBindingClusterRoleBinding 资源使用 Kubernetes getlist 动词。有关向 IAM 实体授予集群访问权限的更多信息,请参阅向 IAM 用户和角色授予对 Kubernetes APIs 的访问权限。有关向经过您自己的 OIDC 提供商身份验证的实体授予集群访问权限的更多信息,请参阅通过外部 OIDC 提供者向用户授予对 Kubernetes 的访问权限。使用 kubectl 查看 Amazon EKS 创建的实体。为要查看的资源类型运行该命令。所有以 eks 为前缀的返回资源均由 Amazon EKS 创建。除命令输出中返回的资源,即使以下特殊用户身份在集群配置中不可见,但它们仍存在于您的集群上:

  • eks:cluster-bootstrap – 在集群引导期间用于 kubectl 操作。

  • eks:support-engineer – 用于集群管理操作。

    ClusterRolesClusterRoles 范围限定为您的集群,因此授予角色的任何权限都适用于集群上任何 Kubernetes 命名空间中的资源。

    以下命令返回 Amazon EKS 在您的集群上创建的所有 Kubernetes ClusterRoles

    kubectl get clusterroles | grep eks

    除了输出中返回的 ClusterRoles(具有前缀)外,还存在以下 ClusterRoles

  • aws-node – 此 ClusterRole 支持适用于 Kubernetes 的 Amazon VPC CNI 插件,Amazon EKS 会将其安装在所有集群上。

  • vpc-resource-controller-role – 该 ClusterRole 支持 Amazon VPC 资源控制器,Amazon EKS 会将其安装在所有集群上。

    要查看 ClusterRole 的规范,请将以下命令中的 eks:k8s-metrics 替换为上一条命令输出中返回的 ClusterRole。以下示例返回 eks:k8s-metrics ClusterRole 的规范。

    kubectl describe clusterrole eks:k8s-metrics

    示例输出如下。

    Name: eks:k8s-metrics Labels: <none> Annotations: <none> PolicyRule: Resources Non-Resource URLs Resource Names Verbs --------- ----------------- -------------- ----- [/metrics] [] [get] endpoints [] [] [list] nodes [] [] [list] pods [] [] [list] deployments.apps [] [] [list]

    ClusterRoleBindingsClusterRoleBindings 范围限定为您的集群。

    以下命令返回 Amazon EKS 在您的集群上创建的所有 Kubernetes ClusterRoleBindings

    kubectl get clusterrolebindings | grep eks

    除了输出中返回的 ClusterRoleBindings 外,还存在以下 ClusterRoleBindings

  • aws-node – 此 ClusterRoleBinding 支持适用于 Kubernetes 的 Amazon VPC CNI 插件,Amazon EKS 会将其安装在所有集群上。

  • vpc-resource-controller-rolebinding – 该 ClusterRoleBinding 支持 Amazon VPC 资源控制器,Amazon EKS 会将其安装在所有集群上。

要查看 ClusterRoleBinding 的规范,请将以下命令中的 eks:k8s-metrics 替换为上一条命令输出中返回的 ClusterRoleBinding。以下示例返回 eks:k8s-metrics ClusterRoleBinding 的规范。

+

kubectl describe clusterrolebinding eks:k8s-metrics

+ 示例输出如下。

+

Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics

+ RolesRoles 范围限定为 Kubernetes 命名空间。Amazon EKS 创建的所有 Roles 范围限定为 kube-system 命名空间。

+ 以下命令返回 Amazon EKS 在您的集群上创建的所有 Kubernetes Roles

+

kubectl get roles -n kube-system | grep eks

+ 要查看 Role 的规范,请将以下命令中的 eks:k8s-metrics 替换为上一条命令输出中返回的 Role 名称。以下示例返回 eks:k8s-metrics Role 的规范。

+

kubectl describe role eks:k8s-metrics -n kube-system

+ 示例输出如下。

+

Name: eks:k8s-metrics Labels: <none> Annotations: <none> PolicyRule: Resources Non-Resource URLs Resource Names Verbs --------- ----------------- -------------- ----- daemonsets.apps [] [aws-node] [get] deployments.apps [] [vpc-resource-controller] [get]

+ RoleBindingsRoleBindings 范围限定为 Kubernetes 命名空间。Amazon EKS 创建的所有 RoleBindings 范围限定为 kube-system 命名空间。

+ 以下命令返回 Amazon EKS 在您的集群上创建的所有 Kubernetes RoleBindings

+

kubectl get rolebindings -n kube-system | grep eks

+ 要查看 RoleBinding 的规范,请将以下命令中的 eks:k8s-metrics 替换为上一条命令输出中返回的 RoleBinding。以下示例返回 eks:k8s-metrics RoleBinding 的规范。

+

kubectl describe rolebinding eks:k8s-metrics -n kube-system

+ 示例输出如下。

+

Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: Role Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。