

# API Gateway のポータル製品
<a name="apigateway-portals-portal-product"></a>

*ポータル製品*は、共有するサービスまたは機能を表します。ポータル製品は、製品の REST エンドポイントと製品ページのコレクションです。*製品 REST エンドポイント*は、ポータル製品へのアクセスポイントであり、REST API のパスとメソッド、およびデプロイ先のステージで構成されます。*製品ページ*は、API コンシューマーが製品エンドポイントをどのように使用できるかを説明するドキュメントです。ポータル製品には、製品 REST エンドポイントのコレクションとして `Prod` ステージ全体を含めることも、単一の製品 REST エンドポイントとして `Prod` ステージにデプロイされた `GET /pets` リソースのみを含めることもできます。

ポータル製品はカスタマイズ可能です。カスタムドキュメントの追加、製品 REST エンドポイントの名前の変更、表示順序の再編成、新しいセクションの追加、AWS アカウント間で製品の共有を行うことができます。ポータル製品に加えた変更を有効にするには、ポータル製品を使用するポータルを再公開する必要があります。

## ペット養子縁組ポータル製品の例
<a name="apigateway-portals-portal-product-example"></a>

例えば、ペット養子縁組サービスを表す複数の REST API を持つことができます。API Gateway を使用して `pet adoption` ポータル製品を作成できます。このポータル製品は、お客様がペットに出会って養子にするためにどの API を使用すべきかを見つけるのに役立ちます。このポータル製品は、既に作成した REST API を使用しますが、再グループ化して整理できます。また、ペット養子縁組ポータル製品の使用に関する利用規約に関するドキュメントを提供し、お客様が API を試すようにすることもできます。この情報はすべてポータル製品に保存されます。

次の表は、ペット養子縁組ポータル製品を表す 3 つの API、および対応する製品の REST エンドポイントオペレーション名とページセクション名を示しています。


| REST API ID | REST API パスとメソッド | REST API ステージ | オペレーション名 | ページセクション | 
| --- | --- | --- | --- | --- | 
| kf5387miad |  GET /dogs  | Prod |  View dogs  |  AdoptAnimals  | 
| kf5387miad  | GET /dogs/\$1dogId\$1  | Prod | View dog  | AdoptAnimals  | 
| ra8obxcevg  | GET /cats  | Prod | View cats  | AdoptAnimals  | 
| ra8obxcevg  | GET /cats/\$1catId\$1  | Prod | View cat  | AdoptAnimals  | 
| h0rpx9cm62  |  ANY /user/\$1userId\$1/\$1petId\$1\$1  | ベータ | Request visit  | AdoptProcess  | 

この例では、`ra8obxcevg` と `kf5387miad` の 2 つの REST API が `AdoptAnimals` セクションでグループ化されています。この順序ナビゲーションの結果は、ポータルで次のようになります。

