本頁說明如何 Google Cloud 管理 GKE on AWS 的 AWS Identity and Access Management (IAM) 權限和角色。
GKE on AWS 會使用 AWS API 建立資源,例如 EC2 執行個體、自動調度資源群組和負載平衡器,適用於 GKE on AWS 元件和您的工作負載。您必須提供 AWS IAM 權限, Google Cloud 才能建立這些資源。
GKE on AWS 如何存取 AWS API
GKE on AWS 會使用 AWS 中的身分聯盟,管理 AWS 帳戶的精細存取權。當 GKE on AWS 需要對叢集採取行動時,會向 AWS 要求短期權杖。GKE Multi-Cloud API 角色會使用這個權杖向 AWS 進行驗證。
服務代理
為了授予在 AWS 帳戶中建立、更新、刪除及管理叢集的存取權,GKE on AWS 會在您的 Google Cloud 專案中建立服務代理程式。 Google Cloud 服務代理程式是Google 管理的服務帳戶,使用 GKE Multi-Cloud API AWS IAM 角色。您必須在每個 Google Cloud 專案中,為服務代理程式建立 AWS IAM 角色,以便從這些專案管理 GKE 叢集。服務代理會使用電子郵件地址 service-PROJECT_NUMBER@gcp-sa-gkemulticloud.iam.gserviceaccount.com
。如要進一步瞭解 Google Cloud IAM 權限,請參閱「Anthos Multi-Cloud 服務代理程式」。
GKE on AWS 的 AWS IAM 權限
您可以建立使用預設 AWS IAM 角色的角色,也可以建立符合貴機構需求的自訂 AWS IAM 政策。
使用預設政策
AWS IAM 政策是一組權限。如要授予建立及管理叢集的權限,您必須先為下列角色建立 AWS IAM 政策:
- GKE Multi-cloud API 服務代理人角色
- GKE Multi-Cloud API 會使用這個 AWS IAM 角色,透過 AWS API 管理資源。這個角色是由 Google 代管的服務帳戶 (又稱服務代理程式) 使用。
- 控制層 AWS IAM 角色
- 叢集控制層會使用這個角色來控制節點集區。
- 節點集區 AWS IAM 角色
- 控制層會使用這個角色建立節點集區 VM。
如要使用 GKE on AWS 的建議 AWS IAM 角色管理叢集,請參閱「建立 AWS IAM 角色」。
建立自訂 IAM 政策
如要進一步限制權限,您可以建立允許 GKE on AWS 的自訂 AWS IAM 政策,而非使用建議政策。舉例來說,您可以將權限限制為具有特定標記的資源,或是特定 AWS VPC 中的資源
使用標記控管存取權
您可以使用 AWS 標記,限制 AWS IAM 政策只允許對一組有限的資源執行動作。如果角色的條件欄位中指定了該標記,則只能對具有相同標記的資源執行作業。您可以使用這項功能,將管理角色限制為只能對特定叢集或節點集區中的資源執行動作。
如要限制 AWS IAM 政策僅適用於具有特定標記的資源,請在政策的 Condition
欄位中加入標記的值,然後在建立叢集和節點集區時傳遞標記值。GKE on AWS 會在建立資源時套用這個標記。
如要進一步瞭解標記,請參閱「標記 AWS 資源」。如要進一步瞭解如何搭配使用標記與 AWS 政策,請參閱「控管 AWS 資源的存取權」。
如要進一步瞭解如何使用特定標記建立叢集資源,請參閱 gcloud container aws clusters create
和 gcloud container aws node-pools create
參考說明文件。
如需 GKE on AWS 各項政策所需的特定權限清單,請參閱 AWS IAM 角色清單。