翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CloudFormation を使用するための最小特権アクセス許可の設定
この章では、 AWS CloudFormation サービスにアクセスして使用するためのアクセス許可の設定オプションについて説明します。
ユーザーまたはサービスが CloudFormation を介して AWS リソースをプロビジョニングする場合、最初のステップは AWS Identity and Access Management (IAM) プリンシパルを介して CloudFormation サービスを呼び出すことです。この IAM プリンシパルには CloudFormation スタックを作成するためのアクセス許可が必要です。次に、IAM プリンシパルは次のいずれかのアプローチにより、CloudFormation でリソースをプロビジョニングします。
-
IAM プリンシパルがスタックの操作を CloudFormation のサービスロールに渡さない場合、CloudFormation は IAM プリンシパルの認証情報を使用してスタックを操作します。これがデフォルトです。したがって、IAM プリンシパルには、CloudFormation のスタックを操作するアクセス許可に加えて、使用する CloudFormation テンプレートで定義されているリソースをプロビジョニングするためのアクセス許可も必要です。例えば、IAM プリンシパルに Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成するアクセス許可がない場合、Amazon EC2 インスタンスをプロビジョニングする CloudFormation スタックを作成できません。
-
IAM プリンシパルがスタック操作を CloudFormation サービスロールに渡す場合、CloudFormation はそのサービスロールを使用してスタックを操作し、CloudFormation テンプレートでリソースをプロビジョニングします。この CloudFormation サービスロールは、IAM プリンシパル AWS のサービス に代わって をプロビジョニングするアクセス許可で定義する必要があります。このアプローチにより、CloudFormation テンプレートで定義された AWS リソースをプロビジョニングするためのアクセス許可を IAM プリンシパルに直接付与する必要がなくなります。IAM プリンシパルに必要なのは CloudFormation のスタック作成のアクセス許可であり、CloudFormation は IAM プリンシパルのポリシーではなくサービスロールのポリシーを使用して呼び出しを行います。
サービスロールアプローチと最小特権の原則を使用することで、 AWS 環境でリソースプロビジョニングを標準化し、ユーザーが CloudFormation を通じてリソースを IaC としてプロビジョニングすることを要求できます。IAM プリンシパルにアタッチされたポリシーには、 AWS リソースを直接プロビジョニングするアクセス許可が含まれていないため、ユーザーは CloudFormation を使用してリソースをプロビジョニングする必要があります。
この章では、CloudFormation サービスと CloudFormation スタックへのアクセスを設定および管理するための以下のメカニズムについて説明します。
-
CloudFormation の ID ベースポリシー – このタイプのポリシーを使用すると、どの IAM プリンシパルが CloudFormation にアクセスでき、どのアクションを実行できるかを設定できます。
-
CloudFormation のサービスロール – スタックをデプロイする IAM プリンシパルに代わって、CloudFormation がスタックリソースを作成、更新、削除できるようにするサービスロールを作成します。サービスロールは IAM で作成し、1 つ以上のスタックに関連付けることができます。
-
CloudFormation スタックポリシー – このタイプのポリシーを使用すると、スタックを更新可能なタイミングを決定できます。これにより、スタックリソースが意図せずに更新または削除されるのを防ぐことができます。作成されたスタックポリシーは CloudFormation のスタックに関連付けられます。