![\[ペット養子縁組ポータル\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/apigateway-portal.png)


`ANY` メソッドはキャッチオールメソッドであるため、ポータルにはサポートされているすべての HTTP メソッドが表示されます。このポータルには、ポータル製品所有者によって作成されたドキュメントも含まれています。

## 次のステップ
<a name="apigateway-portals-portal-product-next-steps"></a>

ポータル製品の使用を開始するには、以下を実行します。
+ ポータル製品を作成するには、「[API Gateway でポータル製品を作成する](apigateway-portals-create-portal-product.md)」を参照してください。
+ [試してみる機能] の詳細については、「[ポータルで API Gateway 製品 REST エンドポイントの「試してみる」を有効にする](apigateway-portals-try-it.md)」を参照してください。
+ 製品ページの詳細については、「[API Gateway で製品ページを作成する](apigateway-portals-create-product-page.md)」を参照してください。
+ ポータル製品の共有については、「[API Gateway でポータル製品を共有する](apigateway-portals-share-resources.md)」を参照してください。

ポータル製品を作成したら、ポータルに公開できます。詳細については、「[API Gateway でポータルを作成する](apigateway-portals-create-portal.md)」を参照してください。

# API Gateway でポータル製品を作成する
<a name="apigateway-portals-create-portal-product"></a>

次の手順で、ポータル製品を作成する方法を示します。ポータルは、*ポータル製品*のコレクションです。ポータル製品を作成したら、製品 REST エンドポイントと製品ページを作成します。ポータル製品の詳細については、「[API Gateway のポータル製品](apigateway-portals-portal-product.md)」を参照してください。

## 考慮事項
<a name="apigateway-portals-portal-product-considerations"></a>

以下の考慮事項は、ポータル製品の作成方法に影響を与える可能性があります。
+ ポータル製品には、プライベート REST API とパブリック REST API の両方を含めることができます。プライベート API は [試してみる機能] ではサポートされていないため、ポータルに視覚的な違いがあります。ポータル所有者は、これを説明するドキュメントを提供する必要がある場合があります。
+ AWS CLI または AWS SDK を使用してポータル製品を作成する場合、ポータルには製品エンドポイントや製品ページはありません。これらのリソースは、AWS CLI またはコンソールを使用して追加する必要があります。製品 REST エンドポイントを作成する方法については、「[API Gateway で製品 REST エンドポイントを作成する](apigateway-portals-create-product-rest-endpoint.md)」を参照してください。製品ページを作成する方法については、「[API Gateway で製品ページを作成する](apigateway-portals-create-product-page.md)」を参照してください。

## Create a portal product
<a name="apigateway-portals-portal-product-create"></a>

次の手順で、ポータル製品を作成する方法を示します。

**ポータル製品を作成するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ポータル製品]** を選択します。

1. **[製品の作成]** を選択します。

1. **[製品名]** に、ポータル製品の名前を入力します。

1. **[製品の説明]** に、説明を入力します。

1. [**次へ**] を選択します。

1. 製品 REST エンドポイントを選択するには、**[API エンドポイント]** で API を選択し、ステージを選択します。

1. 製品 REST エンドポイントにエンドポイントを追加するには、API エンドポイントを選択し、**[製品に追加]** を選択します。
**注記**  
最初に **[製品に追加]** を選択せずに **[次へ]** を選択しないでください。  

