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

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

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

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

リファレンス:

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

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

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

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

注記

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

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

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

domain*

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

graphqlapi*

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

graphqlapi*

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

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

iam:CreateServiceLinkedRole

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

channelNamespace*

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

CreateDataSource データソースを作成するアクセス許可を付与 書き込み
CreateDomainName AppSync でカスタムドメイン名を作成するアクセス許可を付与します 書き込み
CreateFunction 新しい関数を作成する許可を付与 書き込み
CreateGraphqlApi 最上位の API リソースである GraphQL AppSync を作成するアクセス許可を付与します 書き込み

aws:RequestTag/${TagKey}

aws:TagKeys

appsync:Visibility

iam:CreateServiceLinkedRole

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

api*

aws:ResourceTag/${TagKey}

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

channelNamespace*

aws:ResourceTag/${TagKey}

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

domain*

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

graphqlapi*

aws:ResourceTag/${TagKey}

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

domain*

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

mergedApiAssociation*

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

sourceApiAssociation*

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

api*

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

channelNamespace*

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

channelNamespace*

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

api*

aws:ResourceTag/${TagKey}

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

domain*

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

channelNamespace*

aws:ResourceTag/${TagKey}

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

domain*

GetFunction 関数を取得する許可を付与 読み取り
GetGraphqlApi GraphQL API を取得するアクセス許可を付与します 読み取り

graphqlapi*

aws:ResourceTag/${TagKey}

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

sourceApiAssociation*

GetType タイプを取得する許可を付与 読み取り
GraphQL GraphQL クエリを GraphQL API に送信する許可を付与 書き込み

field*

graphqlapi*

ListApiKeys 特定の API の API キーを一覧表示するアクセス許可を付与します リスト
ListApis APIs を一覧表示する許可を付与 リスト

aws:ResourceTag/${TagKey}

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

api*

aws:ResourceTag/${TagKey}

ListDataSources 特定の API のデータソースを一覧表示する許可を付与 リスト
ListDomainNames AppSync でカスタムドメイン名を列挙するアクセス許可を付与します リスト
ListFunctions 特定のAPIの関数を一覧表示するアクセス許可を付与します リスト
ListGraphqlApis GraphQL APIs を一覧表示する許可を付与 リスト
ListResolvers 特定のAPIとタイプのリゾルバーを一覧表示する許可を付与 リスト
ListResolversByFunction 特定の関数に関連付けられたリゾルバーを一覧表示する許可を付与 リスト
ListSourceApiAssociations 特定のマージされたAPIsに関連付けられたソースAPIを一覧表示するアクセス許可を付与します リスト
ListTagsForResource リソースのタグを一覧表示する許可を付与 読み取り

api

channelNamespace

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*

graphqlapi*

api

channelNamespace

graphqlapi

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

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

api*

channelNamespace*

graphqlapi*

api

channelNamespace

graphqlapi

aws:TagKeys

aws:ResourceTag/${TagKey}

UpdateApi API を更新する許可を付与 書き込み

api*

iam:CreateServiceLinkedRole

aws:ResourceTag/${TagKey}

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

channelNamespace*

aws:ResourceTag/${TagKey}

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

domain*

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

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

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