

# API Gateway コンソールを使用して REST API 用のクロスアカウントの Amazon Cognito オーソライザーを設定する
<a name="apigateway-cross-account-cognito-authorizer"></a>

Amazon Cognito ユーザープールは、API オーソライザーとは異なる AWS アカウントからも使用できるようになりました。Amazon Cognito ユーザープールでは、OAuth や SAML などのベアラートークン認証戦略を使用できます。これにより、複数の API Gateway API 間で簡単に一元管理し、主要な Amazon Cognito ユーザープールオーソライザーを共有できるようになります。

このセクションでは、Amazon API Gateway コンソールを使用して、クロスアカウント Amazon Cognito ユーザープールを設定する方法について説明します。

これらの手順は、AWS アカウントに API Gateway API、別のアカウントに Amazon Cognito ユーザープールが設定されていることを前提としています。

## REST API のクロスアカウント Amazon Cognito オーソライザーを作成する
<a name="apigateway-configure-cross-account-cognito-authorizer"></a>

API を設定しているアカウントで Amazon API Gateway コンソールにサインインし、以下の操作を行います。

1. 新しい API を作成、または API Gateway に既存の API を選択します。

1. メインナビゲーションペインで、**[オーソライザー]** を選択します。

1. **[オーソライザーの作成]** を選択します。

1. ユーザープールを使用するように新しいオーソライザーを設定するには、次の手順を実行します。

   1.  **[オーソライザー名]** に名前を入力します。

   1. **[オーソライザータイプ]** には、**[Cognito]** を選択します。

   1. **[Cognito ユーザープール]** で、2 番目のアカウントで作成したユーザープールの完全な ARN を入力します。
**注記**  
Amazon Cognito コンソールでは、ユーザープールの ARN は、[**全般設定**] ペインの [**プール ARN**] フィールドにあります。

   1.  ユーザーがサインインした際に Amazon Cognito が返す ID またはアクセストークンを渡すように、**[トークンソース]** には、ヘッダー名として **Authorization** と入力します。

   1. (オプション) 必要に応じて **[トークン検証]** フィールドに正規表現を入力して、リクエストが Amazon Cognito で承認される前に ID トークンの `aud` (対象者) フィールドを検証します。アクセストークンを使用する場合、この検証では、アクセストークンが `aud` フィールドを含まないために要求が拒否されることに注意してください。

   1. **[オーソライザーの作成]** を選択します。