![\[ポータル製品\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/apigateway-portal-product.png)


   API エンドポイントは、**[選択した API エンドポイント]** リストに表示されます。

1. [**次へ**] を選択します。

1. 選択を確認して、**[製品の作成]** を選択します。

コンソールを使用してポータル製品を作成すると、すべての製品ページと製品 REST エンドポイントページはドラフトとなり、ポータルに表示されません。製品ページと製品 REST エンドポイントページをコンシューマーに表示するには、ドラフトをセクションに追加する必要があります。AWS CLI または AWS SDK を使用してポータル製品を作成する場合は、AWS CLI コマンドのセクションにドラフトを追加します。ドラフトをセクションに追加する方法にかかわらず、ポータル製品を使用するポータルを公開してコンシューマーに表示する必要があります。

**ページセクションにドラフトを追加するには**

1. ドラフトは **[ドキュメント]** タブに表示されます。製品の **[ドラフトドキュメントページ]** と製品 REST エンドポイントの **[ドラフト API リファレンスページ]** があります。**[ドラフト API リファレンスページ]** を選択します。

1. ドラフト API リファレンスページを選択します。

   製品 REST エンドポイントがない場合は、ドラフト API リファレンスページはありません。製品 REST エンドポイントを作成する方法については、「[API Gateway で製品 REST エンドポイントを作成する](apigateway-portals-create-product-rest-endpoint.md)」を参照してください。

1. **[ページを編集]** を選択します。

1. このページでは、既存の API ドキュメントパートを上書きするか、API Gateway ドキュメントを使用できます。製品 REST エンドポイントページの内容がコンシューマーに表示されるようにするには、**[セクション名]** に名前を入力します。これが `/pets-GET` エンドポイントの場合、ページ名は `Pets` になります。

1. **[Save changes]** (変更の保存) をクリックします。

1. 作成した新しいページ名が **[API リファレンスページ]** セクションの下に表示されます。

   コンシューマーが新しいページを表示できるようにするには、ポータルを再度公開する必要があります。詳細については、「[API Gateway でポータルを公開する](apigateway-portals-publish-portal.md)」を参照してください。

# API Gateway で製品 REST エンドポイントを作成する
<a name="apigateway-portals-create-product-rest-endpoint"></a>

製品 REST エンドポイントは、ポータル製品へのアクセスポイントです。各エンドポイントは、REST API のパスとメソッド、およびデプロイ先のステージで構成されます。エンドポイントには、REST API 用に定義したドキュメントが含まれているか、カスタムドキュメントで更新できます。製品 REST エンドポイントを作成するときは、次の設定を行います。
+ 製品 REST エンドポイントのオペレーション名。REST API にパスと `GET /pets` メソッドがある場合、ポータルの名前は `/pets` です。オペレーション名を使用して、製品の REST エンドポイント名を `Pet summaries` に変更できます。これは既存の API には影響しません。
+ 製品エンドポイントの [試してみる機能]。これにより、API コンシューマーはポータルで API を試すことができます。プライベート API の製品エンドポイントを作成する場合、[試してみる機能] は `UNAVAILABLE` に設定されます。詳細については、「[ポータルで API Gateway 製品 REST エンドポイントの「試してみる」を有効にする](apigateway-portals-try-it.md)」を参照してください。
+ 現在 REST API 用にドキュメントパーツが定義されている場合は、ドキュメントをインポートするか、既存のドキュメントを上書きして、[GitHub Flavored Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) を使用して新しい製品レベルのドキュメントを作成できます。ドキュメントの上書きは、API Gateway API ドキュメントパートには反映されません。現在のドキュメントパートをインポートすると、API Gateway は API 全体の変更を製品の REST エンドポイントに同期します。

## Create a product REST endpoint
<a name="apigateway-portals-create-product-rest-endpoint-create"></a>

次の手順は、既存のポータル製品に製品 REST エンドポイントを追加する方法を示しています。ポータル製品と製品の REST エンドポイントを一緒に作成する方法については、「[API Gateway でポータル製品を作成する](apigateway-portals-create-portal-product.md)」を参照してください。

**製品ポータルの製品 REST エンドポイントを作成するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ポータル製品]** を選択します。

1. ポータル製品を選択します。

1. **[関連エンドポイント]** タブを選択し、続いて **[エンドポイントを追加]** を選択します。

1. 製品 REST エンドポイントを選択するには、**[API エンドポイント]** で API を選択し、ステージを選択します。

1. 製品 REST エンドポイントにエンドポイントを追加するには、API エンドポイントを選択し、**[製品に追加]** を選択します。

   API エンドポイントは、**[選択した API エンドポイント]** リストに表示されます。

1. [**Submit**] を選択してください。

1. 製品の REST エンドポイントページがドラフトになりました。**[ドラフト API リファレンスページ]** を選択し、製品の REST エンドポイントページを選択してページの内容を完成させます。

1. **[ページを編集]** を選択します。

1. 既存の API Gateway ドキュメントを上書きするには、**[ドキュメントソース]** で**[ドキュメントの上書き]** をオンにし、以下を実行します。

   1. **[コンテンツを表示する]** で、**[上書きを作成]** を選択します。

   1. **[オペレーション名]** に、新しいオペレーション名を入力します。

   1. **[ページ本文]** には、カスタムドキュメントを入力します。

   1. (オプション) **[エンドポイント]** には、ポータルに表示されるカスタムエンドポイントを入力します。

1. 顧客がポータルで API を呼び出せるようにするには、**[試してみる機能]** を選択します。詳細については、「[ポータルで API Gateway 製品 REST エンドポイントの「試してみる」を有効にする](apigateway-portals-try-it.md)」を参照してください。

1. **[セクション名]** に名前を入力するか、既存のセクションを選択します。製品 REST エンドポイントをセクションに追加すると、コンシューマーは公開されたポータルでコンテンツを表示できます。

1. **[Save changes]** (変更の保存) をクリックします。

