メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::IAM::Policy

AWS::IAM::Policy リソースは、IAM ポリシーを IAM ユーザー、ロール、グループに関連付けます。IAM ポリシーの詳細については、IAM ユーザーガイドの「 IAM ポリシーの概要」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::IAM::Policy", "Properties" : { "Groups" : [ String, ... ], "PolicyDocument" : JSON object, "PolicyName" : String, "Roles" : [ String, ... ], "Users" : [ String, ... ] } }

YAML

Copy
Type: "AWS::IAM::Policy" Properties: Groups: - 文字列 PolicyDocument: JSON object PolicyName: String Roles: - 文字列 Users: - 文字列

プロパティ

Groups

ポリシーを追加するグループの名前。

Required: Conditional。GroupsRoles、および Users のプロパティのうち、少なくとも 1 つは指定が必要です。

Type: List of String values

更新に伴う要件: 中断はありません。

PolicyDocument

指定したユーザーまたはグループに追加するためのアクセス許可が含まれるポリシードキュメント。

Required: Yes

Type: JSON object

注記

AWS Identity and Access Management (IAM) では、ポリシーが JSON 形式である必要があります。ただし、YAML 形式のテンプレートでは、JSON または YAML 形式で IAM ポリシーを作成できます。AWS CloudFormation は、IAM に送信する前に常にポリシーを JSON 形式に変換します。

更新に伴う要件: 中断はありません。

PolicyName

ポリシーの名前。エンティティに対して複数のポリシーを指定する場合は、一意の名前を指定します。たとえば、IAM ロールのポリシーのリストを指定した場合は、各ポリシーに一意の名前が必要です。

Required: Yes

Type: String

更新に伴う要件: 中断はありません。

Roles

このポリシーがアタッチされる AWS::IAM::Role の名前。

注記

ポリシーに Ref のロールがあり、リソース (AWS::ECS::Service など) にも同じロールに Ref がある場合には、このリソースがポリシーに依存するようにリソースにDependsOn の属性を追加します。 この依存性により、ロールのポリシーがリソースのライフサイクルを通じて利用できるようになります。 たとえば、AWS::ECS::Service のリソースを持つスタックを削除する場合に、DependsOn の属性により、AWS::ECS::Service のリソースが完了した後にロールのポリシーが削除されます。

Required: Conditional。GroupsRoles、および Users のプロパティのうち、少なくとも 1 つは指定が必要です。

Type: List of String values

更新に伴う要件: 中断はありません。

Users

ポリシーを追加するユーザーの名前。

Required: Conditional。GroupsRoles、および Users のプロパティのうち、少なくとも 1 つは指定が必要です。

Type: List of String values

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりリソース名が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

ポリシーグループを持つ IAM ポリシー

JSON

Copy
{ "Type" : "AWS::IAM::Policy", "Properties" : { "PolicyName" : "CFNUsers", "PolicyDocument" : { "Version" : "2012-10-17", "Statement": [ { "Effect" : "Allow", "Action" : [ "cloudformation:Describe*", "cloudformation:List*", "cloudformation:Get*" ], "Resource" : "*" } ] }, "Groups" : [ { "Ref" : "CFNUserGroup" } ] } }

YAML

Copy
Type: "AWS::IAM::Policy" Properties: PolicyName: "CFNUsers" PolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Action: - "cloudformation:Describe*" - "cloudformation:List*" - "cloudformation:Get*" Resource: "*" Groups: - Ref: "CFNUserGroup"

指定されたロールを持つ IAM ポリシー

JSON

Copy
{ "Type": "AWS::IAM::Policy", "Properties": { "PolicyName": "root", "PolicyDocument": { "Version" : "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" } ] }, "Roles": [ { "Ref": "RootRole" } ] } }

YAML

Copy
Type: "AWS::IAM::Policy" Properties: PolicyName: "root" PolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Action: "*" Resource: "*" Roles: - Ref: "RootRole"

このページの内容: