為 實作最低權限許可的政策 AWS CloudFormation - AWS 方案指引

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

為 實作最低權限許可的政策 AWS CloudFormation

Nima Fotouhi 和 Moumita Saha,Amazon Web Services (AWS)

2023 年 5 月 (文件歷史記錄)

AWS CloudFormation 是一種基礎設施即程式碼 (IaC) 服務,可協助您透過佈建 AWS 資源來擴展雲端基礎設施開發。它還可協助您在整個生命週期、跨 AWS 帳戶 和 管理這些資源 AWS 區域。在 CloudFormation 中,您可以定義範本,做為一組資源的藍圖。然後,您可以透過建立和部署堆疊來佈建這些資源,堆疊是您以單一單位管理的相關資源群組。您也可以使用 CloudFormation 部署堆疊集,這些堆疊集是一組堆疊,您可以跨多個帳戶和 AWS 區域 單一操作來建立、更新和刪除。本指南提供如何實作透過 CloudFormation 佈建之 AWS CloudFormation 和資源的最低權限許可的概觀。

您可以執行下列其中一項操作來部署 CloudFormation 堆疊或堆疊集:

  • 透過 AWS Identity and Access Management (IAM) 主體直接存取 AWS 環境並部署 CloudFormation 堆疊。

  • 在部署管道中推送 CloudFormation 堆疊,並透過管道啟動堆疊部署。管道會透過 IAM 主體存取 AWS 環境,並部署堆疊。此方法是建議的最佳實務。

對於這些方法之一,需要許可才能部署 CloudFormation 堆疊。例如,請考慮使用者計劃使用 CloudFormation 來建立 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。該執行個體需要 IAM 執行個體設定檔才能存取其他執行個體 AWS 服務。用於部署 CloudFormation 堆疊的 IAM 主體需要下列許可:

  • 存取 CloudFormation 的許可

  • 在 CloudFormation 中建立堆疊的許可

  • 在 Amazon EC2 中建立執行個體的許可

  • 建立所需 IAM 執行個體設定檔的許可

什麼是最低權限?

最低權限是授予執行任務所需的最低許可的安全最佳實務。最低權限原則是 AWS Well-Architected Framework 中安全支柱的一部分。當您實作此最佳實務時,有助於保護您的 AWS 環境免於權限提升風險、減少攻擊面、改善資料安全性,以及防止使用者錯誤 (例如設定錯誤或刪除資源)。

若要為 AWS 資源實作最低權限,您可以設定 政策,例如 AWS Identity and Access Management (IAM) 中的身分型政策。這些政策會定義許可並指定存取條件。組織可能從 AWS 受管政策開始,但通常會建立自訂政策,將許可範圍限制為僅工作負載或使用案例所需的動作。

CloudFormation 服務的最低權限許可是重要的安全考量。由於與 CloudFormation 互動的使用者和開發人員可以快速大規模建立、修改或刪除資源,因此最低權限尤其重要。不過,CloudFormation 需要在您的 中建立、更新和修改資源所需的許可 AWS 帳戶。您必須平衡操作 CloudFormation 的許可需求與最低權限原則。

將最低權限原則套用至 CloudFormation 時,您需要考慮下列事項:

  • CloudFormation 服務的許可 – 哪些使用者需要存取 CloudFormation、他們需要的存取層級,以及他們可以採取哪些動作來建立、更新或刪除堆疊?

  • 佈建資源的許可 – 使用者可以透過 CloudFormation 佈建哪些資源?

  • 佈建資源的許可 – 如何為透過 CloudFormation 佈建的資源設定最低權限許可?

目標業務成果

透過遵循本指南中的最佳實務和建議,您可以:

  • 判斷組織中哪些使用者需要存取 CloudFormation,然後為這些使用者設定最低權限許可。

  • 使用堆疊政策協助保護 CloudFormation 堆疊免於意外更新。

  • 為 CloudFormation 使用者和資源設定最低權限許可,以協助防止權限提升和混淆代理人問題。

  • 使用 AWS CloudFormation 佈建具有最低權限許可 AWS 的資源。這有助於您的組織維持更強大的安全狀態。

  • 主動減少調查和緩解安全事件所需的時間、能源和金錢。

目標對象

本指南適用於使用 CloudFormation 管理和佈建資源的雲端基礎設施架構師、DevOps 工程師和網站可靠性工程師 (SREs)。