メニュー
Amazon Cognito
開発者ガイド (Version 最終更新日: 2016 年 7 月 28 日)

AWS マネジメントコンソール と Amazon Cognito User Pools API でのユーザーアカウントの管理と検索

ユーザープールを作成すると、AWS マネジメントコンソール、AWS Command Line Interface、または Amazon Cognito API を使用してユーザーを表示および管理できます。このトピックでは、AWS マネジメントコンソール を使用してユーザーを表示および検索する方法について説明します。

ユーザー属性の表示

コンソールで実行することができるオペレーションは多くあります(AWS マネジメントコンソール)。

  • プールの詳細を表示し、ユーザープールの属性、パスワードポリシー、MFA 設定、アプリ、トリガーを編集できます。詳細については、「AWS マネジメントコンソールでの Amazon Cognito ユーザープール設定ステップ」を参照してください。

  • ユーザープール内のユーザーを表示し、詳細についてさらに調べることができます。

  • また、ユーザープール内の個々のユーザーの詳細を表示できます。

  • さらに、ユーザープール内のユーザーを検索することもできます。

AWS マネジメントコンソール を使用してユーザープールを管理する

  1. AWS マネジメントコンソール にある Amazon Cognito のホームページからユーザー ID の管理を選択します。

  2. [Your User Pools] ページからユーザープールを選択します。

  3. ユーザー情報を表示するには、[User and Groups] を選択します。

  4. 個々のユーザーについての詳細を表示するには、ユーザー名を選択します。この画面から、以下のどのアクションでも実行できます:

    • ユーザーをグループに追加

    • ユーザーパスワードのリセット

    • ユーザーの確認

    • MFA の有効化または無効化

    • ユーザーの削除

    [Reset user password] アクションを使用すると、確認コードがユーザーに即時送信され、ユーザーの状態が RESET_REQUIRED に変更されることでユーザーの現在のパスワードが無効にされます。MFA の有効化アクションを実行すると、ユーザーがログインしようとしたときに確認コードがユーザーに送信されます。[Reset user password] コードは、1 時間有効です。MFA コードは 3 分間有効です。

ユーザー属性の検索

ユーザープールを既に作成している場合、AWS マネジメントコンソール の [Users] パネルから検索できます。Filter パラメーターを受け入れる Amazon Cognito ListUsers API を使用することもできます。

以下のどの標準属性でも検索できます。カスタム属性は検索できません。

  • username (大文字と小文字が区別されます)

  • email

  • phone_number

  • name

  • given_name

  • family_name

  • preferred_username

  • cognito:user_status (コンソールでは [Status] となっています) (大文字と小文字が区別されません)

  • status (コンソールでは [Enabled] となっています) (大文字と小文字が区別されます)

AWS マネジメントコンソール を使用したユーザーの検索

ユーザープールを既に作成している場合、AWS マネジメントコンソール の [Users] パネルから検索できます。

AWS マネジメントコンソール は、常にプレフィックス ("先頭の文字") 検索を行います。

以下の例はすべて、同じユーザープールを使用します。

たとえば、すべてのユーザーをリストする場合、検索ボックスを空のままにします。

 すべてのユーザーをリストするには、検索ボックスを空のままにします。

すべての確認済みユーザーを検索する場合は、ドロップダウンメニューから [Status] を選択します。検索ボックスに、「confirmed」という語の先頭の文字を入力します。

 すべての確認済みユーザーをリストするには、[Status] を選択し、「confirmed」という語の先頭の文字を入力します。

[User name] など、一部の属性値では、大文字と小文字が区別される点に注意してください。

 大文字と小文字が区別される属性で文字の大きさを間違った場合、その属性値は一致しません。

ListUsers API を使用したユーザーの検索

アプリからユーザーを検索するには、Amazon Cognito ListUsers API を使用します。この API は以下のパラメータを使用します。

  • AttributesToGet: 文字列の配列です。各文字列は、検索結果でユーザーごとに返されるユーザー属性の名前です。配列が空の場合、すべての属性が返されます。

  • Filter: 「AttributeName Filter-Type "AttributeValue"」形式のフィルター文字列です。フィルター文字列内の引用符は、円記号 (\) を使用してエスケープする必要があります。 (""family_name = \"Reddy\""" など)。フィルター文字列が空の場合、ListUsers はユーザープールのすべてのユーザーを返します。

    • AttributeName: 検索する属性の名前。同時に検索できる属性は 1 つのみです。

      注記

      標準属性のみを検索できます。カスタム属性は検索できません。これはインデックスが付けられた属性のみが検索可能なためで、カスタム属性にインデックスを作成することはできません。

    • Filter-Type: 完全一致を検索する場合は、= を使用します (given_name = "Jon" など)。プレフィックス (「先頭の文字」) 一致を検索する場合、^= を使用します (given_name ^= "Jon" など)。

    • AttributeValue: ユーザーごとに一致する必要がある属性値です。

  • Limit: 返されるユーザーの最大数です。

  • PaginationToken: 前の検索からさらに結果を取得するためのトークンです。

  • UserPoolId: 検索を実行する必要があるユーザープールのユーザープール ID です。

すべての検索で大文字と小文字が区別されません。検索結果は、AttributeName 文字列により指定された属性によって昇順に並べ替えられます。

ListUsers API の使用例

次の例はすべてのユーザーを返します。すべての属性が含まれています。

Copy
{ "AttributesToGet": [], "Filter": "", "Limit": 10, "UserPoolId": "us-east-1_samplepool" }

次の例は、電話番号の先頭が「+1312」のすべてのユーザーを返します。また、すべての属性が含まれています。

Copy
{ "AttributesToGet": [], "Filter": "phone_number ^= \"+1312\"", "Limit": 10, "UserPoolId": "us-east-1_samplepool" }

次の例は、姓が「Reddy」の先頭 10 人のユーザーを返します。各ユーザーの検索結果には、ユーザーの名、電話番号、E メールアドレスが含まれています。ユーザープールに存在する一致ユーザーが 10 人を超える場合、レスポンスにはページ分割トークンが含まれています。

Copy
{ "AttributesToGet": [ "given_name", "phone_number", "email" ], "Filter": "family_name = \"Reddy\"", "Limit": 10, "UserPoolId": "us-east-1_samplepool" }

前の例でページ分割トークンが返された場合、次の例は同じフィルター文字列と一致する次の 10 人のユーザーを返します。

Copy
{ "AttributesToGet": [ "given_name", "phone_number", "email" ], "Filter": "family_name = \"Reddy\"", "Limit": 10, "PaginationToken": "pagination_token_from_previous_search", "UserPoolId": "us-east-1_samplepool" }