AWS CloudFormation の最小特権アクセス許可ポリシーの実装 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CloudFormation の最小特権アクセス許可ポリシーの実装

Nima Fotouhi および Moumita Saha、Amazon Web Services (AWS)

2023 年 5 月 (ドキュメント履歴)

AWS CloudFormation は AWS リソースをプロビジョニングしてクラウドインフラストラクチャ開発をスケールするのに役立つ Infrastructure as Code (IaC) サービスです。また、AWS アカウントと AWS リージョンのライフサイクル全体でこれらのリソースを管理する上でも役立ちます。CloudFormation では一連のリソースのブループリントとして機能するテンプレートを定義します。次に、それらのリソースをプロビジョニングするためにスタックを作成してデプロイします。スタックは関連リソースのグループで、単一のユニットとして管理できます。CloudFormation を使用してスタックセットをデプロイすることもできます。スタックセットは複数のアカウントおよび AWS リージョンにわたって 1 回の操作で作成、更新、削除できるスタックのグループです。このガイドでは、AWS CloudFormation および CloudFormation を通じてプロビジョニングされたリソースに最小特権のアクセス許可を実装する方法の概要を説明します。

CloudFormation スタックまたはスタックセットは次のいずれかを実行してデプロイできます。

  • AWS Identity and Access Management (IAM) プリンシパルを通じて AWS 環境に直接アクセスし、CloudFormation スタックをデプロイする。

  • デプロイパイプラインで CloudFormation スタックをプッシュし、パイプラインを通じてスタックのデプロイを開始する。パイプラインは IAM プリンシパルを通じて AWS 環境にアクセスし、スタックをデプロイします。このアプローチは推奨されるベストプラクティスです。

いずれのアプローチでも、CloudFormation スタックをデプロイするにはアクセス許可が必要です。例えば、ユーザーが CloudFormation を使用して Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成しようとしているとします。そのインスタンスは、他の AWS のサービスにアクセスするために IAM インスタンスプロファイルを必要とします。CloudFormation スタックのデプロイに使用する IAM プリンシパルには、次のアクセス許可が必要です。

  • CloudFormation へのアクセス許可

  • CloudFormation でスタックを作成するためのアクセス許可

  • Amazon EC2 でインスタンスを作成するためのアクセス許可

  • 必要な IAM インスタンスプロファイルを作成するためのアクセス許可

最小特権とは

最小特権は、タスクの実行に必要な最小限のアクセス許可を付与するというセキュリティのベストプラクティスです。最小特権の原則は、AWS Well-Architected フレームワークのセキュリティの柱に含まれています。このベストプラクティスを実装すると、特権エスカレーションのリスクから AWS 環境を保護し、アタックサーフェスを減らし、データセキュリティを向上させ、ユーザーのミス (リソースの設定ミスや意図しない削除など) を防ぐことができます。

AWS リソースに最小特権を実装するには、AWS Identity and Access Management (IAM) で ID ベースのポリシーなどのポリシーを設定します。そうしたポリシーによってアクセス許可を定義したりアクセス条件を指定したりします。組織は AWS のマネージドポリシーから始めることができますが、通常はその後、アクセス許可の範囲をそのワークロードやユースケースに必要なアクションのみに制限するカスタムポリシーを作成します。

CloudFormation サービスの最小特権のアクセス許可は、セキュリティ上の重要な考慮事項です。CloudFormation を操作するユーザーや開発者は、大規模なリソースを迅速に作成、変更、削除できるため、最小特権を付与することは特に重要です。しかし、CloudFormation で AWS アカウントのリソースを作成、更新、変更するにはアクセス許可が必要なため、CloudFormation を運用するためのアクセス許可の必要性と最小特権の原則とのバランスを取る必要があります。

CloudFormation に最小特権の原則を適用する際は、次の点を考慮する必要があります。

  • CloudFormation サービスのアクセス許可 – CloudFormation へのアクセスを必要とするユーザー、必要なアクセスレベル、スタックを作成、更新、削除するために実行できるアクション

  • リソースのプロビジョニングのアクセス許可 – ユーザーが CloudFormation でプロビジョニングできるリソース

  • プロビジョニングされたリソースへのアクセス許可 – CloudFormation でプロビジョニングされたリソースへの最小特権アクセス許可の設定方法

目標とするビジネス成果

このガイドのベストプラクティスと推奨事項に従うと、次のことが可能になります。

  • 組織内で CloudFormation にアクセスする必要があるユーザーは誰かを判断し、それらのユーザーに最小特権のアクセス許可を設定する。

  • スタックポリシーを使用して、CloudFormation スタックが意図せず更新されないように保護する。

  • CloudFormation ユーザーとリソースに最小特権のアクセス許可を設定して、特権のエスカレーションや「混乱した代理」問題を防止する。

  • AWS CloudFormation を使用して、最小特権のアクセス許可で AWS リソースをプロビジョニングする。これにより、組織はより堅牢なセキュリティ体制を維持できます。

  • セキュリティインシデントの調査と軽減にかかる時間、エネルギー、費用を予防する。

対象者

このガイドは、CloudFormation を使用してリソースを管理およびプロビジョニングするクラウドインフラストラクチャアーキテクト、DevOps エンジニア、サイト信頼性エンジニア (SRE) を対象としています。