CodeDeploy のアクセス許可に関するリファレンス - AWS CodeDeploy

CodeDeploy のアクセス許可に関するリファレンス

IAM アイデンティティにアタッチできるアクセスポリシーと書き込みアクセス許可ポリシー (アイデンティティベースのポリシー) を設定する場合は、次の表を使用します。この表には、各 CodeDeploy API オペレーション、アクションを実行するためのアクセス許可を付与できるアクション、およびアクセス許可を付与するために使用するリソース ARN の形式が示されています。アクションは、ポリシーの Action フィールドで指定します。ポリシーの Resource フィールドでリソース値として、ワイルドカード文字 (*) を使用して、または使用せずに ARN を指定します。

CodeDeploy ポリシーで AWS 全体の条件キーを使用して、条件を表現することができます。AWS 全体のキーの詳細なリストについては、IAM ユーザーガイドの「利用可能なキー」を参照してください。

アクションを指定するには、codedeploy: プレフィックスに続けて API オペレーション名 (codedeploy:GetApplicationcodedeploy:CreateApplication など) を使用します。複数のアクションを単一のステートメントで指定する場合は、カンマで区切ります (例: "Action": ["codedeploy:action1", "codedeploy:action2"])。

ワイルドカード文字の使用

ARN でワイルドカード文字 (*) を使用して、複数のアクションまたはリソースを指定できます。たとえば、codedeploy:* は、すべての CodeDeploy アクションを指定し、codedeploy:Get* は、Get という単語で始まるすべての CodeDeploy アクションを指定します。次の例では、West で始まり、名前が Test で始まるアプリケーションに関連付けられている名前を持つすべてのデプロイグループにアクセス権限を付与します。

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

表に表示されている次のリソースでワイルドカードを使用できます。

  • application-name

  • deployment-group-name

  • deployment-configuration-name

  • instance-ID

ワイルドカードは region または account-id では使用できません。ワイルドカードの詳細については、IAM ユーザーガイドの「IAM ID」を参照してください。

注記

各アクションの ARN ではリソースの後にコロン (:) が続きます。また、リソースの後にスラッシュ (/) を使用できます。詳細については、「CodeDeploy の ARN の例」を参照してください。

スクロールバーを使用して、テーブルの残りの部分を確認します。

CodeDeploy API オペレーションおよびアクションに必要なアクセス許可
CodeDeploy API オペレーション 必要なアクセス許可 (API アクション) リソース

AddTagsToOnPremisesInstances

codedeploy:AddTagsToOnPremisesInstances

1 つ以上のオンプレミスインスタンスにタグを追加するために必要です。

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

デプロイグループ内の 1 つ以上のインスタンスに関する情報を取得するために必要です。

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

1 つ以上のオンプレミスインスタンスに関する情報を取得するために必要です。

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

ContinueDeployment

codedeploy:ContinueDeployment

Blue/Green デプロイ中に、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

GetDeploymentTarget

codedeploy:GetDeploymentTarget

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

ListDeploymentTargets

codedeploy:ListDeploymentTargets

IAM ユーザーまたは AWS アカウントに関連付けられたデプロイのすべてのインスタンスに関する情報を取得するために必要です。

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

ListGitHubAccountTokenNames

codedeploy:ListGitHubAccountTokenNames

GitHub アカウントへの保存された接続の名前を一覧表示するために必要です。

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

ListOnPremisesInstances

codedeploy:ListOnPremisesInstances

1 つ以上のオンプレミスインスタンス名のリストを取得するために必要です。

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

PutLifecycleEventHookExecutionStatus

codedeploy:PutLifecycleEventHookExecutionStatus

ライフサイクルフックイベントの実行ステータスの通知を提供する場合は必須です。

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

RegisterApplicationRevision

codedeploy:RegisterApplicationRevision

IAM ユーザーに関連付けられたアプリケーションのアプリケーションリビジョンに関する情報を登録するために必要です。

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

RegisterOnPremisesInstance

codedeploy:RegisterOnPremisesInstance

オンプレミスインスタンスを CodeDeploy で登録するために必要です。

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

RemoveTagsFromOnPremisesInstances

codedeploy:RemoveTagsFromOnPremisesInstances

1 つ以上のオンプレミスインスタンスからタグを削除するために必要です。

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

SkipWaitTimeForInstanceTermination

codedeploy:SkipWaitTimeForInstanceTermination

指定された待機時間をオーバーライドし、元の環境でインスタンスを直ちに終了させるために Blue/Green デプロイで必要です。

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 アクセス許可が必要です。