協助改善此頁面
想要為此使用者指南做出貢獻嗎? 捲動至此頁面底部,然後選取 [編輯此頁面於] GitHub。您的貢獻將有助於使我們的用戶指南更適合所有人。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
瞭解 Amazon EKS 建立的RBAC角色和使用者
當您建立 Kubernetes 叢集時,會在該叢集上建立數個預設 Kubernetes 身分,以便 Kubernetes 能正常運作。Amazon EKS 會為其每個預設元件建立Kubernetes身分。身分識別為叢集元件提供以Kubernetes角色為基礎的授權控制 (RBAC)。如需詳細資訊,請參閱Kubernetes文件中的使用RBAC授權
當您將選用的附加元件安裝到叢集時,可能會將其他 Kubernetes 身分新增至叢集。如需有關本主題未討論之身分的詳細資訊,請參閱附加元件的文件。
您可以使用 AWS Management Console 或kubectl
命令列工具檢視叢集上 Amazon EKS 建立的Kubernetes身分清單。所有使用者身分都會出現在透過 Amazon 提供給您的kube
稽核日誌中 CloudWatch。
- AWS Management Console
-
先決條件
若要檢視 Amazon EKS 建立的身分,請使用 AWS Management Console
在https://console.aws.amazon.com/eks/家裡 #
/集群打開 Amazon EKS 控制台。 -
在 Clusters (叢集) 清單中,選擇包含您要檢視之身分的叢集。
-
選擇 Resources (資源) 標籤。
-
在 Resource types (資源類型) 下選擇 Authorization (授權)。
-
選擇ClusterRoles、ClusterRoleBindings、、角色或RoleBindings。所有前面加上 eks 的資源都是由 Amazon 創建的。EKSAmazon EKS 建立的其他身分資源包括:
ClusterRole和命ClusterRoleBinding名的 AWS 節點。AWS 節點資源支持 Amazon VPC CNI plugin for Kubernetes,Amazon EKS 安裝在所有集群上。
-
一個ClusterRole具名vpc-resource-controller-role和一個ClusterRoleBinding命名vpc-resource-controller-rolebinding。這些資源支援 Amazon 資VPC源控制器
,Amazon EKS 會在所有叢集上安裝該資源控制器。
除了您在主控台中看到的資源之外,您的叢集上還存在下列特殊使用者身分,但在叢集的組態中不會顯示出來:
-
eks:cluster-bootstrap
:用於叢集引導期間的kubectl
操作。 -
eks:support-engineer
:用於叢集管理操作。
-
選擇特定資源以檢視其相關詳細資訊。依預設,您可以在 Structured view (結構化檢視) 中檢視資訊。您可以在詳細資訊頁面的右上角,選擇 Raw view (原始檢視) 以查看資源的所有資訊。
- Kubectl
-
先決條件
您使用 ((IAM) 或AWS Identity and Access Management OpenID Connect (OIDC)) 列出叢集上Kubernetes資源的實體,必須經過身分識別提供者IAM或您的OIDC身分識別提供者驗證。必須授予實體在叢集上使用
Role
、ClusterRole
、RoleBinding
的 Kubernetesget
和list
動詞以及ClusterRoleBinding
資源的許可,以便與實體互相搭配使用。如需授與IAM實體叢集存取權的詳細資訊,請參閱授與IAM使用者和角色對 Kubernetes 的存取權 APIs。如需有關授予經由您的 OIDC 提供者驗證之實體叢集存取權的詳細資訊,請參閱授予使用者使用外部OIDC提供者Kubernetes的存取權。若要使用檢視 Amazon EKS 建立的身分
kubectl
執行您要查看的資源類型的命令。所有前面加上 eks 的返回資源都是由 Amazon 創建的。EKS除了命令輸出中傳回的資源之外,您的叢集上還存在下列特殊使用者身分,但在叢集的組態中不會顯示出來:
-
eks:cluster-bootstrap
:用於叢集引導期間的kubectl
操作。 -
eks:support-engineer
:用於叢集管理操作。
ClusterRoles— 範圍限定於您的叢集,因此授予角色的任何權限
ClusterRoles
都會套用至叢集上任何Kubernetes命名空間中的資源。下列命令會傳回叢集Kubernetes
ClusterRoles
上EKS建立的所有 Amazon。kubectl get clusterroles | grep eks
除了前面帶有 的輸出中傳回的
ClusterRoles
之外,還存在以下ClusterRoles
。-
aws-node
— 這ClusterRole
支持 Amazon VPC CNI plugin for Kubernetes, Amazon 安EKS裝在所有集群. -
vpc-resource-controller-role
— 這ClusterRole
支持 Amazon 資VPC源控制器,Amazon 在所有集群上EKS安裝該控制器。
若要查看 a 的規格
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]
ClusterRoleBindings— 範圍
ClusterRoleBindings
為您的叢集。下列命令會傳回叢集Kubernetes
ClusterRoleBindings
上EKS建立的所有 Amazon。kubectl get clusterrolebindings | grep eks
除了輸出中傳回的
ClusterRoleBindings
之外,還存在以下ClusterRoleBindings
。-
aws-node
— 這ClusterRoleBinding
支持 Amazon VPC CNI plugin for Kubernetes, Amazon 安EKS裝在所有集群. -
vpc-resource-controller-rolebinding
— 這ClusterRoleBinding
支持 Amazon 資VPC源控制器,Amazon 在所有集群上EKS安裝該控制器。
若要查看 a 的規格
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
角色:
Roles
設定範圍為 Kubernetes 命名空間內。所有 Amazon EKS 創建的kube-system
範圍Roles
都限於命名空間。下列命令會傳回叢集Kubernetes
Roles
上EKS建立的所有 Amazon。kubectl get roles -n kube-system | grep eks
若要查看 a 的規格
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]
RoleBindings— 範圍
RoleBindings
為命名空間Kubernetes。所有 Amazon EKS 創建的kube-system
範圍RoleBindings
都限於命名空間。下列命令會傳回叢集Kubernetes
RoleBindings
上EKS建立的所有 Amazon。kubectl get rolebindings -n kube-system | grep eks
若要查看 a 的規格
RoleBinding
,請取代eks:k8s-metrics
在下面的命令中,在上一個命令的輸出中RoleBinding
返回。下列範例會傳回eks:k8s-metrics
RoleBinding
.kubectl describe rolebinding
-n kube-systemeks:k8s-metrics
範例輸出如下。
Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: Role Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics
-