コンシューマーが新しいページを表示できるようにするには、ポータルを再度公開する必要があります。詳細については、「[API Gateway でポータルを公開する](apigateway-portals-publish-portal.md)」を参照してください。

# API Gateway で製品ページを作成する
<a name="apigateway-portals-create-product-page"></a>

製品ページは、製品コンシューマーが製品を理解し、使用するのに役立ちます。ドキュメントは製品レベルであるため、製品が含まれるすべてのポータルにこのドキュメントが含まれます。API Gateway は、[GitHub Flavored Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) で記述された 2 種類の製品ページをサポートしています。

概要ページ  
製品を作成すると、API Gateway は、製品の作成時に提供した情報に基づいて、製品の **[概要]** ページを自動的に生成します。このページには、変更できない追加のフォーマットがあります。テキストを変更したり、ポータル製品からページを削除したりできます。

カスタムページ  
カスタムページは Markdown で記述されたページです。このセクションは、利用規約や製品の使用方法に関するチュートリアルに使用できます。任意のカスタムページを概要ページに変更できます。カスタムページを概要ページに変更すると、ページの内容は概要ページと一致するようにフォーマットされます。

## 考慮事項
<a name="apigateway-portals-create-product-page-considerations"></a>

以下の考慮事項は、製品ページの使用に影響する可能性があります。
+ このドキュメントは API レベルではなく、メソッド、リソース、またはリクエストパラメータは含まれません。製品の API レベルでドキュメントを変更する方法については、「[API Gateway で製品 REST エンドポイントを更新する](apigateway-portals-update-product-endpoint.md)」を参照してください。
+ `.md` ファイルを製品に直接アップロードすることはできません。
+ ポータル製品の表示順序でページリストを変更することで、製品ページの順序を変更できます。詳細については、「[API Gateway でポータル製品を更新する](apigateway-portals-update-portal-product.md)」を参照してください。
+ ドキュメントの変更を有効にするには、製品を含むポータルを再度公開する必要があります。
+ 同じポータル製品を使用する複数のポータルがある場合、製品ページはすべてのポータルで同じです。同じ製品 REST エンドポイントを持ちながら製品ページが異なる場合は、複数の製品を作成します。

## 製品ページを作成する
<a name="apigateway-portals-create-product-page-create"></a>

次の手順で、製品ページを作成する方法を示します。

**製品ページを作成するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ポータル製品]** を選択します。

1. [製品] を選択します。

1. **[ドキュメント]** で、**[カスタムページを作成]** を選択します。

1. **[ページタイトル]** に、ページタイトルを入力します。

1. **[本文]** には、GitHub Flavored Markdown を使用して補足ドキュメントを入力します。

   **[プレビュー]** セクションには、コンテンツがポータルにどのように表示されるかが表示されます。最終的なビジュアルスタイルは、ポータルの設定によって異なる場合があります。

1. **[製品ページの作成]** を選択します。

1. 製品ページがドラフトになりました。**[ドラフトドキュメントページ]** を選択し、製品ページを選択してページの内容を完成させます。

1. **[ページを編集]** を選択します。

1. **[セクション名]** に名前を入力するか、既存のセクションを選択します。製品ページをセクションに追加すると、コンシューマーは公開されたポータルでコンテンツを表示できます。

1. **[Save changes]** (変更の保存) をクリックします。

コンシューマーが新しいページを表示できるようにするには、ポータルを再度公開する必要があります。詳細については、「[API Gateway でポータルを公開する](apigateway-portals-publish-portal.md)」を参照してください。

# API Gateway でポータル製品を更新する
<a name="apigateway-portals-update-portal-product"></a>

ポータル製品を更新するときは、製品 REST エンドポイントと製品ページの表示方法の名前、説明、または表示順序を変更できます。表示順序を変更するには、製品ページのページリストと製品エンドポイントのセクション名を変更します。AWS CLI または SDK を使用してこれを行う場合は、製品ページ ARN または製品 REST エンドポイント ARN を指定します。API コンシューマーに製品を使用するポータルを再公開して、ポータルに反映された変更を確認する必要があります。

