AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::IAM::Policy

AWS::IAM::Policy 资源将 IAM 策略与 IAM 用户、角色或组关联。有关 IAM 策略的更多信息,请参阅 IAM 用户指南 指南中的 IAM 策略概述

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

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

YAML

Type: "AWS::IAM::Policy" Properties: Groups: - 字符串 PolicyDocument: JSON object PolicyName: String Roles: - 字符串 Users: - 字符串

属性

Groups

要向其添加策略的组的名称。

Required: Conditional。您必须指定以下至少一个属性:GroupsRolesUsers

Type: List of String values

更新要求无需中断

PolicyDocument

策略文档,其中包含要添加到指定用户或组的权限。

Required: Yes

Type: JSON object

注意

AWS Identity and Access Management (IAM) 要求策略为 JSON 格式。但对于 YAML 格式的模板,IAM 策略可为 JSON 或 YAML 格式。AWS CloudFormation 会始终将策略转换为 JSON 格式再提交给 IAM。

更新要求无需中断

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。您必须指定以下至少一个属性:GroupsRolesUsers

Type: List of String values

更新要求无需中断

Users

您要为其添加策略的用户的名称。

Required: Conditional。您必须指定以下至少一个属性:GroupsRolesUsers

Type: List of String values

更新要求无需中断

返回值

Ref

当该资源的逻辑 ID 提供给 Ref内部函数时,Ref 将返回资源名称。

有关使用 Ref 功能的更多信息,请参阅参考

示例

带有策略组的 IAM 策略

JSON

{ "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

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

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

YAML

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

本页内容: