AWS CloudFormation 的操作、资源和条件键 - 服务授权参考
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS CloudFormation 的操作、资源和条件键

AWS CloudFormation(服务前缀:cloudformation)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。

参考:

AWS CloudFormation 定义的操作

您可以在 Action 策略语句的 IAM 元素中指定以下操作。可以使用策略授予在 AWS 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定所有资源(“*”)。如果该列包含一种资源类型,则可以在含有该操作的语句中指定该类型的 ARN。必需资源在表中以星号 (*) 表示。如果在使用该操作的语句中指定资源级权限 ARN,则它必须属于该类型。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种类型而不使用其他类型。

有关下表中各列的详细信息,请参阅 操作表

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
CancelUpdateStack 授予取消指定堆栈更新的权限 写入

stack*

ContinueUpdateRollback 授予继续将处于 UPDATE_ROLLBACK_FAILED 状态的堆栈回滚到 UPDATE_ROLLBACK_COMPLETE 状态的权限 写入

stack*

cloudformation:RoleArn

CreateChangeSet 授予为堆栈创建更改列表的权限 写入

stack*

cloudformation:ChangeSetName

cloudformation:ResourceTypes

cloudformation:ImportResourceTypes

cloudformation:RoleArn

cloudformation:StackPolicyUrl

cloudformation:TemplateUrl

aws:RequestTag/${TagKey}

aws:TagKeys

CreateStack 授予依照模板中的指定创建堆栈的权限 写入

stack*

cloudformation:ResourceTypes

cloudformation:RoleArn

cloudformation:StackPolicyUrl

cloudformation:TemplateUrl

aws:RequestTag/${TagKey}

aws:TagKeys

CreateStackInstances 授予在指定区域内为指定账户创建堆栈实例的权限 写入

stackset*

stackset-target

type

CreateStackSet 授予依照模板中的指定创建堆栈集的权限 写入

cloudformation:RoleArn

cloudformation:TemplateUrl

aws:RequestTag/${TagKey}

aws:TagKeys

CreateUploadBucket [仅权限] 授予将模板上传到 Amazon S3 存储桶的权限。仅由 AWS CloudFormation 控制台使用,未在 API 参考中记录 写入
DeleteChangeSet 授予删除指定更改集的权限。删除更改集可确保没有人执行错误的更改集 写入

stack*

cloudformation:ChangeSetName

DeleteStack 授予删除指定堆栈的权限 写入

stack*

cloudformation:RoleArn

DeleteStackInstances 授予在指定区域内删除指定账户的堆栈实例的权限 写入

stackset*

stackset-target

type

DeleteStackSet 授予删除指定堆栈集的权限 写入

stackset*

DeregisterType 授予取消注册现有 CloudFormation 类型或类型版本的权限 写入
DescribeAccountLimits 授予检索账户的 AWS CloudFormation 限制的权限 Read
DescribeChangeSet 授予返回指定更改集的描述的权限 Read

stack*

cloudformation:ChangeSetName

DescribeStackDriftDetectionStatus 授予返回有关堆栈偏差检测操作的信息的权限 Read
DescribeStackEvents 授予为指定堆栈返回所有与堆栈相关事件的权限 Read

stack*

DescribeStackInstance 授予返回与指定堆栈集、AWS 账户和区域关联的堆栈实例的权限 Read

stackset*

DescribeStackResource 授予返回指定堆栈中指定资源描述的权限 Read

stack*

DescribeStackResourceDrifts 授予返回已针对指定堆栈中的偏差进行检查的资源偏差信息的权限 Read

stack*

DescribeStackResources 授予为运行中和已删除堆栈返回 AWS 资源描述的权限 Read

stack*

DescribeStackSet 授予返回指定堆栈集描述的权限 Read

stackset*

DescribeStackSetOperation 授予返回指定堆栈集操作描述的权限 Read

stackset*

DescribeStacks 授予为指定堆栈返回描述的权限 List

stack*

DescribeType 授予返回有关所请求的 CloudFormation 类型信息的权限 Read
DescribeTypeRegistration 授予返回有关 CloudFormation 类型的注册过程信息的权限 Read
DetectStackDrift 授予权限,以检测堆栈的实际配置是否与预期配置(在堆栈模板以及指定为模板参数的任何值中定义)不同或出现偏差 Read

stack*

DetectStackResourceDrift 授予权限,以返回有关资源的实际配置是否与预期配置(在堆栈模板以及指定为模板参数的任何值中定义)不同或出现偏差的信息 Read

stack*

DetectStackSetDrift 授予权限,使用户能够检测堆栈集以及属于该堆栈集的堆栈实例上的偏差 Read

stackset*

EstimateTemplateCost 授予返回模板每月估计成本的权限 Read
ExecuteChangeSet 授予创建指定更改集时使用提供的输入信息更新堆栈的权限 写入

stack*

cloudformation:ChangeSetName

GetStackPolicy 授予为指定堆栈返回堆栈策略的权限 Read

stack*

GetTemplate 授予为指定堆栈返回模板正文的权限 Read

stack*

GetTemplateSummary 授予返回有关新模板或现有模板信息的权限 Read

stack

stackset

