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

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

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

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

参考:

由 Amazon CloudFormation 定义的操作

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

操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource 元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。

操作表的条件键列包括可以在策略语句的 Condition 元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。

注意

资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。

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

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
ActivateOrganizationsAccess 授予在和 Organizations StackSets 之间激活可信访问的权限。激活 StackSets 和 Organizations 之间的可信访问权限后,管理账户有权 StackSets 为您的组织创建和管理 写入
ActivateType 授予权限以激活公有第三方扩展,使其可用于堆栈模板 写入
BatchDescribeTypeConfigurations 授予返回指定 CloudFormation 扩展程序配置数据的权限 读取
CancelUpdateStack 授予权限以取消指定堆栈更新 Write

stack*

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

stack*

cloudformation:RoleArn

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

stack*

cloudformation:ChangeSetName

cloudformation:ResourceTypes

cloudformation:ImportResourceTypes

cloudformation:RoleArn

cloudformation:StackPolicyUrl

cloudformation:TemplateUrl

aws:RequestTag/${TagKey}

aws:TagKeys

CreateGeneratedTemplate 授予使用尚未管理的现有资源创建模板的权限 CloudFormation 写入
CreateStack 授予依照模板中的指定创建堆栈的权限 Write

stack*

cloudformation:ResourceTypes

cloudformation:RoleArn

cloudformation:StackPolicyUrl

cloudformation:TemplateUrl

aws:RequestTag/${TagKey}

aws:TagKeys

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

stackset*

stackset-target

type

aws:TagKeys

cloudformation:TargetRegion

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

cloudformation:RoleArn

cloudformation:TemplateUrl

aws:RequestTag/${TagKey}

aws:TagKeys

CreateUploadBucket [仅权限] 授予将模板上传到 Amazon S3 存储桶的权限。仅供Amazon CloudFormation 控制台使用,未记录在 API 参考中 写入
DeactivateOrganizationsAccess 授予在和 Organizations 之间停用可信访问权限 StackSets 的权限。如果停用可信访问权限,则该管理账户无权为您的组织创建和管理服务托管服务 StackSets 写入
DeactivateType 授予权限以停用先前在此账户和区域中激活的公有扩展 写入
DeleteChangeSet 授予删除指定更改集的权限。删除更改集可确保没有人执行错误的更改集 写入

stack*

cloudformation:ChangeSetName

DeleteGeneratedTemplate 授予删除生成的模板的权限 写入
DeleteStack 授予删除指定堆栈的权限 Write

stack*

cloudformation:RoleArn

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

stackset*

stackset-target

type

cloudformation:TargetRegion

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

stackset*

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

stack*

cloudformation:ChangeSetName

DescribeChangeSetHooks 授予返回指定更改集的 Hook 调用信息的权限 读取

stack*

cloudformation:ChangeSetName

DescribeGeneratedTemplate 授予描述生成的模板的权限。输出包括有关生成模板的创建进度的详细信息 读取
DescribeOrganizationsAccess 授予返回有关账户 OrganizationAccess 状态信息的权限 读取
DescribePublisher 授予返回 CloudFormation 扩展发布者相关信息的权限 读取
DescribeResourceScan 授予描述资源扫描详细信息的权限 读取
DescribeStackDriftDetectionStatus 授予返回有关堆栈偏差检测操作的信息的权限 Read
DescribeStackEvents 授予为指定堆栈返回所有与堆栈相关事件的权限 Read

stack*

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

stackset*

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

stack*

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

stack*

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

stack*

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

stackset*

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

stackset*

DescribeStacks 授予返回指定堆栈描述的权限,以及与操作结合使用时返回所有堆栈的描述的 ListStacks 权限 列出

stack

cloudformation:ListStacks

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

stack*

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

stack*

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

stackset*

EstimateTemplateCost 授予返回模板每月估计成本的权限 Read

cloudformation:TemplateUrl

ExecuteChangeSet 授予创建指定更改集时使用提供的输入信息更新堆栈的权限 写入

stack*

cloudformation:ChangeSetName

GetGeneratedTemplate 授予检索生成的模板的权限 读取
GetStackPolicy 授予为指定堆栈返回堆栈策略的权限 Read

stack*

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

stack*

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

stack

stackset

cloudformation:TemplateUrl

ImportStacksToStackSet 授予允许用户将现有堆栈导入到新堆栈或现有堆栈集的权限 写入

