API Gateway コンソールを使用して REST API 用のクロスアカウントの Amazon Cognito オーソライザーを設定する - Amazon API Gateway

API Gateway コンソールを使用して REST API 用のクロスアカウントの Amazon Cognito オーソライザーを設定する

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 オーソライザーを作成する

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

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

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

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

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

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

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

    3. [Cognito ユーザープール] で、2 番目のアカウントで作成したユーザープールの完全な ARN を入力します。

      注記

      Amazon Cognito コンソールでは、ユーザープールの ARN は、[全般設定] ペインの [プール ARN] フィールドにあります。

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

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

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