## ポータル製品を更新する
<a name="apigateway-portals-update-portal-product-update"></a>

次の手順では、セクションリストを変更して、ポータルに表示される製品の REST エンドポイントの順序を変更する方法を示します。この手順では、ポータル製品に少なくとも 2 つの製品 REST エンドポイントがあることを前提としています。

**ポータル製品を更新するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ポータル製品]** を選択します。

1. [製品] を選択します。

1. **[ドキュメント]** タブの、**[製品ページ]** で、**[管理]** を選択します。

1. 製品の REST エンドポイントをドラッグアンドドロップして順序を変更します。製品 REST エンドポイントと製品ページをドラフトページセクションに移動することもできます。ドラフトページのページはポータルに表示されません。

1. (オプション) 製品の REST エンドポイント名を変更するか、新しい API リファレンスセクションを追加します。これらの変更は REST API には影響しません。

1. **[Save changes]** (変更の保存) をクリックします。

# API Gateway で製品 REST エンドポイントを更新する
<a name="apigateway-portals-update-product-endpoint"></a>

製品 REST エンドポイントを更新すると、REST API のパスとメソッド、およびデプロイ先のステージを除き、製品エンドポイントのすべての設定を変更できます。製品エンドポイントの変更は自動的に更新されますが、ポータルに反映された変更を確認するには、製品を使用するポータルを再公開する必要があります。

## 製品 REST エンドポイントを更新する
<a name="apigateway-portals-update-product-endpoint-update"></a>

次の手順は、製品の REST エンドポイントを更新して、現在の API ドキュメントをカスタム API リファレンスドキュメントで上書きする方法を示しています。

**製品 REST エンドポイントを更新するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ポータル製品]** を選択します。

1. [製品] を選択します。

1. **[ドキュメント]** タブの **[API リファレンスページ]** で、**[/dogs - GET]** などの製品 REST エンドポイントの名前を選択します。

1. **[プレビュー]** で、**[ページを編集]** を選択します。

1. **[ドキュメントソース]** で、**[ドキュメントの上書き]** を有効にします。

1. **[コンテンツを表示する]** で、**[既存のコンテンツを上書きする]** を選択します。

   **[すべてのコンテンツの削除]** を選択すると、コンテンツはページから削除されますが、**[既存のコンテンツを上書き]** を選択してドキュメントに再度アクセスできます。

1. **[ページ本文]** に、[GitHub Flavored Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) を使用してカスタム API リファレンスドキュメントを入力します。

   このドキュメントは API Gateway には反映されません。

1. **[Save changes]** (変更の保存) をクリックします。

1. 変更を有効にするには、このポータル製品を使用するポータルを再公開する必要があります。

# API Gateway で製品ページを更新する
<a name="apigateway-portals-update-product-page"></a>

製品ページを更新すると、製品ページのすべての設定を変更できます。製品ページの変更は自動的に更新されますが、ポータルに反映された変更を確認するには、製品を使用するポータルを再公開する必要があります。

# API Gateway でポータル製品を共有する
<a name="apigateway-portals-share-resources"></a>

AWS RAM を使用して、ポータル製品を AWS アカウント間で共有できます。ポータル製品を共有すると、他のアカウントは独自のポータルでポータル製品を使用できます。共有ポータル製品を使用すると、組織の API、API エコシステム全体にガバナンス標準を適用できます。同時に、ポータル製品を共有すると、API プロバイダーは自分のアカウントで API を開発、テスト、保守する柔軟性が得られます。

## 考慮事項
<a name="apigateway-portals-share-resources-considerations"></a>

