メニュー
Amazon Cognito
開発者ガイド (Version 最終更新日: 2017 年 8 月 26 日)

ユーザープールアプリ設定の指定

アプリはユーザーのプール内のエンティティで、サインインするために登録、サインイン、忘れたパスワードを処理する API などの非認証 API (認証されたユーザーを持たない API) を呼び出す権限を持っています。これらの API を呼び出すには、アプリのクライアント ID およびオプションのクライアントシークレットが必要です。認証されたクライアントアプリのみがこれらの非認証 API を呼び出すことができるようにして、アプリのクライアントの ID または秘密を保護するのは、お客様の責任となります。

ユーザープールに複数のアプリケーションを作成でき、一般的にアプリケーションは、アプリケーションのプラットフォームに対応します。たとえば、サーバー側のアプリケーション、および Android 用アプリケーションを作成することができます。各アプリには独自のアプリのクライアント ID があります。

アプリケーションを作成すると、そのアプリケーションのシークレットを作成することもできます。シークレットをアプリケーション用に作成した場合、アプリケーションを使用するには、シークレットを提供する必要があります。JavaScript で書き込まれたブラウザベースのアプリケーションは、シークレットをアプリケーションが必要としない場合があります。

シークレットは、アプリケーションの作成後に変更することはできません。使用しているシークレットキーを更新したい場合、新規のシークレットで新しいアプリケーションを作成できます。また、そのアプリのクライアント ID を使用するアプリケーションからのアクセスを遮断するためにアプリケーションを削除できます。

アプリを作成するには

  1. [Create a user pool] の [Apps] タブで、[Add an app client] を選択します。

  2. [App client name] を指定します。

  3. アプリの [Refresh token expiration (days)] を指定します。デフォルト値は 30 です。1~3650 の任意の値に変更できます。

  4. デフォルトでは、ユーザープールによりアプリのクライアントシークレットが生成されます。生成されないようにする場合、[Generate client secret] をクリアします。

  5. アプリが、開発者認証情報を必要とし (署名バージョン 4 を使用)、Secure Remote Protocol (SRP) 認証を使用しないサーバーアプリである場合、[Enable sign-in API for server-based authentication (ADMIN_NO_SRP_AUTH)] を選択してサーバー側認証を有効にします。詳細については、「管理認証フロー」を参照してください。

  6. デフォルトでは、ユーザープールによりアプリがすべての属性を読み書きできます。アプリに異なる権限を設定する場合、以下のステップを実行します。

    1. [Set attribute read and write permissions] を選択します。

    2. 以下のどちらの方法でも、読み取り/書き込み権限を設定できます。

      • 1 つ以上の範囲を選択する。各範囲は、標準属性のセットです。詳細については、標準 OIDC スコープのリストを参照してください。

      • 個々の標準属性またはカスタム属性を選択する。

    注記

    必須属性はアプリの書き込みアクセス権限から削除できません。

  7. [Create app client] を選択します。

  8. 別のアプリを作成する場合、[Add an app] を選択します。

  9. 必要なアプリをすべて作成したら、[Save changes] を選択します。

また、CLI コマンド create-user-pool-clientupdate-user-pool-client、および API CreateUserPoolClientUpdateUserPoolClient を使用して、ユーザープールでアプリクライアントを作成および更新することもできます。