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

AWS CodeDeploy 权限参考

在设置 访问控制 和编写您可挂载到 IAM 身份的权限策略(基于身份的策略)时,可以使用下表作为参考。该表列出每个 AWS CodeDeploy API 操作、您可授予执行权限的对应操作,以及用于授予权限的资源 ARN 的格式。您可以在策略的 Action 字段中指定操作,在策略的 Resource 字段中指定 ARN(带不带通配符 (*) 皆可)作为资源值。

您可以在 AWS CodeDeploy 策略中使用 AWS 范围的条件键来表达条件。有关 AWS 范围内的密钥的完整列表,请参阅 IAM 用户指南 中的可用密钥

要指定操作,请在 API 操作名称之前使用 codedeploy: 前缀(例如,codedeploy:GetApplicationcodedeploy:CreateApplication)。要在单个语句中指定多项操作,请使用逗号将它们隔开(例如,"Action": ["codedeploy:action1", "codedeploy:action2"])。

使用通配符

您可以在 ARN 使用通配符 (*) 以指定多个操作或资源。例如,codedeploy:* 指定所有 AWS CodeDeploy 操作,codedeploy:Get* 指定以单词 Get 开头的所有 AWS CodeDeploy 操作。以下示例授予对名称以 West 开头且与名称以 Test 开头的应用程序关联的所有部署组的访问权限。

arn:aws:codedeploy:us-west-2:80398EXAMPLE:deploymentgroup:Test*/West*

您可以将通配符与表中列出的以下资源一起使用:

  • application-name

  • deployment-group-name

  • deployment-configuration-name

  • instance-ID

通配符无法与 regionaccount-id 一起使用。有关通配符的更多信息,请参阅 IAM 用户指南 中的 IAM 标识符

下面列出了 IAM 策略中可指定用于 AWS CodeDeploy 的操作。

如果看到表右上角处有扩展箭头 (),则您可以在新窗口中打开该表。要关闭窗口,请选择右下角处的关闭按钮 (X)。

AWS CodeDeploy API 操作和必需的操作权限

AWS CodeDeploy API 操作 所需权限 (API 操作) 资源

AddTagsToOnPremisesInstances

codedeploy:AddTagsToOnPremisesInstances

向一个或多个本地实例添加标签所必需的。

arn:aws:codedeploy:region:account-id:instance/instance-ID

BatchGetApplicationRevisions

codedeploy:BatchGetApplicationRevisions

获取有关与 IAM 用户关联的多个应用程序版本的信息所必需的。

arn:aws:codedeploy:region:account-id:application:application-name

BatchGetApplications

codedeploy:BatchGetApplications

获取有关与 IAM 用户关联的多个应用程序的信息所必需的。

arn:aws:codedeploy:region:account-id:application:*

BatchGetDeploymentGroups

codedeploy:BatchGetDeploymentGroups

获取有关与 IAM 用户关联的多个部署组的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

BatchGetDeploymentInstances codedeploy:BatchGetDeploymentInstances

获取有关属于部署组的一个或多个实例的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

BatchGetDeployments

codedeploy:BatchGetDeployments

获取有关与 IAM 用户关联的多个部署的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

BatchGetOnPremisesInstances

codedeploy:BatchGetOnPremisesInstances

获取有关一个或多个本地实例的信息所必需的。

arn:aws:codedeploy:region:account-id:*

ContinueDeployment

codedeploy:ContinueDeployment

在蓝/绿部署期间,对于开始将替换环境中的实例注册到 Elastic Load Balancing 负载均衡器的过程是必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

CreateApplication

codedeploy:CreateApplication

创建与 IAM 用户关联的应用程序所必需的。

arn:aws:codedeploy:region:account-id:application:application-name

CreateDeployment ¹

codedeploy:CreateDeployment

为与 IAM 用户关联的应用程序创建部署所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

CreateDeploymentConfig

codedeploy:CreateDeploymentConfig

创建与 IAM 用户关联的自定义部署配置所必需的。

arn:aws:codedeploy:region:account-id:deploymentconfig/deployment-configuration-name

CreateDeploymentGroup

codedeploy:CreateDeploymentGroup

为与 IAM 用户关联的应用程序创建部署组所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

DeleteApplication

codedeploy:DeleteApplication

删除与 IAM 用户关联的应用程序所必需的。

arn:aws:codedeploy:region:account-id:application:application-name

DeleteDeploymentConfig

codedeploy:DeleteDeploymentConfig

删除与 IAM 用户关联的自定义部署配置所必需的。

arn:aws:codedeploy:region:account-id:deploymentconfig/deployment-configuration-name

DeleteDeploymentGroup

codedeploy:DeleteDeploymentGroup

为与 IAM 用户关联的应用程序删除部署组所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

DeregisterOnPremisesInstance

codedeploy:DeregisterOnPremisesInstance

取消注册本地实例所必需的。

arn:aws:codedeploy:region:account-id:instance/instance-ID

GetApplication

codedeploy:GetApplication

