向 IAM 主体授予查看集群上的 Kubernetes 资源的访问权限 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

向 IAM 主体授予查看集群上的 Kubernetes 资源的访问权限

授权 IAM 主体访问 Amazon EKS 控制台,查看有关在已连接集群上运行的 Kubernetes 资源的信息。

先决条件

您访问 Amazon Web Services Management Console 所用的 IAM 主体必须满足以下要求:

  • 它必须具有 eks:AccessKubernetesApi IAM 权限。

  • Amazon EKS Connector 服务账户应能够模拟集群中的 IAM 主体。这让 Amazon EKS Connector 将 IAM 主体映射到 Kubernetes 用户。

创建并应用 Amazon EKS Connector 集群角色
  1. 下载 eks-connector 集群角色模板。

    curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-clusterrole.yaml
  2. 编辑集群角色模板 YAML 文件。将 %IAM_ARN% 参考替换为您的 IAM 主体的 Amazon 资源名称(ARN)。

  3. 将 Amazon EKS Connector 集群角色 YAML 应用于您的 Kubernetes 集群。

    kubectl apply -f eks-connector-clusterrole.yaml

要使某个 IAM 主体在 Amazon EKS 控制台上查看 Kubernetes 资源,该主体必须与 Kubernetes roleclusterrole 关联,并拥有读取这些资源的必要权限。有关更多信息,请参阅 Kubernetes 文档中的使用 RBAC 授权

要配置 IAM 主体以访问连接的集群
  1. 您可以下载以下任一示例清单文件,分别创建 clusterroleclusterrolebindingrolerolebinding

    查看所有命名空间中的 Kubernetes 资源

    eks-connector-console-dashboard-full-access-clusterrole 集群角色允许访问控制台中可视化的所有命名空间和资源。您可以更改 roleclusterrole 及其对应绑定的名称,然后再将其应用于集群。使用以下命令下载示文件。

    curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-console-dashboard-full-access-group.yaml
    查看特定命名空间中的 Kubernetes 资源

    此文件中的命名空间是 default,因此,如果要指定不同的命名空间,请编辑该文件,然后将其应用到集群。使用以下命令下载示例文件。

    curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-console-dashboard-restricted-access-group.yaml
  2. 编辑完全访问权限或受限访问权限 YAML 文件以将 %IAM_ARN% 参考替换为您的 IAM 主体的 Amazon 资源名称(ARN)。

  3. 将完全访问权限或受限访问权限 YAML 文件应用于 Kubernetes 集群。将 YAML 文件的值替换为您自己的值。

    kubectl apply -f eks-connector-console-dashboard-full-access-group.yaml

要查看已连接集群中的 Kubernetes 资源,请参阅 查看 Kubernetes 资源Resources(资源)选项卡上某些资源类型的数据不适用于已连接的集群。