的操作、资源和条件键 AWS CodeDeploy - 服务授权参考

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

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

AWS CodeDeploy (service prefix:codedeploy) 提供以下特定于服务的资源、操作和条件上下文密钥,供在IAM权限策略中使用。

参考:

AWS CodeDeploy 定义的操作

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

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

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

注意

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

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

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
AddTagsToOnPremisesInstances 授予权限以向一个或多个本地部署实例添加标签 标记

instance*

BatchGetApplicationRevisions 授予权限以获取有关一个或多个应用程序修订的信息 读取

application*

BatchGetApplications 授予获取与该IAM用户关联的多个应用程序信息的权限 读取

application*

BatchGetDeploymentGroups 授予权限以获取有关一个或多个部署组的信息 读取

deploymentgroup*

BatchGetDeploymentInstances 授予权限以获取有关属于部署组的一个或多个实例的信息 读取

deploymentgroup*

BatchGetDeploymentTargets 授予权限以返回与部署关联的一个或多个目标的数组。此方法适用于所有计算类型,应使用该方法代替已弃用的 BatchGetDeploymentInstances方法。可以返回的最大目标数量为 25 读取
BatchGetDeployments 授予获取与该IAM用户关联的多个部署信息的权限 读取

deploymentgroup*

BatchGetOnPremisesInstances 授予权限以获取有关一个或多个本地实例的信息 读取

instance*

ContinueDeployment 授予权限以启动将来自原始环境中的实例的流量重新路由到替换环境中的实例的过程,而无需等待指定的等待时间过去 写入
CreateApplication 授予创建与IAM用户关联的应用程序的权限 写入

application*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateCloudFormationDeployment [仅权限] 授予创建 CloudFormation 部署以合作管理堆栈更新的 CloudFormation 权限 写入
CreateDeployment 授予为与IAM用户关联的应用程序创建部署的权限 写入

deploymentgroup*

CreateDeploymentConfig 授予创建与IAM用户关联的自定义部署配置的权限 写入

deploymentconfig*

CreateDeploymentGroup 授予为与IAM用户关联的应用程序创建部署组的权限 写入

deploymentgroup*

aws:RequestTag/${TagKey}

aws:TagKeys

DeleteApplication 授予删除与该IAM用户关联的应用程序的权限 写入

application*

DeleteDeploymentConfig 授予删除与IAM用户关联的自定义部署配置的权限 写入

deploymentconfig*

DeleteDeploymentGroup 授予删除与IAM用户关联的应用程序的部署组的权限 写入

deploymentgroup*

DeleteGitHubAccountToken 授予删除 GitHub 账户连接的权限 写入
DeleteResourcesByExternalId 授予权限以删除与给定外部 ID 关联的资源 写入
DeregisterOnPremisesInstance 授予权限以注销本地部署的实例 写入

instance*

GetApplication 授予获取与该IAM用户关联的单个应用程序的相关信息的权限 列出

application*

GetApplicationRevision 授予权限以获取有关与IAM用户关联的应用程序的单个应用程序修订的信息 列出

application*

GetDeployment 授予向部署组获取与该IAM用户关联的应用程序的单个部署信息的权限 列出

deploymentgroup*

GetDeploymentConfig 授予获取与IAM用户关联的单个部署配置信息的权限 列出

deploymentconfig*

GetDeploymentGroup 授予权限以获取与IAM用户关联的应用程序的单个部署组的相关信息 列出

deploymentgroup*

GetDeploymentInstance 授予权限以获取与IAM用户关联的部署中单个实例的信息 列出

deploymentgroup*

GetDeploymentTarget 授予权限以返回有关部署目标的信息 读取
GetOnPremisesInstance 授予权限以获取有关单个本地部署实例的信息 列出

instance*

ListApplicationRevisions 授予获取与该IAM用户关联的应用程序的所有应用程序修订信息的权限 列出

application*

ListApplications 授予获取与该IAM用户关联的所有应用程序信息的权限 列出
ListDeploymentConfigs 授予获取与该IAM用户关联的所有部署配置信息的权限 列出
ListDeploymentGroups 授予权限以获取与该IAM用户关联的应用程序的所有部署组的相关信息 列出

application*

ListDeploymentInstances 授予权限以获取有关部署中与该IAM用户关联的所有实例的信息 列出

deploymentgroup*

ListDeploymentTargets 授予返回与部署关联IDs的目标数组的权限 列出
ListDeployments 授予权限以获取与该IAM用户关联的部署组的所有部署的相关信息,或获取与该IAM用户关联的所有部署的信息 列出

deploymentgroup*

ListGitHubAccountTokenNames 授予列出 GitHub 账户存储连接名称的权限 列出
ListOnPremisesInstances 授予权限以获取一个或多个本地实例名称的列表 列出
ListTagsForResource 授予返回由指定标识的资源的标签列表的权限ARN。标签用于组织和分类您的资源 CodeDeploy 列出

application

deploymentgroup

PutLifecycleEventHookExecutionStatus 授予通知与IAM用户关联部署的生命周期事件挂钩执行状态的权限 写入
RegisterApplicationRevision 授予为与IAM用户关联的应用程序注册有关应用程序修订信息的权限 写入

application*

RegisterOnPremisesInstance 授予权限以注册本地部署的实例 写入

instance*

RemoveTagsFromOnPremisesInstances 授予权限以从一个或多个本地部署实例移除标签 标记

instance*

SkipWaitTimeForInstanceTermination 授予权限以覆盖任何指定的等待时间,并在流量路由完成后立即开始终止实例。此操作仅适用于蓝-绿部署 写入
StopDeployment 授予停止部署的权限 写入
TagResource 授予将输入 Tags 参数中的标签列表与输入参数标识的资源关联的 ResourceArn 权限 标记

application

deploymentgroup

aws:RequestTag/${TagKey}

aws:TagKeys

UntagResource 授予权限以从一系列标签中取消与资源的关联。资源由 ResourceArn 输入参数标识。标签由输入参数中的密钥列表标 TagKeys 识 标记

application

deploymentgroup

aws:TagKeys

UpdateApplication 授予更新应用程序的权限 写入

application*

UpdateDeploymentGroup 授予权限以更改与IAM用户关联的应用程序的单个部署组的相关信息 写入

deploymentgroup*

AWS CodeDeploy 定义的资源类型

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

资源类型 ARN 条件键
application arn:${Partition}:codedeploy:${Region}:${Account}:application:${ApplicationName}
deploymentconfig arn:${Partition}:codedeploy:${Region}:${Account}:deploymentconfig:${DeploymentConfigurationName}
deploymentgroup arn:${Partition}:codedeploy:${Region}:${Account}:deploymentgroup:${ApplicationName}/${DeploymentGroupName}
instance arn:${Partition}:codedeploy:${Region}:${Account}:instance:${InstanceName}

AWS CodeDeploy 的条件键

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

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

条件键 描述 类型
aws:RequestTag/${TagKey} 根据在请求中是否具有标签键值对以筛选操作 字符串
aws:ResourceTag/${TagKey} 根据附加到资源的标签键值对筛选操作 字符串
aws:TagKeys 根据在请求中是否具有标签键以筛选操作 ArrayOfString