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

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

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

参考:

AWS CodeDeploy 定义的操作

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

操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 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 授予权限以返回与部署关联的目标 ID 数组 列出
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 policy 的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表

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

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