以下の考慮事項は、ポータルリソースの共有方法に影響を与える可能性があります。
+ 製品を別のアカウントと共有する場合、そのアカウントは REST API のプロパティを変更できません。これには、統合エンドポイント、認可戦略、またはステージ設定が含まれます。
+ 別のアカウントのポータル製品をポータルに追加すると、ポータル製品所有者はポータルの他のプロパティを表示または制御できません。ポータル製品所有者は、製品がポータルで使用されていることのみを認識します。
+ API Gateway ポータル製品は AWS リージョンレベルで共有されます。
+ 1 つのリソース共有で複数のプリンシパルを使用でき、リソース共有の作成後も新しいプリンシパルを追加できます。可能であれば、リソース共有を再利用することをお勧めします。
+ 両方のアカウントが AWS Organizations を使用して同じ組織にある場合、リソース共有は自動的に受け入れられます。その場合でも、AWS RAM を使用してリソース共有を作成する必要があります。
+ 両方のアカウントが同じ組織に属していて、AWS Organizations を使用しており、組織内でのリソース共有が有効になっている場合、共有先の組織内のすべてのプリンシパルには、リソース共有へのアクセスが自動的に許可されます。この場合、招待は不要であり、リソース共有の手順を省略できます。
+ 製品を共有したアカウントが **12 時間**以内にリソース共有を承認しない場合、リソース共有の手順を再度行う必要があります。
+ リソース共有を作成すると、AWS RAM は製品の製品共有ポリシーを更新して、明示的な `allow` アクセスのないプリンシパルへのアクセスを防止します。詳細については、IAM ユーザーガイドの「[アカウント内でのリクエストの許可または拒否の決定](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow)」を参照してください。

  更新後のリソースポリシーは次のようになります。

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "apigateway:GetProduct",
                  "apigateway:ListEndpoints",
                  "apigateway:ListPages",
                  "apigateway:GetEndpoint",
                  "apigateway:GetPage"
              ],
              "Resource": [
                  "arn:aws:apigateway:us-east-1:111122223333:/portalproducts/product-id",
                  "arn:aws:apigateway:us-east-1:111122223333:/portalproducts/product-id/*"
              ]
          }
      ]
  }
  ```

  AWS RAM は、以下を追加して、明示的な許可アクセスを持たないプリンシパルが製品をポータルに追加できないようにしました。

  ```
  "StringNotEquals": { "aws:PrincipalAccount": "555555555555" }
  ```

製品を共有する方法については、「[API Gateway でポータル製品をポータル所有者と共有する](apigateway-portals-share-products.md)」を参照してください。ポータルに共有されている製品を追加する方法については、「[API Gateway でポータルに共有ポータル製品を追加する](apigateway-portals-use-shared-products.md)」を参照してください。

# API Gateway でポータル製品をポータル所有者と共有する
<a name="apigateway-portals-share-products"></a>

製品所有者は、AWS RAM を使用して別の AWS アカウントのポータル所有者と製品を共有できます。すべての製品ページと製品 REST エンドポイントページを完全に制御できます。

## 考慮事項
<a name="apigateway-portals-share-products-considerations"></a>

以下の考慮事項は、ポータル製品を共有する方法に影響を与える可能性があります。
+ ポータル製品はいつでも共有または共有解除できます。公開されたポータルで使用されているポータル製品の共有を解除すると、ポータル所有者はポータル製品を削除するまで、ポータル製品を表示したり、その製品に加えられた更新を表示したり、ポータルを再公開またはプレビューしたりできなくなります。
+ 他のアカウントと共有したポータル製品を表示できます。
+ ポータルを自分で作成しない限り、ポータル製品を含むポータルを変更することはできません。

## ポータル製品を共有する
<a name="apigateway-portals-share-products-share"></a>

次の手順で、リソース共有を作成する方法を示します。

------
#### [ AWS マネジメントコンソール ]

AWS マネジメントコンソール を使用するには、*AWS RAM ユーザーガイド*の「[AWS RAM でのリソース共有の作成](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)」を参照してください。

**[リソースタイプの選択]** で、**[API Gateway 製品]** を選択します。

------
#### [ AWS CLI ]

次の [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) は、プライベートカスタムドメイン名用のリソース共有を作成します。リソースとプリンシパルの関連付けが完了するまでに数分かかることがあります。プリンシパルには、アカウント ID または組織 ID (`arn:aws:organizations::123456789012:organization/o-1234abcd` など) を指定します。リソース共有には、複数のプリンシパルを指定できます。

```
aws ram create-resource-share \ 
 --region us-west-2 \ 
 --name portal-product-resource-share \ 
 --permission-arns arn:aws:ram::aws:permission/AWSRAMDefaultPermissionAPIGatewayDeveloperPortalProduct \ 
 --resource-arns arn:aws:apigateway:us-west-2:111122223333:/portalproducts/p000000000 \ 
 --principals 222222222222
