AWS CodeDeploy のアクション、リソース、および条件キー
AWS CodeDeploy (サービスプレフィックス: codedeploy
) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。
参照:
-
このサービスを設定する方法について説明します。
-
このサービスで使用可能な API オペレーションのリストを表示します。
-
IAM アクセス許可ポリシーを使用して、このサービスとそのリソースを保護する方法を学びます。
AWS CodeDeploy で定義されるアクション
IAM ポリシーステートメントの Action
エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。
[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource
要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource
要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。
[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition
要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。
注記
リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。
以下の表の列の詳細については、「アクションテーブル」を参照してください。
アクション | 説明 | アクセスレベル | リソースタイプ (* 必須) | 条件キー | 依存アクション |
---|---|---|---|---|---|
AddTagsToOnPremisesInstances | 1 つ以上のオンプレミスインスタンスにタグを追加するアクセス許可を付与 | タグ付け | |||
BatchGetApplicationRevisions | 1 つ以上のアプリケーションのリビジョンに関する情報を取得するアクセス許可を付与 | 読み込み | |||
BatchGetApplications | IAM ユーザーに関連付けられた複数のアプリケーションに関する情報を取得するアクセス許可を付与 | 読み込み | |||
BatchGetDeploymentGroups | 1 つ以上のデプロイグループに関する情報を取得するアクセス許可を付与 | 読み込み | |||
BatchGetDeploymentInstances | デプロイグループの一部である 1 つ以上のインスタンスに関する情報を取得するアクセス許可を付与 | 読み込み | |||
BatchGetDeploymentTargets | デプロイに関連付けられている 1 つ以上のターゲットの配列を返すアクセス許可を付与 このメソッドはすべてのコンピューティングタイプで動作し、廃止された BatchGetDeploymentInstances の代わりに使用する必要があります。返すことができるターゲットの最大数は 25 です | 読み込み | |||
BatchGetDeployments | IAM ユーザーに関連付けられている複数のデプロイに関する情報を取得するアクセス許可を付与 | 読み込み | |||
BatchGetOnPremisesInstances | 1 つ以上のオンプレミスインスタンスに関する情報を取得するアクセス許可を付与 | 読み込み | |||
ContinueDeployment | 指定された待機時間の経過を待たずに、トラフィックを元の環境のインスタンスから置き換え先環境のインスタンスに再ルーティングするプロセスをスタートするアクセス許可を付与 | 書き込み | |||
CreateApplication | IAM ユーザーに関連付けられているアプリケーションを作成するアクセス許可を付与 | 書き込み | |||
CreateCloudFormationDeployment [アクセス許可のみ] | CloudFormation スタック更新のオーケストレーションに貢献する CloudFormation のデプロイを作成するアクセス許可を付与 | 書き込み | |||
CreateDeployment | IAM ユーザーに関連付けられているアプリケーションのデプロイを作成するアクセス許可を付与 | 書き込み | |||
CreateDeploymentConfig | IAM ユーザーに関連付けられているカスタムデプロイ設定を作成するアクセス許可を付与 | 書き込み | |||
CreateDeploymentGroup | IAM ユーザーに関連付けられているアプリケーションのデプロイグループを作成するアクセス許可を付与 | 書き込み | |||
DeleteApplication | IAM ユーザーに関連付けられているアプリケーションを削除するアクセス許可を付与 | 書き込み | |||
DeleteDeploymentConfig | IAM ユーザーに関連付けられているカスタムデプロイ設定を削除するアクセス許可を付与 | 書き込み | |||
DeleteDeploymentGroup | IAM ユーザーに関連付けられているアプリケーションのデプロイグループを削除するアクセス許可を付与 | 書き込み | |||
DeleteGitHubAccountToken | GitHub アカウント接続を削除するアクセス許可を付与 | 書き込み | |||
DeleteResourcesByExternalId | 特定の外部 ID に関連付けられているリソースを削除するアクセス許可を付与 | 書き込み | |||
DeregisterOnPremisesInstance | オンプレミスインスタンスの登録を解除するアクセス許可を付与 | 書き込み | |||
GetApplication | IAM ユーザーに関連付けられている単一のアプリケーションに関する情報を取得するアクセス許可を付与 | リスト | |||
GetApplicationRevision | IAM ユーザーに関連付けられているアプリケーションの、単一のアプリケーションのリビジョンに関する情報を取得するアクセス許可を付与 | リスト | |||
GetDeployment | IAM ユーザーに関連付けられているアプリケーションの、デプロイグループへの単一のデプロイに関する情報を取得するアクセス許可を付与 | リスト | |||
GetDeploymentConfig | IAM ユーザーに関連付けられている単一のデプロイ設定に関する情報を取得するアクセス許可を付与 | リスト | |||
GetDeploymentGroup | IAM ユーザーに関連付けられているアプリケーションの、単一のデプロイグループに関する情報を取得するアクセス許可を付与 | リスト | |||
GetDeploymentInstance | IAM ユーザーに関連付けられているデプロイの、単一のインスタンスに関する情報を取得するアクセス許可を付与 | リスト | |||
GetDeploymentTarget | デプロイターゲットに関する情報を返すアクセス許可を付与 | 読み込み | |||
GetOnPremisesInstance | 単一のオンプレミスインスタンスに関する情報を取得するアクセス許可を付与 | リスト | |||
ListApplicationRevisions | IAM ユーザーに関連付けられているアプリケーションの、すべてのアプリケーションのリビジョンに関する情報を取得するアクセス許可を付与 | リスト | |||
ListApplications | IAM ユーザーに関連付けられているすべてのアプリケーションに関する情報を取得するアクセス許可を付与 | リスト | |||
ListDeploymentConfigs | IAM ユーザーに関連付けられているすべてのデプロイ設定に関する情報を取得するアクセス許可を付与 | リスト | |||
ListDeploymentGroups | IAM ユーザーに関連付けられているアプリケーションの、すべてのデプロイグループに関する情報を取得するアクセス許可を付与 | リスト | |||
ListDeploymentInstances | IAM ユーザーに関連付けられているデプロイの、すべてのインスタンスに関する情報を取得するアクセス許可を付与 | リスト | |||
ListDeploymentTargets | デプロイに関連付けられているターゲット ID の配列を返すアクセス許可を付与 | リスト | |||
ListDeployments | IAM ユーザーに関連付けられているデプロイグループへのすべてのデプロイに関する情報を取得する、またはIAM ユーザーに関連付けられているすべてのデプロイを取得するアクセス許可を付与 | リスト | |||
ListGitHubAccountTokenNames | GitHub アカウントに保存された接続名を一覧表示するアクセス許可を付与 | リスト | |||
ListOnPremisesInstances | 1 つ以上のオンプレミスインスタンス名のリストを取得するアクセス許可を付与 | リスト | |||
ListTagsForResource | 指定した ARN によって識別されるリソースのタグのリストを返すアクセス許可を付与 タグは、CodeDeploy リソースを整理および分類するために使用されます | リスト | |||
PutLifecycleEventHookExecutionStatus | IAM ユーザーに関連付けられているデプロイのライフサイクルイベントフックの実行ステータスを通知するアクセス許可を付与 | 書き込み | |||
RegisterApplicationRevision | IAM ユーザーに関連付けられているアプリケーションの、アプリケーションのリビジョンに関する情報を登録するアクセス許可を付与 | 書き込み | |||
RegisterOnPremisesInstance | オンプレミスインスタンスを登録するアクセス許可を付与 | 書き込み | |||
RemoveTagsFromOnPremisesInstances | 1 つ以上のオンプレミスインスタンスからタグを削除するアクセス許可を付与 | タグ付け | |||
SkipWaitTimeForInstanceTermination | 指定した待機時間を上書きし、トラフィックのルーティング完了直後にインスタンスの終了をスタートするアクセス許可を付与 このアクションは、blue-green デプロイにのみ適用されます | 書き込み | |||
StopDeployment | デプロイを停止する許可を付与。 | 書き込み | |||
TagResource | 入力タグパラメータ内のタグのリストを、ResourceArn 入力パラメータにより識別されるリソースに関連付けるアクセス許可を付与 | タグ付け | |||
UntagResource | タグのリストからリソースの関連付けを解除するアクセス許可を付与 リソースは、ResourceArn 入力パラメータによって識別されます。タグは、TagKeys 入力パラメータ内のキーのリストによって識別されます | タグ付け | |||
UpdateApplication | アプリケーションを更新する許可を付与 | 書き込み | |||
UpdateDeploymentGroup | IAM ユーザーに関連付けられているアプリケーションの、単一のデプロイグループに関する情報を変更するアクセス許可を付与 | 書き込み |
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 |