Sharing AWS AppSync GraphQL APIs - AWS AppSync GraphQL

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

Sharing AWS AppSync GraphQL APIs

AWS AppSync は AWS Resource Access Manager (AWS RAM) と統合してリソース共有を有効にします。 AWS RAM は、 AWS AppSync GraphQL APIs の呼び出しアクション (クエリ、ミューテーション、サブスクリプションオペレーション、リアルタイム WebSocket エンドポイントへのリクエストの接続) を他の AWS アカウント または を通じて共有できるサービスです AWS Organizations。では AWS RAM、リソース共有を作成して、所有しているリソースを共有します。リソース共有は、共有するリソースと、それらを共有するコンシューマーを指定します。コンシューマーには、以下を含めることができます。

  • の組織 AWS アカウント 内外に固有 AWS Organizations

  • の組織内の組織単位 AWS Organizations

  • の組織全体 AWS Organizations

詳細については AWS RAM、AWS Resource Access Manager 「 ユーザーガイド」を参照してください。

AWS AppSync GraphQL APIs を共有するための前提条件

Sharing AWS AppSync GraphQL APIs以下の前提条件があります。

  • AWS AppSync GraphQL API を共有するには、 でその API を所有している必要があります AWS アカウント。つまり、 AWS AppSync GraphQL API はアカウントで割り当てまたはプロビジョニングする必要があります。

  • の組織または組織単位と AWS AppSync GraphQL API を共有するには AWS Organizations、 との共有を有効にする必要があります AWS Organizations。詳細については、「AWS Resource Access Manager ユーザーガイド」の「AWS Organizations内でリソース共有を有効にする」を参照してください。

Share AWS AppSync GraphQL APIs

AWS AppSync GraphQL API を共有するには、まず を使用してリソース共有を作成します AWS Resource Access Manager。リソース共有では、共有対象のリソース、リソースを共有するコンシューマー、プリンシパルが実行できるアクションを指定します。所有している AWS AppSync GraphQL API を他の と共有 AWS アカウントする場合、それらのアカウントが でその AWS AppSync API を呼び出すことを有効にします AWS アカウント。

ユーザーが の組織のメンバーであり AWS Organizations、組織内での共有が有効になっている場合、組織内のコンシューマーには共有リソースへのアクセスが自動的に付与されます。これに該当しない場合、コンシューマーはリソースへの参加の招待を受け取り、その招待を受け入れた後で、リソースの共有に対するアクセス許可が付与されます。

共有に関する考慮事項

  • 共有できるのは AWS AppSync GraphQL APIs のみです。Event API などの他の APIs タイプは共有できません。

  • API で設定された認可モードの 1 つAWS_IAMとして APIs を持つ AWS AppSync GraphQL API のみを共有できます。

    AWS_IAM が共有 AppSync GraphQL API の認可モードのリストから削除され、リソース共有がまだ存在する場合でも、無効になります。

  • public と private AWS AppSync GraphQL APIsの両方を共有できます。

  • Private AWS AppSync GraphQL APIs は、オリジンの VPC の VPCs エンドポイントを介して常にアクセスでき AWS アカウント、 だけでなく、すべての認可モードがサポートされていますAWS_IAM

  • shared AWS AppSync GraphQL APIs の場合、アクセス許可は API リソースに対してのみ管理され、フィールドとタイプ、およびフィールドリソースに対するきめ細かなアクセス許可はサポートされていません。API を共有すると、API ARN とそのすべてのタイプとフィールドARNs を共有します。

AWS RAM コンソールを使用して、所有するリソース共有を作成する

AWS AppSync GraphQL API を共有するには、AWS Resource Access Manager 「 ユーザーガイド」の「アクセスRAM許可名 を使用してリソース共有を作成する」で説明されている手順を使用しますAWSRAMPermissionAppSyncGraphQLApiInvokeAccess

AWS RAM コンソールを使用して、カスタマー管理アクセス許可を作成して使用して private AWS AppSync GraphQL API を共有する

private AWS AppSync GraphQL API を共有するには、AWS Resource Access Manager 「 ユーザーガイド」の「カスタマー管理アクセス許可の作成と使用」で説明されている手順を使用して、カスタマー管理アクセス許可を作成します。

例えば、アカウント A の所有者は、VPCE-B (アカウント B が所有する VPC エンドポイント) を介して行われた呼び出しに対して、アカウント B のプリンシパルに private AWS AppSync GraphQL API (PrivateApiA) にアクセスする許可を付与したいと考えています。この場合、アカウント A の所有者は、次のように AWS RAM カスタマー管理アクセス許可を作成する必要があります。

{ "Effect": "Allow", "Action": ["appsync:GraphQL"], "Condition": { "StringEqualsIgnoreCase": { "aws:SourceVpce": [ "VPCE-B" ] } } }

この新しいカスタマー管理アクセス AWS RAM 許可の名前が であるとしますprivate-api-A-access-via-vpce-b

PrivateApiA 経由で へのクロスアカウントアクセスを有効にするにはVPCE-B、次のパラメータと前の例のカスタマー管理アクセス許可を使用して AWS RAM リソース共有を作成できます。

  • リソースタイプ: appsync:Apis

  • リソース: arn:aws:appsync:us-west-2:A:apis/PrivateApiA

  • アクセス許可: private-api-A-access-via-vpce-b (カスタマー管理アクセス許可)

  • プリンシパル: Account: B

を使用して、所有するリソース共有を作成する AWS CLI

を使用して AWS AppSync GraphQL API を共有するには AWS CLI、 --permission-arns スイッチの値arn:aws:ram::aws:permission/AWSRAMPermissionAppSyncApiInvokeAccessとして を使用する create-resource-share コマンドを使用します。

で使用できるコマンドの完全なリストについては AWS RAM、 AWS RAM CLI リファレンスを参照してください。

AWS AppSync GraphQL APIs

所有している AWS AppSync GraphQL APIsの共有を停止するには、リソース共有を削除するか、リソースを共有したプリンシパルを更新する必要があります。実行するアクションについては、以下のセクションのドキュメントを参照してください。

AWS RAM コンソールを使用して所有しているリソースの共有を停止するには

「AWS Resource Access Manager ユーザーガイド」の「リソース共有の更新」を参照してください。

を使用して所有しているリソースの共有を停止するには AWS CLI

disassociate-resource-share コマンドを使用します。

AWS RAM コンソールを使用して所有しているリソース共有を削除するには

AWS Resource Access Manager 「 ユーザーガイド」の「リソース共有の削除」を参照してください。

を使用して所有しているリソース共有を削除するには AWS CLI

delete-resource-share コマンドを使用します。

で使用できるコマンドの完全なリストについては AWS RAM、 AWS RAM CLI リファレンスを参照してください。

クロスアカウントイベント

クロスアカウント AWS AppSync GraphQL API AWS CloudTrail DataPlane アクティビティのモニタリングと監査のために、データイベントのログ記録をオプトインできます。詳細については、「AWS CloudTrail ユーザーガイド」の「データイベントをログ記録する」を参照してください。