```

------

ポータル製品の共有を解除するには、AWS RAM を使用してリソース共有を削除します。

いつでも製品共有ポリシーを変更して、どのプリンシパルがポータルでポータル製品を使用できるかを変更できます。

**製品共有ポリシーを更新するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ポータル製品]** を選択します。

1. [製品] を選択します。

1. **[製品共有]** タブの **[製品共有ポリシー]** で、**[製品共有ポリシーの管理]** を選択します。

1. 以前に製品を共有したことがない場合、製品共有ポリシーは、他のアカウントによるポータル製品へのすべてのアクセスを拒否します。ポータル製品への特定のアカウントのアクセスを許可するには、ポリシーを更新する必要があります。

1. 製品共有ポリシーを更新したら、**[変更の保存]** を選択します。

# API Gateway でポータルに共有ポータル製品を追加する
<a name="apigateway-portals-use-shared-products"></a>

ポータル所有者は、ポータル内の他のアカウントによって共有されているポータル製品を使用できます。ポータルを完全に制御できます。

## 考慮事項
<a name="apigateway-portals-use-shared-products-considerations"></a>

以下の考慮事項は、ポータルリソースの共有方法に影響を与える可能性があります。
+ ポータルで製品を使用するには、製品所有者からの製品リソース共有を受け入れる必要があります。お客様と製品所有者が同じ組織に属している場合、AWS RAM はいくつかの共有手順を完了できます。
+ 製品所有者が公開されたポータルで製品を共有解除しても、その製品はポータルに表示されますが、この製品を削除するまでポータルを再公開することはできません。製品所有者はユーザーに代わって製品を削除できないため、ポータルから製品を削除するのはポータル所有者の責任です。
+ ポータル製品、製品ページ、製品 REST エンドポイントページを表示できますが、これらのリソースを変更することはできません。
+ 製品が共有されている場合、別のアカウントと共有することはできません。

## (オプション) リソース共有を受け入れる
<a name="apigateway-portals-use-shared-products-accept"></a>

製品所有者がリソース共有を作成した後、お客様は **12 時間**以内に承認する必要があります。お客様が製品所有者と同じ組織に属しており、AWS Organizations を使用している場合、共有は自動的に承認されます。お客様が属している組織で自動共有リソースが有効になっている場合、リソースは自動的に共有されます。

------
#### [ AWS マネジメントコンソール ]

AWS マネジメントコンソール を使用するには、*AWS RAM ユーザーガイド*の「[リソース共有の招待の承諾と拒否](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-invitations.html)」を参照してください。

------
#### [ AWS CLI ]

お客様と共有されているすべてのリソースを見つけるには、次の [get-resource-share-invitations](https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html) コマンドを使用します。

```
aws ram get-resource-share-invitations \
    --region us-west-2
```

表示されたリソース共有の ARN を使用して、リソース共有の招待を承認します。次の [accept-resource-share-invitation](https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html) コマンドは、リソース共有を承認します。

```
aws ram accept-resource-share-invitation \
    --resource-share-invitation-arn arn:aws:ram:us-west-2:123456789012:resource-share-invitation/1e3477be-4a95-46b4-bbe0-c4001EXAMPLE \
    --region us-west-2
