AWS App Runner のアクション、リソース、および条件キー
AWS App Runner (サービスプレフィックス: apprunner) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。
参照:
-
このサービスを設定する方法について説明します。
-
このサービスで使用可能な API オペレーションのリストを表示します。
-
IAM アクセス許可ポリシーを使用して、このサービスとそのリソースを保護する方法を学びます。
AWS App Runner で定義されるアクション
IAM ポリシーステートメントの Action エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。
アクションテーブルの [アクセスレベル] 列では、アクションの指定方法 (リスト、読み取り、アクセス許可管理、タグ付け) について説明します。このように分類することで、ポリシーで使用する際にアクションで付与するアクセスレベルを理解しやすくなります。アクセスレベルの詳細については、「ポリシー概要内のアクセスレベル」を参照してください。
[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource 要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource 要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。
[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition 要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。
Actions テーブルの [依存アクション] 列には、アクションを正常に呼び出すために必要な追加のアクセス許可が表示されます。これらのアクセス許可は、アクション自体のアクセス許可に加えて必要になる場合があります。アクションが依存アクションを指定すると、それらの依存関係は、テーブルにリストされている最初のリソースだけでなく、そのアクションに定義された追加のリソースに適用される場合があります。
注記
リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。
以下の表の列の詳細については、「アクションテーブル」を参照してください。
| アクション | 説明 | アクセスレベル | リソースタイプ (* 必須) | 条件キー | 依存アクション |
|---|---|---|---|---|---|
| AssociateCustomDomain | App Runner サービスの AWS App Runner サブドメイン URL に自身のドメイン名を関連付けるアクセス許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
| AssociateWebAcl [アクセス許可のみ] | サービスを AWS WAF ウェブ ACL に関連付けるための許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
| CreateAutoScalingConfiguration | AWS App Runner オートスケーリング設定リソースを作成するアクセス許可を付与します | 書き込み | |||
| CreateConnection | AWS App Runner 接続リソースを作成するアクセス許可を付与します | 書き込み | |||
| CreateObservabilityConfiguration | AWS App Runner オブザーバビリティ設定リソースを作成するアクセス許可を付与します | 書き込み | |||
| CreateService | AWS App Runner サービスリソースを作成するための許可を付与します | 書き込み | |||
|
apprunner:AutoScalingConfigurationArn |
|||||
| CreateVpcConnector | AWS App Runner VPC コネクタリソースを作成するための許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
| CreateVpcIngressConnection | AWS App Runner VpcIngressConnection リソースを作成する許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
| DeleteAutoScalingConfiguration | AWS App Runner オートスケーリング設定リソースを削除するアクセス許可を付与します | 書き込み | |||
| DeleteConnection | AWS App Runner 接続リソースを削除するための許可を付与します | 書き込み | |||
| DeleteObservabilityConfiguration | AWS App Runner オブザーバビリティ設定リソースを削除するアクセス許可を付与します | 書き込み | |||
| DeleteService | AWS App Runner サービスリソースを削除するための許可を付与します | 書き込み | |||
| DeleteVpcConnector | AWS App Runner VPC コネクタリソースを削除するための許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
| DeleteVpcIngressConnection | AWS App Runner VpcIngressConnection リソースを削除する許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
| DescribeAutoScalingConfiguration | AWS App Runner オートスケーリング設定リソースの説明を取得するための許可を付与します | 読み込み | |||
| DescribeCustomDomains | AWS App Runner サービスに関連付けられたカスタムドメイン名の説明を取得するアクセス許可を付与します | 読み込み | |||
| DescribeObservabilityConfiguration | AWS App Runner オブザーバビリティ設定リソースの説明を取得するアクセス許可を付与します | 読み込み | |||
| DescribeOperation | AWS App Runner サービスで発生したオペレーションの説明を取得するための許可を付与します | 読み込み | |||
| DescribeService | AWS App Runner サービスリソースの説明を取得するための許可を付与します | 読み込み | |||
| DescribeVpcConnector | AWS App Runner VPC コネクタリソースの説明を取得するための許可を付与します | 読み取り | |||
| DescribeVpcIngressConnection | AWS App Runner VpcIngressConnection リソースの説明を取得する許可を付与します | 読み取り | |||
| DescribeWebAclForService [アクセス許可のみ] | AWS App Runner サービスに関連付けられた AWS WAF ウェブ ACL を取得するための許可を付与します | 読み取り | |||
| DisassociateCustomDomain | AWS App Runner サービスからカスタムドメイン名の関連付けを解除するアクセス許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
| DisassociateWebAcl [アクセス許可のみ] | AWS WAF ウェブ ACL へのサービスの関連付けを解除するための許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
| ListAssociatedServicesForWebAcl [アクセス許可のみ] | AWS WAF ウェブ ACL に関連付けられたサービスを一覧表示するための許可を付与します | リスト | |||
| ListAutoScalingConfigurations | AWS アカウント の AWS App Runner オートスケーリング設定のリストを取得するアクセス許可を付与します | リスト | |||
| ListConnections | AWS アカウント の AWS App Runner 接続リストを取得するための許可を付与します | リスト | |||
| ListObservabilityConfigurations | AWS アカウント の AWS App Runner オブザーバビリティ設定のリストを取得するアクセス許可を付与します | リスト | |||
| ListOperations | AWS App Runner サービスリソースで発生したオペレーションのリストを取得するための許可を付与します | リスト | |||
| ListServices | AWS アカウント で実行中の AWS App Runner サービスのリストを取得するアクセス許可を付与します | リスト | |||
| ListServicesForAutoScalingConfiguration | AWS アカウント の AWS App Runner 自動スケーリング設定の関連 App Runner サービスのリストを取得する許可を付与 | リスト | |||
| ListTagsForResource | AWS App Runner リソースに関連付けられたタグを一覧表示するアクセス許可を付与します | 読み込み | |||
| ListVpcConnectors | AWS アカウント の AWS App Runner VPC コネクタリストを取得するための許可を付与します | リスト | |||
| ListVpcIngressConnections | AWS アカウント で AWS App Runner VpcIngressConnections のリストを取得する許可を付与します | リスト | |||
| PauseService | アクティブな AWS App Runner サービスを一時停止するアクセス許可を付与します | 書き込み | |||
| ResumeService | アクティブな AWS App Runner サービスを再開するアクセス許可を付与します | 書き込み | |||
| StartDeployment | AWS App Runner サービスへの手動デプロイを開始するアクセス許可を付与します | 書き込み | |||
| TagResource | AWS App Runner リソースにタグを追加したり、タグ値を更新するための許可を付与します | タグ付け | |||
| UntagResource | AWS App Runner リソースからタグを削除するための許可を付与します | タグ付け | |||
| UpdateDefaultAutoScalingConfiguration | AWS App Runner の自動スケーリング設定を更新して AWS アカウント のデフォルトにする許可を付与 | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
| UpdateService | AWS App Runner サービスリソースを更新するための許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
|
apprunner:AutoScalingConfigurationArn |
|||||
| UpdateVpcIngressConnection | AWS App Runner VpcIngressConnection リソースを更新する許可を付与します | あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。 | |||
AWS App Runner で定義されるリソースタイプ
以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、[リソースタイプ] テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。
| リソースタイプ | ARN | 条件キー |
|---|---|---|
| service |
arn:${Partition}:apprunner:${Region}:${Account}:service/${ServiceName}/${ServiceId}
|
|
| connection |
arn:${Partition}:apprunner:${Region}:${Account}:connection/${ConnectionName}/${ConnectionId}
|
|
| autoscalingconfiguration |
arn:${Partition}:apprunner:${Region}:${Account}:autoscalingconfiguration/${AutoscalingConfigurationName}/${AutoscalingConfigurationVersion}/${AutoscalingConfigurationId}
|
|
| observabilityconfiguration |
arn:${Partition}:apprunner:${Region}:${Account}:observabilityconfiguration/${ObservabilityConfigurationName}/${ObservabilityConfigurationVersion}/${ObservabilityConfigurationId}
|
|
| vpcconnector |
arn:${Partition}:apprunner:${Region}:${Account}:vpcconnector/${VpcConnectorName}/${VpcConnectorVersion}/${VpcConnectorId}
|
|
| vpcingressconnection |
arn:${Partition}:apprunner:${Region}:${Account}:vpcingressconnection/${VpcIngressConnectionName}/${VpcIngressConnectionId}
|
|
| webacl |
arn:${Partition}:wafv2:${Region}:${Account}:${Scope}/webacl/${Name}/${Id}
|
AWS App Runner の条件キー
AWS App Runner では、IAM ポリシーの Condition 要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。
すべてのサービスで使用できるグローバル条件キーを確認するには、「AWSグローバル条件コンテキストキー」を参照してください。
| 条件キー | 説明 | [Type] (タイプ) |
|---|---|---|
| apprunner:AutoScalingConfigurationArn | 関連付けられた AutoScalingConfiguration リソースの ARN に基づいた CreateService アクションと UpdateService アクションによって、アクセスをフィルタリングします | ARN |
| apprunner:ConnectionArn | 関連付けられた接続リソースの ARN に基づいた CreateService アクションと UpdateService アクションによって、アクセスをフィルタリングします | ARN |
| apprunner:ObservabilityConfigurationArn | 関連付けられた ObservabilityConfiguration リソースの ARN に基づいた CreateService アクションと UpdateService アクションで、アクセスをフィルタリングします | ARN |
| apprunner:ServiceArn | 関連付けられたサービスリソースの ARN に基づいた CreateVpcIngressConnection アクションでアクセスをフィルタリング | ARN |
| apprunner:VpcConnectorArn | 関連付けられた VpcConnector リソースの ARN に基づいた CreateService アクションと UpdateService アクションによって、アクセスをフィルタリングします | ARN |
| apprunner:VpcEndpointId | リクエスト内の VPC エンドポイントに基づいた CreateVpcIngressConnection アクションと UpdateVpcIngressConnection アクションでアクセスをフィルタリング | 文字列 |
| apprunner:VpcId | リクエスト内の VPC に基づいた CreateVpcIngressConnection アクションと UpdateVpcIngressConnection アクションでアクセスをフィルタリング | 文字列 |
| aws:RequestTag/${TagKey} | リクエスト内のタグキーおよび値のペアのプレゼンスに基づいてアクセスをフィルタリングします | 文字列 |
| aws:ResourceTag/${TagKey} | リソースにアタッチされているタグキーおよび値のペアに基づいてアクセスをフィルタリングします | 文字列 |
| aws:TagKeys | リクエスト内のタグキーのプレゼンスに基づいたアクションでアクセスをフィルタリングします | ArrayOfString |