AWS Amplify のアクション、リソース、および条件キー
AWS Amplify (サービスプレフィックス: amplify
) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。
参照:
-
このサービスを設定する方法について説明します。
-
このサービスで使用可能な API オペレーションのリストを表示します。
-
IAM アクセス許可ポリシーを使用して、このサービスとそのリソースを保護する方法を学びます。
AWS Amplify で定義されるアクション
IAM ポリシーステートメントの Action
エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。
[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource
要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource
要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。
[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition
要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。
注記
リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。
以下の表の列の詳細については、「アクションテーブル」を参照してください。
アクション | 説明 | アクセスレベル | リソースタイプ (* 必須) | 条件キー | 依存アクション |
---|---|---|---|---|---|
CreateApp | 新しい Amplify アプリケーションを作成するアクセス許可を付与 | 書き込み | |||
CreateBackendEnvironment | Amplify AppId に新しいバックエンド環境を作成するアクセス許可を付与 | 書き込み | |||
CreateBranch | Amplify アプリケーションの新しいブランチを作成するアクセス許可を付与 | 書き込み | |||
CreateDeployment | アプリケーションの手動デプロイ用のデプロイを作成するアクセス許可を付与 (アプリケーションはリポジトリに接続されません) | 書き込み | |||
CreateDomainAssociation | アプリケーションに新しい DomainAssociation を作成するアクセス許可を付与 | 書き込み | |||
CreateWebHook | アプリケーションに新しいウェブフックを作成するアクセス許可を付与 | 書き込み | |||
DeleteApp | appId で指定された既存の Amplify アプリケーションを削除するアクセス許可を付与 | 書き込み | |||
DeleteBackendEnvironment | Amplify アプリケーションのブランチを削除するアクセス許可を付与 | 書き込み | |||
DeleteBranch | Amplify アプリケーションのブランチを削除するアクセス許可を付与 | 書き込み | |||
DeleteDomainAssociation | DomainAssociation を削除するアクセス許可を付与 | 書き込み | |||
DeleteJob | Amplify アプリケーションの一部である Amplify ブランチのジョブを削除するアクセス許可を付与 | 書き込み | |||
DeleteWebHook | id でウェブフックを削除するアクセス許可を付与 | 書き込み | |||
GenerateAccessLogs | 署名付き URL を使用して、特定の時間範囲のウェブサイトアクセスログを生成するアクセス許可を付与 | 書き込み | |||
GetApp | appId で指定された既存の Amplify アプリケーションを取得するアクセス許可を付与 | 読み取り | |||
GetArtifactUrl | artifactId に対応するアーティファクト情報を取得するアクセス許可を付与 | 読み取り | |||
GetBackendEnvironment | Amplify アプリケーションのバックエンド環境を取得するアクセス許可を付与 | 読み取り | |||
GetBranch | Amplify アプリケーションのブランチを取得するアクセス許可を付与 | 読み取り | |||
GetDomainAssociation | appId および domainName に対応するドメイン情報を取得するアクセス許可を付与 | 読み取り | |||
GetJob | Amplify アプリケーションの一部である Amplify ブランチのジョブを取得するアクセス許可を付与 | 読み取り | |||
GetWebHook | webhookId に対応するウェブフック情報を取得するアクセス許可を付与 | 読み取り | |||
ListApps | 既存の Amplify アプリケーションを一覧表示するアクセス許可を付与 | リスト | |||
ListArtifacts | アプリケーション、ブランチ、ジョブ、およびアーティファクトタイプとともにアーティファクトを一覧表示するアクセス許可を付与 | リスト | |||
ListBackendEnvironments | Amplify アプリケーションのバックエンド環境を一覧表示するアクセス許可を付与 | リスト | |||
ListBranches | Amplify アプリケーションのブランチを一覧表示するアクセス許可を付与 | リスト | |||
ListDomainAssociations | アプリケーションのドメインを一覧表示するアクセス許可を付与 | リスト | |||
ListJobs | Amplify アプリケーションの一部である、ブランチのジョブを一覧表示するアクセス許可を付与 | リスト | |||
ListTagsForResource | AWS Amplify コンソールリソースのタグを一覧表示するアクセス許可を付与 | 読み取り | |||
ListWebHooks | アプリケーションのウェブフックを一覧表示するアクセス許可を付与 | リスト | |||
StartDeployment | アプリケーションの手動デプロイ用のデプロイを開始するアクセス許可を付与 (アプリケーションはリポジトリに接続されません) | 書き込み | |||
StartJob | Amplify アプリケーションの一部である、ブランチの新しいジョブを開始するアクセス許可を付与 | 書き込み | |||
StopJob | Amplify アプリケーションの一部である、ブランチの進行中のジョブを停止するアクセス許可を付与 | 書き込み | |||
TagResource | AWS Amplify コンソールリソースのタグへのアクセス許可を付与 | タグ付け | |||
UntagResource | AWS Amplify コンソールリソースからタグを削除するアクセス許可を付与 | タグ付け | |||
UpdateApp | 既存の Amplify アプリケーションを更新するアクセス許可を付与 | 書き込み | |||
UpdateBranch | Amplify アプリケーションのブランチを更新するアクセス許可を付与 | 書き込み | |||
UpdateDomainAssociation | アプリケーションで DomainAssociation を更新するアクセス許可を付与 | 書き込み | |||
UpdateWebHook | ウェブフックを更新するアクセス許可を付与 | 書き込み |
AWS Amplify で定義されるリソースタイプ
以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource
エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、[リソースタイプ] テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。
リソースタイプ | ARN | 条件キー |
---|---|---|
apps |
arn:${Partition}:amplify:${Region}:${Account}:apps/${AppId}
|
|
branches |
arn:${Partition}:amplify:${Region}:${Account}:apps/${AppId}/branches/${BranchName}
|
|
jobs |
arn:${Partition}:amplify:${Region}:${Account}:apps/${AppId}/branches/${BranchName}/jobs/${JobId}
|
|
domains |
arn:${Partition}:amplify:${Region}:${Account}:apps/${AppId}/domains/${DomainName}
|
|
webhooks |
arn:${Partition}:amplify:${Region}:${Account}:webhooks/${WebhookId}
|
AWS Amplify の条件キー
AWS Amplify では、IAM ポリシーの Condition
要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。
すべてのサービスで使用できるグローバル条件キーを確認するには、「使用できるグローバル条件キー」を参照してください。
条件キー | 説明 | タイプ |
---|---|---|
aws:RequestTag/${TagKey} | リクエスト内のタグのキーと値でアクセスをフィルター | 文字列 |
aws:ResourceTag/${TagKey} | リソースに関連付けられたタグのキーでアクセスをフィルタリング | 文字列 |
aws:TagKeys | リクエスト内のタグキーでアクセスをフィルタリングします | ArrayOfString |