AWS AppSync のアクション、リソース、および条件キー - サービス認可リファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS AppSync のアクション、リソース、および条件キー

AWS AppSync (サービスプレフィックス: appsync) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。

リファレンス:

AWS AppSync で定義されるアクション

IAM ポリシーステートメントの Action エレメントでは、以下のアクションを指定できます。ポリシーを使用して、 AWSでオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。

アクションテーブルの [アクセスレベル] 列では、アクションの指定方法 (リスト、読み取り、アクセス許可管理、タグ付け) について説明します。このように分類することで、ポリシーで使用する際にアクションで付与するアクセスレベルを理解しやすくなります。アクセスレベルの詳細については、「ポリシー概要内のアクセスレベル」を参照してください。

[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource 要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource 要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。

[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition 要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。

Actions テーブルの [依存アクション] 列には、アクションを正常に呼び出すために必要な追加のアクセス許可が表示されます。これらのアクセス許可は、アクション自体のアクセス許可に加えて必要になる場合があります。アクションが依存アクションを指定すると、それらの依存関係は、テーブルにリストされている最初のリソースだけでなく、そのアクションに定義された追加のリソースに適用される場合があります。

注記

リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。

以下の表の列の詳細については、「アクションテーブル」を参照してください。

アクション 説明 アクセスレベル リソースタイプ (* 必須) 条件キー 依存アクション
AssociateApi AppSync でカスタムドメイン名に GraphQL API をアタッチする許可を付与 書き込み

domain*

AssociateMergedGraphqlApi マージされた API をソース API に関連付ける許可を付与 書き込み

graphqlapi*

AssociateSourceGraphqlApi ソース API をマージされた API に関連付ける許可を付与 書き込み

graphqlapi*

AssociateWebACL [アクセス許可のみ] ウェブ ACL とリソースを関連付ける許可を付与 書き込み

api

graphqlapi

CreateApi API を作成する許可を付与します 書き込み

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

iam:CreateServiceLinkedRole

CreateApiCache AppSync で API キャッシュを作成する許可を付与 書き込み
CreateApiKey API を実行しているクライアントに配布できる一意のキーを作成する許可を付与 書き込み
CreateChannelNamespace チャネル名前空間を作成する許可を付与 書き込み

channelNamespace*

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

CreateDataSource データソースを作成するアクセス許可を付与 書き込み
CreateDomainName AppSync でカスタムドメイン名を作成する許可を付与 書き込み

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

CreateFunction 新しい関数を作成する許可を付与 書き込み
CreateGraphqlApi 最上位の AppSync リソースである GraphQL API を作成する許可を付与 書き込み

aws:RequestTag/${TagKey}

aws:TagKeys

appsync:Visibility

iam:CreateServiceLinkedRole

CreateResolver リゾルバーを作成するアクセス許可を付与。リゾルバーは、受信リクエストをデータソースが理解できる形式に変換し、データソースのレスポンスを GraphQL に変換 書き込み
CreateType タイプを作成するためのアクセス許可を付与 書き込み
DeleteApi API を削除する許可を付与します。これにより、その API より下の AppSync リソースもすべてクリーンアップ 書き込み

api*

aws:ResourceTag/${TagKey}

DeleteApiCache AppSync で API キャッシュを削除する許可を付与 書き込み
DeleteApiKey API キーを削除する許可を付与 書き込み
DeleteChannelNamespace チャネル名前空間を削除するアクセス許可を付与 書き込み

channelNamespace*

aws:ResourceTag/${TagKey}

DeleteDataSource データソースを削除するアクセス許可を付与 書き込み
DeleteDomainName AppSync でカスタムドメイン名を削除する許可を付与 書き込み

domain*

aws:ResourceTag/${TagKey}

DeleteFunction 関数を削除する許可を付与 書き込み
DeleteGraphqlApi GraphQL API を削除する許可を付与。これにより、その API より下の AppSync リソースもすべてクリーンアップ 書き込み

graphqlapi*

aws:ResourceTag/${TagKey}

DeleteResolver Resolver を削除する許可を付与 書き込み
DeleteResourcePolicy [アクセス許可のみ] リソースポリシーを削除する許可を付与 書き込み
DeleteType タイプを削除する許可を付与 書き込み
DisassociateApi AppSync でカスタムドメイン名への GraphQL API のアタッチを解除するアクセス許可を付与 書き込み

domain*

DisassociateMergedGraphqlApi ソース API によって識別されるマージされた API から、関連付けられたソース API を削除する許可を付与 書き込み

mergedApiAssociation*

DisassociateSourceGraphqlApi マージされた API によって識別されるマージされた API から、関連付けられたソース API を削除する許可を付与 書き込み

sourceApiAssociation*

DisassociateWebACL [アクセス許可のみ] ウェブ ACL とリソースの関連付けを解除するアクセス許可を付与します 書き込み

api

graphqlapi

EvaluateCode ランタイムとコンテキストを使用してコードを評価するアクセス許可を付与 読み取り
EvaluateMappingTemplate テンプレートマッピングを評価する許可を付与 読み取り
EventConnect イベント API に接続するアクセス許可を付与 書き込み

api*

EventPublish チャネル名前空間にイベントを発行するアクセス許可を付与 書き込み

channelNamespace*

EventSubscribe チャネル名前空間をサブスクライブするアクセス許可を付与 書き込み

channelNamespace*

FlushApiCache AppSync で API キャッシュをフラッシュする許可を付与 書き込み
GetApi API を取得する許可を付与 読み取り

api*

aws:ResourceTag/${TagKey}

GetApiAssociation AppSync でカスタムドメイン名と GraphQL API の関連付けの詳細を読み取る許可を付与 読み取り

domain*

GetApiCache AppSync の API キャッシュに関する情報を読み取るためのアクセス権限を付与 読み取り
GetChannelNamespace チャネル名前空間を取得するアクセス許可を付与 読み取り

channelNamespace*

aws:ResourceTag/${TagKey}

GetDataSource データソースを取得する許可を付与 読み取り
GetDataSourceIntrospection データソースのイントロスペクションを取得するための許可を付与 読み取り
GetDomainName AppSync でカスタムドメイン名に関する情報を取得する許可を付与 読み取り

domain*

aws:ResourceTag/${TagKey}

GetFunction 関数を取得する許可を付与 読み取り
GetGraphqlApi Graphql API を取得する許可を付与 読み取り

graphqlapi*

aws:ResourceTag/${TagKey}

GetGraphqlApiEnvironmentVariables GraphQL API の環境変数を取得する許可を付与する 読み取り
GetIntrospectionSchema GraphQL API のイントロスペクションスキーマを取得する許可を付与 読み取り
GetResolver リゾルバーを取得する許可を付与 読み取り
GetResourcePolicy [アクセス許可のみ] リソースポリシーを読み取る許可の付与 読み取り
GetSchemaCreationStatus スキーマ作成オペレーションの現在のステータスを取得する許可を付与 読み取り
GetSourceApiAssociation マージされた API に関連付けられたソース API に関する情報を読み取る許可を付与 読み取り

sourceApiAssociation*

GetType タイプを取得する許可を付与 読み取り
GetWebACLForResource [許可のみ] リソースに関連付けられたウェブ ACLsします 読み取り

api

graphqlapi

GraphQL [アクセス許可のみ] GraphQL クエリを GraphQL API に送信する許可を付与 書き込み

field*

graphqlapi*

ListApiKeys 特定の API の API キーを一覧表示する許可を付与 リスト
ListApis API を一覧表示する許可を付与 リスト

aws:ResourceTag/${TagKey}

ListChannelNamespaces チャネル名前空間を一覧表示する許可を付与 リスト

api*

aws:ResourceTag/${TagKey}

ListDataSources 特定の API のデータソースを一覧表示する許可を付与 リスト
ListDomainNames AppSync でカスタムドメイン名を列挙する許可を付与 リスト

aws:ResourceTag/${TagKey}

ListFunctions 特定の API の関数を一覧表示する許可を付与 リスト
ListGraphqlApis GraphQL API を一覧表示する許可を付与 リスト
ListResolvers 特定の API およびタイプのリゾルバーを一覧表示するアクセス権限を付与 リスト
ListResolversByFunction 特定の関数に関連付けられたリゾルバーを一覧表示する許可を付与 リスト
ListResourcesForWebACL [許可のみ] ウェブ ACL の関連リソースを取得する許可を付与 リスト
ListSourceApiAssociations 特定のマージされた API に関連付けられたソース API を一覧表示する許可を付与 リスト
ListTagsForResource リソースのタグを一覧表示する許可を付与 読み取り

api

channelNamespace

domain

graphqlapi

aws:ResourceTag/${TagKey}

ListTypes 特定の API のタイプを一覧表示する許可を付与 リスト
ListTypesByAssociation 特定のマージされた API とソース API の関連付けのタイプを一覧表示する許可を付与 リスト
PutGraphqlApiEnvironmentVariables GraphQL API の環境変数を更新する許可を付与する 書き込み
PutResourcePolicy [アクセス許可のみ] ソースポリシーを設定する許可を付与 書き込み
SetWebACL ウェブ ACL を設定する許可を付与 権限の管理
SourceGraphQL [アクセス許可のみ] マージされた API のソース API に GraphQL クエリを送信する許可を付与 書き込み

field*

graphqlapi*

StartDataSourceIntrospection データソースをイントロスペクトするための許可を付与 書き込み
StartSchemaCreation GraphQL API に新しいスキーマを追加する許可を付与 このオペレーションは、非同期です。いつ完了したかを GetSchemaCreationStatus で表示可能 書き込み
StartSchemaMerge 特定のマージされた API および関連付けられたソース API のスキーママージを開始する許可を付与 書き込み

sourceApiAssociation*

TagResource リソースにタグを付けるアクセス許可を付与 タグ付け

api

channelNamespace

domain

graphqlapi

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

UntagResource リソースのタグを解除する許可を付与 Tagging

api

channelNamespace

domain

graphqlapi

aws:TagKeys

aws:ResourceTag/${TagKey}

UpdateApi API を更新するためのアクセス許可を付与 書き込み

api*

iam:CreateServiceLinkedRole

aws:ResourceTag/${TagKey}

UpdateApiCache AppSync で API キャッシュを更新する許可を付与 書き込み
UpdateApiKey 特定の API の API キーを更新する許可を付与 書き込み
UpdateChannelNamespace チャネル名前空間を更新する許可を付与 書き込み

channelNamespace*

aws:ResourceTag/${TagKey}

UpdateDataSource データソースを更新する権限を付与 書き込み
UpdateDomainName AppSync でカスタムドメイン名を更新する許可を付与 書き込み

domain*

aws:ResourceTag/${TagKey}

UpdateFunction 既存の関数を更新する許可を付与 書き込み
UpdateGraphqlApi GraphQL API を更新する許可を付与 書き込み

graphqlapi*

iam:CreateServiceLinkedRole

aws:ResourceTag/${TagKey}

UpdateResolver リゾルバーを更新する許可を付与 書き込み
UpdateSourceApiAssociation マージされた API ソースの API 関連付けを更新する許可を付与 書き込み

sourceApiAssociation*

UpdateType タイプを更新する許可を付与 書き込み

AWS AppSync で定義されるリソースタイプ

以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、[リソースタイプ] テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。

リソースタイプ ARN 条件キー
datasource arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/datasources/${DatasourceName}
domain arn:${Partition}:appsync:${Region}:${Account}:domainnames/${DomainName}

aws:ResourceTag/${TagKey}

graphqlapi arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}

aws:ResourceTag/${TagKey}

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}

aws:ResourceTag/${TagKey}

channelNamespace arn:${Partition}:appsync:${Region}:${Account}:apis/${ApiId}/channelNamespace/${ChannelNamespaceName}

aws:ResourceTag/${TagKey}

AWS AppSync の条件キー

AWS AppSync は、IAM ポリシーの Condition要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。

すべてのサービスで使用できるグローバル条件キーを確認するには、「AWS グローバル条件コンテキストキー」を参照してください。

条件キー 説明 タイプ
appsync:Visibility API の可視性によりアクセスをフィルタリングします String
aws:RequestTag/${TagKey} リクエスト内のタグキーと値のペアによるアクセスをフィルタリングします String
aws:ResourceTag/${TagKey} リソースにアタッチされているタグのキーと値のペアでアクセスをフィルタリングします String
aws:TagKeys リクエスト内のタグキーが存在するかどうかでアクセスをフィルタリングします ArrayOfString