使用 EKS 存取項目授予 IAM 使用者 Kubernetes 的存取權 - Amazon EKS

協助改進此頁面

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 EKS 存取項目授予 IAM 使用者 Kubernetes 的存取權

本節旨在說明如何使用存取項目與政策,管理 Amazon Elastic Kubernetes Service (EKS) 中 IAM 主體對 Kubernetes 叢集的存取權。您將找到有關變更驗證模式、從舊版 aws-auth ConfigMap 項目移轉、建立、更新、刪除存取項目、將政策與項目關聯、檢閱預先定義政策許可,以及安全存取管理之重要先決條件與考量事項的詳細資訊。

概觀

EKS 存取項目是授予使用者存取 Kubernetes API 的最佳方式。例如,您可使用存取項目授予開發人員使用 kubectl 的權限。本質上,EKS 存取項目會將一組 Kubernetes 許可與 IAM 身分 (如 IAM 角色) 建立關聯。例如,開發人員可擔任某個 IAM 角色,並使用該角色向 EKS 叢集進行身分驗證。

功能

  • 集中式身分驗證與授權:直接透過 Amazon EKS API 控制對 Kubernetes 叢集的存取,無需在 AWS 和 Kubernetes API 之間切換,以管理使用者許可。

  • 精細許可管理:使用存取項目與政策為 AWS IAM 主體定義精細許可,包括修改或撤銷建立者的叢集管理員存取權。

  • IaC 工具整合:支援 AWS CloudFormation、Terraform 與 AWS CDK 等基礎結構即程式碼工具,以便在叢集建立期間定義存取組態。

  • 錯誤設定復原:可透過 Amazon EKS API 復原叢集存取權,無需直接存取 Kubernetes API。

  • 降低負擔並增強安全性:集中化作業以降低管理負擔,同時運用 AWS IAM 功能 (如 CloudTrail 稽核日誌與多因素驗證)。

附加許可的方式

您可透過兩種方式將 Kubernetes 許可附加至存取項目:

  • 使用存取政策。存取政策是由 AWS 維護的預先定義 Kubernetes 許可範本。如需詳細資訊,請參閱 檢閱存取政策許可

  • 引用 Kubernetes 群組。若您將 IAM 身分與 Kubernetes 群組建立關聯,即可建立授予該群組許可的 Kubernetes 資源。如需詳細資訊,請參閱 Kubernetes 文件中的使用 RBAC 授權

考量事項

在現有叢集上啟用 EKS 存取項目時,請留意下列事項:

  • 舊版叢集行為:對於在存取項目引入前建立的叢集 (其初始平台版本早於平台版本需求中指定的版本),EKS 會自動建立反映既有許可的存取項目。此項目包含了最初建立叢集的 IAM 身分,以及在叢集建立期間授予該身分的管理許可。

  • 處理舊版 aws-auth ConfigMap:若您的叢集依賴舊版 aws-auth ConfigMap 進行存取管理,則在啟用存取項目時,僅會自動建立原叢集建立者的存取項目。新增至 ConfigMap 的其他角色或許可 (如供開發人員或服務使用的自訂 IAM 角色) 不會自動移轉。為了解決這個問題,請手動建立對應的存取項目。

開始使用

  1. 確定您要使用的 IAM 身分和存取政策。

  2. 在您的叢集上啟用 EKS 存取項目。確認您擁有受支援的平台版本。

  3. 建立存取項目,將 IAM 身分與 Kubernetes 許可建立關聯。

  4. 使用該 IAM 身分向叢集進行驗證。