設定最低權限許可以使用 CloudFormation - AWS 方案指引

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

設定最低權限許可以使用 CloudFormation

本章會檢閱設定許可以存取和使用 AWS CloudFormation 服務的選項。

當使用者或服務透過 CloudFormation 佈建 AWS 資源時,第一步是透過 AWS Identity and Access Management (IAM) 主體呼叫 CloudFormation 服務。此 IAM 主體必須具有建立 CloudFormation 堆疊的許可。接著,IAM 主體會使用下列其中一種方法來透過 CloudFormation 佈建資源:

  • 如果 IAM 主體未將堆疊操作傳遞給 CloudFormation 服務角色,CloudFormation 會使用 IAM 主體的登入資料來執行堆疊操作。此為預設值。因此,除了執行 CloudFormation 堆疊操作的許可之外,IAM 主體還需要許可來佈建將使用的 CloudFormation 範本中定義的資源。例如,如果 IAM 主體沒有建立 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的許可,則無法建立佈建 Amazon EC2 執行個體的 CloudFormation 堆疊。

  • 如果 IAM 主體將堆疊操作傳遞給 CloudFormation 服務角色,則 CloudFormation 會使用服務角色來執行堆疊操作,並在 CloudFormation 範本中佈建資源。此 CloudFormation 服務角色應具有 AWS 服務 代表 IAM 主體佈建 的許可。此方法可避免將直接許可授予 IAM 主體,以佈建 CloudFormation 範本中定義的 AWS 資源。IAM 主體需要 CloudFormation 堆疊建立許可,而 CloudFormation 會使用服務角色的政策來進行呼叫,而非 IAM 主體的政策。

透過使用服務角色方法和最低權限原則,您可以標準化 AWS 環境中的資源佈建,並要求使用者透過 CloudFormation 將資源佈建為 IaC。由於連接至 IAM 主體的政策不包含直接佈建 AWS 資源的許可,使用者必須使用 CloudFormation 來佈建資源。

本章會檢閱下列機制,以設定和管理對 CloudFormation 服務和 CloudFormation 堆疊的存取:

  • CloudFormation 的身分型政策 – 使用此類型的政策來設定哪些 IAM 主體可以存取 CloudFormation,以及他們可以在 CloudFormation 中執行哪些動作。

  • CloudFormation 的服務角色 – 建立服務角色,允許 CloudFormation 代表部署堆疊的 IAM 主體建立、更新或刪除堆疊資源。服務角色是在 IAM 中建立,並且可以與一或多個堆疊建立關聯。

  • CloudFormation 堆疊政策 – 使用此類型的政策來判斷何時可以更新堆疊。這種類型的政策有助於防止堆疊資源意外更新或刪除。堆疊政策會建立並與 CloudFormation 中的堆疊相關聯。