ListChangeSets 授予返回堆栈的每个活动更改集的 ID 和状态的权限。例如,AWS CloudFormation 列出处于 CREATE_IN_PROGRESS 或 CREATE_PENDING 状态的更改集 List

stack*

ListExports 授予权限,以列出您在其中调用此操作的账户和区域中的所有已导出输出值 List
ListImports 授予列出导出输出值的所有堆栈的权限 List
ListStackInstances 授予权限,以返回与指定堆栈集关联的相关堆栈实例的摘要信息 List

stackset*

ListStackResources 授予返回指定堆栈中所有资源描述的权限 List

stack*

ListStackSetOperationResults 授予返回有关堆栈集操作结果的摘要信息的权限 List

stackset*

ListStackSetOperations 授予返回有关堆栈集上执行操作的摘要信息的权限 List

stackset*

ListStackSets 授予返回与用户关联的堆栈集的摘要信息的权限 List

stackset*

ListStacks 授予权限,以返回其状态与指定的 StackStatusFilter 匹配的堆栈的摘要信息 List
ListTypeRegistrations 授予列出 CloudFormation 类型注册尝试的权限 List
ListTypeVersions 授予列出特定 CloudFormation 类型版本的权限 List
ListTypes 授予列出可用 CloudFormation 类型的权限 List
RecordHandlerProgress 授予权限以记录处理程序进度 写入

stack*

RegisterType 授予注册新 CloudFormation 类型的权限 写入
SetStackPolicy 授予为指定堆栈设置堆栈策略的权限 权限管理

stack*

cloudformation:StackPolicyUrl

SetTypeDefaultVersion 授予设置哪个 CloudFormation 类型版本应用于 CloudFormation 操作的权限 写入
SignalResource 授予向指定资源发送包含成功或失败状态信号的权限 写入

stack*

StopStackSetOperation 授予停止对堆栈集及其关联堆栈实例的进行中操作的权限 写入

stackset*

TagResource 授予标记 CloudFormation 资源的权限 标记

stack

stackset

UntagResource 授予取消标记 CloudFormation 资源的权限 标记

stack

stackset

UpdateStack 授予依照模板中的指定更新堆栈的权限 写入

stack*

cloudformation:ResourceTypes

cloudformation:RoleArn

cloudformation:StackPolicyUrl

cloudformation:TemplateUrl

aws:RequestTag/${TagKey}

aws:TagKeys

UpdateStackInstances 授予在指定区域内为指定账户的堆栈实例更新参数值的权限。 写入

stackset*

stackset-target

type

UpdateStackSet 授予依照模板中的指定更新堆栈集的权限 写入

stackset*

stackset-target

type

cloudformation:RoleArn

cloudformation:TemplateUrl

aws:RequestTag/${TagKey}

aws:TagKeys

UpdateTerminationProtection 授予为指定堆栈更新终止保护的权限 写入

stack*

ValidateTemplate 授予验证指定模板的权限 Read

AWS CloudFormation 定义的资源类型

以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作都标识了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在表的最后一列。有关下表中各列的详细信息,请参阅 资源类型表

资源类型 ARN 条件键
changeset arn:${Partition}:cloudformation:${Region}:${Account}:changeSet/${ChangeSetName}/${Id}
stack arn:${Partition}:cloudformation:${Region}:${Account}:stack/${StackName}/${Id}

aws:ResourceTag/${TagKey}

stackset arn:${Partition}:cloudformation:${Region}:${Account}:stackset/${StackSetName}/${Id}

aws:ResourceTag/${TagKey}

stackset-target arn:${Partition}:cloudformation:${Region}:${Account}:stackset-target/${StackSetTarget}
type arn:${Partition}:cloudformation:${Region}:${Account}:type/resource/${Type}

AWS CloudFormation 的条件键

AWS CloudFormation 定义以下可以在 IAM 策略的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅 条件键表

要查看适用于所有服务的全局条件键,请参阅可用的全局条件键

条件键 描述 类型
aws:RequestTag/${TagKey} 根据在请求中传递的标签筛选操作 字符串
aws:ResourceTag/${TagKey} 根据与资源关联的标签筛选操作 字符串
aws:TagKeys 根据在请求中传递的标签键筛选操作 字符串
cloudformation:ChangeSetName 根据 AWS CloudFormation 更改集名称筛选操作。用于控制 IAM 用户可执行或删除的更改集 字符串
cloudformation:ImportResourceTypes 根据模板资源类型(例如 AWS::EC2::Instance)筛选操作。用于控制 IAM 用户希望将资源导入堆栈时可以使用的资源类型 字符串
cloudformation:ResourceTypes 根据模板资源类型(例如 AWS::EC2::Instance)筛选操作。用于控制 IAM 用户在创建或更新堆栈时可以使用的资源类型 字符串
cloudformation:RoleArn 根据 IAM 服务角色的 ARN 筛选操作。用于控制 IAM 用户在处理堆栈或更改集时可使用的服务角色 ARN
cloudformation:StackPolicyUrl 根据 Amazon S3 堆栈策略 URL 筛选操作。用于控制在创建或更新堆栈操作期间 IAM 用户可将哪些堆栈策略关联到堆栈 字符串
cloudformation:TemplateUrl 根据 Amazon S3 模板 URL 筛选操作。用于控制 IAM 用户在创建或更新堆栈时可以使用的模板 字符串