協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 CLI 使用 Kubernetes AWS 群組建立存取項目
建立使用 Kubernetes 群組進行授權且需要手動 RBAC 組態的 Amazon EKS 存取項目。
注意
對於大多數使用案例,我們建議您使用 EKS 存取政策,而不是此頁面所述的 Kubernetes 群組方法。EKS 存取政策提供更簡單、更 AWS整合的方式來管理存取,而不需要手動 RBAC 組態。只有在您需要比 EKS 存取政策更精細的控制時,才使用 Kubernetes 群組方法。
概觀
存取項目定義 IAM 身分 (使用者和角色) 如何存取您的 Kubernetes 叢集。Kubernetes 群組方法授予 IAM 使用者或角色透過標準 Kubernetes RBAC 群組存取 EKS 叢集的許可。此方法需要建立和管理 Kubernetes RBAC 資源 (角色、RoleBindings、ClusterRoles 和 ClusterRoleBindings),建議您在需要高度自訂的許可集、複雜的授權要求,或想要在混合式 Kubernetes 環境中維持一致的存取控制模式時。
本主題不包含為用於 Amazon EC2 執行個體加入 EKS 叢集的 IAM 身分建立存取項目。
先決條件
-
叢集的身分驗證模式必須設定為啟用存取項目。如需詳細資訊,請參閱變更身分驗證模式以使用存取項目。
-
安裝和設定 AWS CLI,如 AWS 命令列界面使用者指南中的安裝中所述。
-
建議使用 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
物件,將群組名稱指定為subject
的kind: Group
。
如需在 Kubernetes 中設定群組和許可的詳細資訊,請參閱 Kubernetes 文件中的使用 RBAC 授權