協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 AWS CLI 使用 Kubernetes 群組建立存取項目
建立使用 Kubernetes 群組進行授權且需要手動 RBAC 組態的 Amazon EKS 存取項目。
注意
對於大多數使用案例,我們建議使用 EKS 存取政策,而非本頁所述的 Kubernetes 群組方法。EKS 存取政策提供更簡單、更加整合 AWS 的方法來管理存取,無需手動 RBAC 組態。僅當您需要比 EKS 存取政策提供更精細的控制時,才使用 Kubernetes 群組方法。
概觀
存取項目定義了 IAM 身分 (使用者和角色) 如何存取您的 Kubernetes 叢集。Kubernetes 群組方法透過標準 Kubernetes RBAC 群組,授予 IAM 使用者或角色存取 EKS 叢集的許可。此方法需建立並管理 Kubernetes RBAC 資源 (Role、RoleBinding、ClusterRole 及 ClusterRoleBinding),建議在下列情境使用:需要高度自訂的許可集合、有複雜的授權需求,或希望在混合式 Kubernetes 環境中維持一致的存取控制模式。
本主題不涵蓋為「用於讓 Amazon EC2 執行個體加入 EKS 叢集」的 IAM 身分建立存取項目。
先決條件
-
您的叢集身分驗證模式必須設定為啟用存取項目。如需詳細資訊,請參閱 變更驗證模式以使用存取項目。
-
依據《AWS 命令列介面使用者指南》中的安裝內容所述,安裝與設定 AWS CLI。
-
建議熟悉 Kubernetes RBAC。如需詳細資訊,請參閱 Kubernetes 文件中的使用 RBAC 授權
。
步驟 1:定義存取項目
-
尋找您要授予許可的 IAM 身分的 ARN,如使用者或角色。
-
每個 IAM 身分只能有一個 EKS 存取項目。
-
-
決定要與此 IAM 身分建立關聯的 Kubernetes 群組。
-
您將需要建立或使用現有的 Kubernetes
Role/ClusterRole和RoleBinding/ClusterRoleBinding資源,這些資源需引用這些群組。
-
-
判斷自動產生的使用者名稱是否適合該存取項目,或者您是否需要手動指定使用者名稱。
-
AWS 會根據 IAM 身分自動產生此值。您可設定自訂使用者名稱。這在 Kubernetes 日誌中可見。
-
如需詳細資訊,請參閱 針對 EKS 存取項目設定自訂使用者名稱。
-
步驟 2:使用 Kubernetes 群組建立存取項目
規劃存取項目之後,使用 AWS CLI 以適當的 Kubernetes 群組建立該項目。
aws eks create-access-entry --cluster-name <cluster-name> --principal-arn <iam-identity-arn> --type STANDARD --kubernetes-groups <groups>
取代:
-
<cluster-name>為您的 EKS 叢集名稱 -
<iam-identity-arn>為 IAM 使用者或角色的 ARN -
<groups>為以逗號分隔的 Kubernetes 群組清單 (例如 "system:developers,system:readers")
步驟 3:設定 Kubernetes RBAC
為了讓 IAM 主體能夠存取您叢集上的 Kubernetes 物件,您必須建立和管理 Kubernetes 角色型存取控制 (RBAC) 物件:
-
建立定義許可的 Kubernetes
Role或ClusterRole物件。 -
在您的叢集上建立 Kubernetes
RoleBinding或ClusterRoleBinding物件,並將群組名稱指定為kind: Group的subject。
有關在 Kubernetes 中設定群組和許可的詳細資訊,請參閱 Kubernetes 文件中的使用 RBAC 授權