获取有关与 IAM 用户关联的单个应用程序的信息所必需的。

arn:aws:codedeploy:region:account-id:application:application-name

GetApplicationRevision

codedeploy:GetApplicationRevision

获取有关与 IAM 用户关联的应用程序的单个应用程序修订的信息所必需的。

arn:aws:codedeploy:region:account-id:application:application-name

GetDeployment

codedeploy:GetDeployment

获取针对与 IAM 用户关联的应用程序的部署组的单个部署的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

GetDeploymentConfig

codedeploy:GetDeploymentConfig

获取有关与 IAM 用户关联的单个部署配置的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentconfig/deployment-configuration-name

GetDeploymentGroup

codedeploy:GetDeploymentGroup

获取有关与 IAM 用户关联的应用程序的单个部署组的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

GetDeploymentInstance

codedeploy:GetDeploymentInstance

获取有关部署中与 IAM 用户关联的单个实例的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

GetOnPremisesInstance

codedeploy:GetOnPremisesInstance

获取有关单个本地实例的信息所必需的。

arn:aws:codedeploy:region:account-id:instance/instance-ID

ListApplicationRevisions

codedeploy:ListApplicationRevisions

获取有关与 IAM 用户关联的应用程序的所有应用程序修订的信息所必需的。

arn:aws:codedeploy:region:account-id:application:*

ListApplications

codedeploy:ListApplications

获取有关与 IAM 用户关联的所有应用程序的信息所必需的。

arn:aws:codedeploy:region:account-id:application:*

ListDeploymentConfigs

codedeploy:ListDeploymentConfigs

获取有关与 IAM 用户关联的所有部署配置的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentconfig/*

ListDeploymentGroups

codedeploy:ListDeploymentGroups

获取有关与 IAM 用户关联的应用程序的所有部署组的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/*

ListDeploymentInstances

codedeploy:ListDeploymentInstances

获取有关部署中与 IAM 用户或 AWS 账户关联的所有实例的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

ListDeployments

codedeploy:ListDeployments

获取有关针对与 IAM 用户关联的部署组的所有部署的信息所必需的,或获取与 IAM 用户或 AWS 账户的所有部署所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

ListOnPremisesInstances

codedeploy:ListOnPremisesInstances

获取一个或更多本地实例名称的列表所必需的。

arn:aws:codedeploy:region:account-id:*

RegisterApplicationRevision

codedeploy:RegisterApplicationRevision

注册有关与 IAM 用户关联的应用程序的一个应用程序修订的信息所必需的。

arn:aws:codedeploy:region:account-id:application:application-name

RegisterOnPremisesInstance

codedeploy:RegisterOnPremisesInstance

向 AWS CodeDeploy 注册本地实例所必需的。

arn:aws:codedeploy:region:account-id:instance/instance-ID

RemoveTagsFromOnPremisesInstances

codedeploy:RemoveTagsFromOnPremisesInstances

从一个或多个本地实例中删除标签所必需的。

arn:aws:codedeploy:region:account-id:instance/instance-ID

SkipWaitTimeForInstanceTermination

codedeploy:SkipWaitTimeForInstanceTermination

在蓝/绿部署中,对于覆盖某个指定等待时间并立即开始终止原始环境中的实例是必需的。

arn:aws:codedeploy:region:account-id:instance/instance-ID

StopDeployment

codedeploy:StopDeployment

停止正在进行的部署到与 IAM 用户关联的应用程序的部署组所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

UpdateApplication ³

codedeploy:UpdateApplication

更改有关与 IAM 用户关联的应用程序的信息所必需的。

arn:aws:codedeploy:region:account-id:application:application-name

UpdateDeploymentGroup ³

codedeploy:UpdateDeploymentGroup

更改有关与 IAM 用户关联的应用程序的单个部署组的信息所必需的。

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

¹ 当您指定 CreateDeployment 权限时,您还必须指定部署配置的 GetDeploymentConfig 权限和应用程序修订的 GetApplicationRevision 或 RegisterApplicationRevision 权限。

² 在提供特定部署组时对 ListDeployments 有效,但在列出所有与 IAM 用户关联的部署时无效。

³ 对于 UpdateApplication,您必须同时具有对旧应用程序名称和新应用程序名称的 UpdateApplication 权限。对于涉及更改部署组名称的 UpdateDeploymentGroup 操作,您必须同时具有对旧的和新的部署组名称的 UpdateDeploymentGroup 权限。

¹ 当您指定 CreateDeployment 权限时,您还必须指定部署配置的 GetDeploymentConfig 权限和应用程序修订的 GetApplicationRevision 或 RegisterApplicationRevision 权限。

² 在提供特定部署组时对 ListDeployments 有效,但在列出所有与 IAM 用户关联的部署时无效。

³ 对于 UpdateApplication,您必须同时具有对旧应用程序名称和新应用程序名称的 UpdateApplication 权限。对于涉及更改部署组名称的 UpdateDeploymentGroup 操作,您必须同时具有对旧的和新的部署组名称的 UpdateDeploymentGroup 权限。