```

------

## ポータルに共有製品を追加する
<a name="apigateway-portals-use-shared-products-add"></a>

リソース共有を受け入れたら、製品をポータルに追加します。

------
#### [ AWS マネジメントコンソール ]

**ポータルに共有製品を追加するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ポータル]** を選択します。

1. ポータルを選択します。

1. **[製品]** タブの **[ポータル製品]** で、**[製品の追加]** を選択します。

1. 製品をポータルに追加します。共有製品は、製品リストに `shared` として表示されます。

1. **[Save changes]** (変更の保存) をクリックします。

------
#### [ AWS CLI ]

共有されているすべてのポータル製品を検索するには、次の `get-portal-products` コマンドを使用します。

```
aws apigatewayv2 get-portal-products \
    --resource-owner OTHER_ACCOUNTS \
    --region us-west-2
```

ポータルに共有ポータル製品を追加するには、次の `update-portal` コマンドを使用します。

```
aws apigateway update-portal \
    --included-portal-product-arns arn:aws:apigateway:us-west-2:111122223333:/portalproducts/p000000000 \
    --region us-west-2
```

------

# ポータルで API Gateway 製品 REST エンドポイントの「試してみる」を有効にする
<a name="apigateway-portals-try-it"></a>

[試してみる] を使用すると、API コンシューマーがポータルから製品エンドポイントを呼び出せるようになります。API コンシューマーが [試してみる] を使用する場合、メソッドリクエストパラメータを入力し、製品エンドポイントを呼び出します。次に、API Gateway はパブリックインターネット経由で API を呼び出し、[試してみる] ウィンドウでレスポンスを返します。カスタム製品ページを使用して、API にアクセスするために必要なパラメータに関する追加情報を提供できます。

API Gateway は、API を保護するために次の制限を使用します。
+ API Gateway は、API への 1 秒あたり 3 つのリクエストのみを許可します。
+ API Gateway は、29,000 ミリ秒の組み込みタイムアウト制限を使用します。実際の API ではより高いタイムアウト制限が設定されている場合がありますが、お客様が [試してみる] を使用する場合、API Gateway はこのタイムアウトを適用しません。
+ API Gateway はレスポンスペイロードを 6MB に制限します。

## 考慮事項
<a name="apigateway-portals-try-it-considerations"></a>

以下の考慮事項は、[試してみる] の使用方法に影響する可能性があります。
+ ポータルをプレビューする場合、[試してみる] はサポートされません。
+ 次の機能を備えた REST API では、[試してみる] はサポートされていません。
  + プライベート API
  + 相互 TLS を使用する API
  + プライベートまたは自己署名 SSL 証明書を使用する API

  ポータル所有者は、API コンシューマーとの通信に責任があるため、サポートされていない REST API では、[試してみる] ボタンが表示されません。API Gateway ではこれについて説明しません。

## 製品 REST エンドポイントの [試してみる] を有効にする
<a name="apigateway-portals-try-it-procedure"></a>

次の手順は、製品エンドポイントで [試してみる] を有効にする方法を示しています。

ポータルで [試してみる] を使用する方法については、「[API Gateway ポータルを使用する](apigateway-portals-use-portal.md)」を参照してください。

**製品 REST エンドポイントの [試してみる] を有効にする**

1. メインナビゲーションペインで、**[ポータル製品]** を選択します。

1. [製品] を選択します。

1. **[ドキュメント]** タブの **[API リファレンスページ]** で、**[/dogs - GET]** などの製品 REST エンドポイントの名前を選択します。

1. **[ページを編集]** を選択します。

1. 顧客がポータルで API を呼び出せるようにするには、**[試してみる機能]** を選択します。

1. **[Save changes]** (変更の保存) をクリックします。

1. 変更を有効にするには、このポータル製品を使用するポータルを再公開する必要があります。

# API Gateway でポータル製品を削除する
<a name="apigateway-portals-delete-product"></a>

ポータル製品を削除すると、復元できません。

## ポータル製品を削除する
<a name="apigateway-portals-delete-product-delete"></a>

次の手順は、ポータル製品を削除する方法を示しています。

**ポータル製品を削除するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[ポータル製品]** を選択します。

1. ポータル製品を選択します。

1. **[削除]** を選択します。

1. 選択を確認して、**[削除]** をクリックします。

1. 変更を有効にするには、このポータル製品を使用するポータルを再公開する必要があります。