stackset*

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

stack*

ListExports 授予权限,以列出您在其中调用此操作的账户和区域中的所有已导出输出值 列出
ListGeneratedTemplates 授予在该区域列出您生成的模板的权限 列出
ListImports 授予列出导出输出值的所有堆栈的权限 列出
ListResourceScanRelatedResources 授予列出资源扫描中资源列表的相关资源的权限。该响应表明每个返回的资源是否已由管理 CloudFormation 列出
ListResourceScanResources 授予列出资源扫描中资源的权限。可以按资源标识符、资源类型前缀、标签键和标签值筛选结果 列出
ListResourceScans 授予按从最新到最旧的顺序列出资源扫描的权限。默认情况下,它将返回最多 10 次资源扫描 列出
ListStackInstanceResourceDrifts 授予返回已针对指定堆栈实例中偏差进行检查的资源偏差信息的权限 列出

stackset*

ListStackInstances 授予权限,以返回与指定堆栈集关联的相关堆栈实例的摘要信息 List

stackset*

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

stack*

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

stackset*

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

stackset*

ListStackSets 授予返回与用户关联的堆栈集的摘要信息的权限 列出
ListStacks 授予返回状态与指定值 StackStatusFilter匹配的堆栈摘要信息的权限。与 DescribeStacks 操作相结合,授予列出堆栈描述的权限 列出
ListTypeRegistrations 授予列出 CloudFormation 类型注册尝试次数的权限 列出
ListTypeVersions 授予列出特定 CloudFormation 类型版本的权限 列出
ListTypes 授予列出可用 CloudFormation 类型的权限 列出
PublishType 授予将指定扩展作为该区域的公共扩展发布到 CloudFormation 注册表的权限 写入
RecordHandlerProgress 授予权限以记录处理程序进度 写入

stack*

RegisterPublisher 授予在注册 CloudFormation 表中将账户注册为公共扩展发布者的权限 写入
RegisterType 授予注册新 CloudFormation 类型的权限 写入
RollbackStack 授予将堆栈回滚到最后一个稳定状态的权限 写入

stack*

cloudformation:RoleArn

SetStackPolicy 授予为指定堆栈设置堆栈策略的权限 权限管理

stack*

cloudformation:StackPolicyUrl

SetTypeConfiguration 授予在给定账户和区域中为已注册的 CloudFormation 扩展程序设置配置数据的权限 写入
SetTypeDefaultVersion 授予权限以设置某一 CloudFormation 类型的哪个版本适用于 CloudFormation 操作 写入
SignalResource 授予向指定资源发送包含成功或失败状态信号的权限 写入

stack*

StartResourceScan 授予开始扫描该区域此账户中资源的权限 写入
StopStackSetOperation 授予停止对堆栈集及其关联堆栈实例的进行中操作的权限 Write

stackset*

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

changeset

stack

stackset

aws:TagKeys

aws:RequestTag/${TagKey}

TestType 授予测试已注册扩展程序的权限,以确保其满足在 CloudFormation 注册表中发布的所有必要要求 写入
UntagResource 授予权限以取消标记 CloudFormation 资源 标记

changeset

stack

stackset

aws:TagKeys

UpdateGeneratedTemplate 授予更新生成的模板的权限。这可用于更改名称、添加和删除资源、刷新资源以及更改 DeletionPolicy 和 UpdateReplacePolicy 设置 写入
UpdateStack 授予依照模板中的指定更新堆栈的权限 Write

stack*

cloudformation:ResourceTypes

cloudformation:RoleArn

cloudformation:StackPolicyUrl

cloudformation:TemplateUrl

aws:RequestTag/${TagKey}

aws:TagKeys

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

stackset*

stackset-target

type

cloudformation:TargetRegion

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

stackset*

stackset-target

type

cloudformation:RoleArn

cloudformation:TemplateUrl

cloudformation:TargetRegion

aws:RequestTag/${TagKey}

aws:TagKeys

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

stack*

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

cloudformation:TemplateUrl

Amazon CloudFormation 定义的资源类型

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

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

aws:ResourceTag/${TagKey}

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}
generatedtemplate arn:${Partition}:cloudformation:${Region}:${Account}:generatedTemplate/${Id}
resourcescan arn:${Partition}:cloudformation:${Region}:${Account}:resourceScan/${Id}

Amazon CloudFormation 的条件键

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

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

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