翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS AppSync のアクション、リソース、および条件キー
AWS AppSync (サービスプレフィックス: appsync) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。
リファレンス:
-
このサービスを設定する方法について説明します。
-
このサービスで使用可能な API オペレーションのリストを表示します。
-
IAM アクセス許可ポリシーを使用して、このサービスとそのリソースを保護する方法を学びます。
AWS AppSync で定義されるアクション
IAM ポリシーステートメントの Action エレメントでは、以下のアクションを指定できます。ポリシーを使用して、 AWSでオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。
Actions テーブルのアクセスレベル列は、アクションの分類方法 (List、Read、Permissions Management、Tagging) を示しています。このように分類することで、ポリシーで使用する際にアクションで付与するアクセスレベルを理解しやすくなります。アクセスレベルの詳細については、ポリシー概要の「アクセスレベル」を参照してください。
[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource 要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource 要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。
[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition 要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。
Actions テーブルの Dependent Actions 列には、アクションを正常に呼び出すために必要な追加のアクセス許可が表示されます。これらのアクセス許可は、アクション自体のアクセス許可に加えて必要になる場合があります。アクションが依存アクションを指定すると、それらの依存関係は、テーブルにリストされている最初のリソースだけでなく、そのアクションに定義された追加のリソースに適用される場合があります。
注記
リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。
以下の表の列の詳細については、「アクションテーブル」を参照してください。
| アクション | 説明 | アクセスレベル | リソースタイプ (* 必須) | 条件キー | 依存アクション |
|---|---|---|---|---|---|
| AssociateApi | AppSync でカスタムドメイン名に GraphQL API をアタッチする許可を付与 | 書き込み | |||
| AssociateMergedGraphqlApi | マージされた API をソース API に関連付ける許可を付与 | 書き込み | |||
| AssociateSourceGraphqlApi | ソース API をマージされた API に関連付ける許可を付与 | 書き込み | |||
| CreateApi | API を作成するアクセス許可を付与します | 書き込み |
iam:CreateServiceLinkedRole |
||
| CreateApiCache | AppSync で API キャッシュを作成する許可を付与 | 書き込み | |||
| CreateApiKey | API を実行しているクライアントに配布できる一意のキーを作成する許可を付与 | 書き込み | |||
| CreateChannelNamespace | チャネル名前空間を作成するアクセス許可を付与します | 書き込み | |||
| CreateDataSource | データソースを作成するアクセス許可を付与 | 書き込み | |||
| CreateDomainName | AppSync でカスタムドメイン名を作成する許可を付与 | 書き込み | |||
| CreateFunction | 新しい関数を作成する許可を付与 | 書き込み | |||
| CreateGraphqlApi | 最上位の AppSync リソースである GraphQL API を作成する許可を付与 | 書き込み |
iam:CreateServiceLinkedRole |
||
| CreateResolver | リゾルバーを作成するアクセス許可を付与。リゾルバーは、受信リクエストをデータソースが理解できる形式に変換し、データソースのレスポンスを GraphQL に変換 | 書き込み | |||
| CreateType | タイプを作成するためのアクセス許可を付与 | 書き込み | |||
| DeleteApi | API を削除するアクセス許可を付与します。これにより、その API より下の AppSync リソースもすべてクリーンアップ | 書き込み | |||
| DeleteApiCache | AppSync で API キャッシュを削除する許可を付与 | 書き込み | |||
| DeleteApiKey | API キーを削除する許可を付与 | 書き込み | |||
| DeleteChannelNamespace | チャネル名前空間を削除するアクセス許可を付与します | 書き込み | |||
| DeleteDataSource | データソースを削除するアクセス許可を付与 | 書き込み | |||
| DeleteDomainName | AppSync でカスタムドメイン名を削除する許可を付与 | 書き込み | |||
| DeleteFunction | 関数を削除する許可を付与 | 書き込み | |||
| DeleteGraphqlApi | GraphQL API を削除する許可を付与。これにより、その API より下の AppSync リソースもすべてクリーンアップ | 書き込み | |||
| DeleteResolver | Resolver を削除する許可を付与 | 書き込み | |||
| DeleteResourcePolicy [アクセス許可のみ] | リソースポリシーを削除する許可を付与 | 書き込み | |||
| DeleteType | タイプを削除する許可を付与 | 書き込み | |||
| DisassociateApi | AppSync でカスタムドメイン名への GraphQL API のアタッチを解除するアクセス許可を付与 | 書き込み | |||
| DisassociateMergedGraphqlApi | ソース API によって識別されるマージされた API から、関連付けられたソース API を削除する許可を付与 | 書き込み | |||
| DisassociateSourceGraphqlApi | マージされた API によって識別されるマージされた API から、関連付けられたソース API を削除する許可を付与 | 書き込み | |||
| EvaluateCode | ランタイムとコンテキストを使用してコードを評価するアクセス許可を付与 | 読み取り | |||
| EvaluateMappingTemplate | テンプレートマッピングを評価する許可を付与 | 読み取り | |||
| EventConnect | イベント API に接続するアクセス許可を付与します | 書き込み | |||
| EventPublish | チャネル名前空間にイベントを発行するアクセス許可を付与します | 書き込み | |||
| EventSubscribe | チャネル名前空間をサブスクライブするアクセス許可を付与します | 書き込み | |||
| FlushApiCache | AppSync で API キャッシュをフラッシュする許可を付与 | 書き込み | |||
| GetApi | API を取得するアクセス許可を付与します | 読み取り | |||
| GetApiAssociation | AppSync でカスタムドメイン名と GraphQL API の関連付けの詳細を読み取る許可を付与 | 読み取り | |||
| GetApiCache | AppSync の API キャッシュに関する情報を読み取るためのアクセス権限を付与 | 読み取り | |||
| GetChannelNamespace | チャネル名前空間を取得するアクセス許可を付与します | 読み取り | |||
| GetDataSource | データソースを取得する許可を付与 | 読み取り | |||
| GetDataSourceIntrospection | データソースのイントロスペクションを取得するための許可を付与 | 読み取り | |||
| GetDomainName | AppSync でカスタムドメイン名に関する情報を取得する許可を付与 | 読み取り | |||
| GetFunction | 関数を取得する許可を付与 | 読み取り | |||
| GetGraphqlApi | Graphql API を取得する許可を付与 | 読み取り | |||
| GetGraphqlApiEnvironmentVariables | GraphQL API の環境変数を取得する許可を付与する | 読み取り | |||
| GetIntrospectionSchema | GraphQL API のイントロスペクションスキーマを取得する許可を付与 | 読み取り | |||
| GetResolver | リゾルバーを取得する許可を付与 | 読み取り | |||
| GetResourcePolicy [許可のみ] | リソースポリシーを読み取る許可の付与 | 読み取り | |||
| GetSchemaCreationStatus | スキーマ作成オペレーションの現在のステータスを取得する許可を付与 | 読み取り | |||
| GetSourceApiAssociation | マージされた API に関連付けられたソース API に関する情報を読み取る許可を付与 | 読み取り | |||
| GetType | タイプを取得する許可を付与 | 読み取り | |||
| GraphQL [許可のみ] | GraphQL クエリを GraphQL API に送信する許可を付与 | 書き込み | |||
| ListApiKeys | 特定の API の API キーを一覧表示する許可を付与 | リスト | |||
| ListApis | APIs | リスト | |||
| ListChannelNamespaces | チャネル名前空間を一覧表示するアクセス許可を付与します | リスト | |||
| ListDataSources | 特定の API のデータソースを一覧表示する許可を付与 | リスト | |||
| ListDomainNames | AppSync でカスタムドメイン名を列挙する許可を付与 | リスト | |||
| ListFunctions | 特定の API の関数を一覧表示する許可を付与 | リスト | |||
| ListGraphqlApis | GraphQL API を一覧表示する許可を付与 | リスト | |||
| ListResolvers | 特定の API およびタイプのリゾルバーを一覧表示するアクセス権限を付与 | リスト | |||
| ListResolversByFunction | 特定の関数に関連付けられたリゾルバーを一覧表示する許可を付与 | リスト | |||
| ListSourceApiAssociations | 特定のマージされた API に関連付けられたソース API を一覧表示する許可を付与 | リスト | |||
| ListTagsForResource | リソースのタグを一覧表示する許可を付与 | 読み取り | |||
| ListTypes | 特定の API のタイプを一覧表示する許可を付与 | リスト | |||
| ListTypesByAssociation | 特定のマージされた API とソース API の関連付けのタイプを一覧表示する許可を付与 | リスト | |||
| PutGraphqlApiEnvironmentVariables | GraphQL API の環境変数を更新する許可を付与する | 書き込み | |||
| PutResourcePolicy [アクセス許可のみ] | ソースポリシーを設定する許可を付与 | 書き込み | |||
| SetWebACL | ウェブ ACL を設定する許可を付与 | 権限の管理 | |||
| SourceGraphQL [許可のみ] | マージされた API のソース API に GraphQL クエリを送信する許可を付与 | 書き込み | |||
| StartDataSourceIntrospection | データソースをイントロスペクトするための許可を付与 | 書き込み | |||
| StartSchemaCreation | GraphQL API に新しいスキーマを追加する許可を付与 このオペレーションは、非同期です。いつ完了したかを GetSchemaCreationStatus で表示可能 | 書き込み | |||
| StartSchemaMerge | 特定のマージされた API および関連付けられたソース API のスキーママージを開始する許可を付与 | 書き込み | |||
| TagResource | リソースにタグを付けるアクセス許可を付与 | タグ付け | |||
| UntagResource | リソースのタグを解除する許可を付与 | Tagging | |||
| UpdateApi | API を更新する許可を付与 | 書き込み |
iam:CreateServiceLinkedRole |
||
| UpdateApiCache | AppSync で API キャッシュを更新する許可を付与 | 書き込み | |||
| UpdateApiKey | 特定の API の API キーを更新する許可を付与 | 書き込み | |||
| UpdateChannelNamespace | チャネル名前空間を更新するアクセス許可を付与します | 書き込み | |||
| UpdateDataSource | データソースを更新する権限を付与 | 書き込み | |||
| UpdateDomainName | AppSync でカスタムドメイン名を更新する許可を付与 | 書き込み | |||
| UpdateFunction | 既存の関数を更新する許可を付与 | 書き込み | |||
| UpdateGraphqlApi | GraphQL API を更新する許可を付与 | 書き込み |
iam:CreateServiceLinkedRole |
||
| UpdateResolver | リゾルバーを更新する許可を付与 | 書き込み | |||
| UpdateSourceApiAssociation | マージされた API ソースの API 関連付けを更新する許可を付与 | 書き込み | |||
| UpdateType | タイプを更新する許可を付与 | 書き込み |
AWS AppSync で定義されるリソースタイプ
以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、[リソースタイプ] テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。
| リソースタイプ | ARN | 条件キー |
|---|---|---|
| datasource |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/datasources/${DatasourceName}
|
|
| domain |
arn:${Partition}:appsync:${Region}:${Account}:domainnames/${DomainName}
|
|
| graphqlapi |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}
|
|
| field |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/types/${TypeName}/fields/${FieldName}
|
|
| type |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/types/${TypeName}
|
|
| function |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/functions/${FunctionId}
|
|
| sourceApiAssociation |
arn:${Partition}:appsync:${Region}:${Account}:apis/${MergedGraphQLAPIId}/sourceApiAssociations/${Associationid}
|
|
| mergedApiAssociation |
arn:${Partition}:appsync:${Region}:${Account}:apis/${SourceGraphQLAPIId}/mergedApiAssociations/${Associationid}
|
|
| api |
arn:${Partition}:appsync:${Region}:${Account}:apis/${ApiId}
|
|
| channelNamespace |
arn:${Partition}:appsync:${Region}:${Account}:apis/${ApiId}/channelNamespace/${ChannelNamespaceName}
|
AWS AppSync の条件キー
AWS AppSync は、IAM ポリシーの Condition要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。
すべてのサービスで使用できるグローバル条件キーを表示するには、AWS 「グローバル条件コンテキストキー」を参照してください。
| 条件キー | 説明 | [Type] (タイプ) |
|---|---|---|
| appsync:Visibility | API の可視性によりアクセスをフィルタリングします | 文字列 |
| aws:RequestTag/${TagKey} | リクエスト内のタグキーと値のペアによるアクセスをフィルタリングします | 文字列 |
| aws:ResourceTag/${TagKey} | リソースにアタッチされているタグのキーと値のペアでアクセスをフィルタリングします | 文字列 |
| aws:TagKeys | リクエスト内のタグキーが存在するかどうかでアクセスをフィルタリングします | ArrayOfString |