ユーザーアカウントの管理と検索
ユーザープールを作成すると、AWS Management Console、AWS Command Line Interface または Amazon Cognito API を使用してユーザーを表示し、管理することができます。このトピックでは、AWS Management Console を使用してユーザーを表示および検索する方法について説明します。
ユーザー属性の表示
Amazon Cognito コンソールでユーザー属性を表示するには、以下の手順に従います。
ユーザーのパスワードのリセット
Amazon Cognito コンソールでユーザーのパスワードをリセットするには、以下の手順に従います。
ユーザー属性の検索
ユーザープールがすでに作成されている場合は、AWS Management Consoleの [Users] (ユーザー) パネルから検索できます。また、[Filter] (フィルター) パラメータを受け入れる Amazon Cognitoの ListUsers API も使用できます。
以下のどの標準属性でも検索できます。カスタム属性は検索できません。
-
username (大文字と小文字が区別されます)
-
email
-
phone_number
-
name
-
given_name
-
family_name
-
preferred_username
-
cognito:user_status (コンソールでは [Status (ステータス)] となっています) (大文字と小文字が区別されません)
-
status (コンソールでは [Enabled (有効)] となっています) (大文字と小文字が区別されます)
-
sub
また、クライアント側のフィルターを使用してユーザーを一覧表示することもできます。サーバー側のフィルターは、1 つ以上の属性に一致しません。高度な検索を行うには、AWS Command Line Interface での list-users
のアクションの --query
パラメータを用いたクライアント側のフィルターを使用します。クライアント側のフィルターを使用すると、ListUsers は 0 人以上のユーザーからなるページ分割されたリストを返します。結果がゼロで、複数のページを連続して受信できます。Null ページネーショントークン値を受け取るまで、返される各ページネーショントークンでクエリを繰り返し、組み合わせた結果を確認します。
サーバー側とクライアント側のフィルタリングの詳細については、ユーザーガイドの「AWS Command Line Interface での AWS CLI 出力の フィルタリング」を参照してください。
AWS Management Console を使用したユーザーの検索
ユーザープールがすでに作成されている場合は、AWS Management Consoleの [Users] (ユーザー) パネルから検索できます。
AWS Management Console は、常にプレフィックス ("先頭の文字") 検索を行います。
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
: 前の検索からさらに結果を取得するためのトークンです。Amazon Cognito は 1 時間後にページ分割トークンを期限切れにします。 -
UserPoolId
: 検索を実行する必要があるユーザープールのユーザープール ID です。
すべての検索で大文字と小文字が区別されません。検索結果は、AttributeName
文字列により指定された属性によって昇順に並べ替えられます。
ListUsers
API の使用例
次の例はすべてのユーザーを返します。すべての属性が含まれています。
{ "AttributesToGet": [], "Filter": "", "Limit": 10, "UserPoolId": "us-east-1_samplepool" }
次の例は、電話番号の先頭が「+1312」のすべてのユーザーを返します。また、すべての属性が含まれています。
{ "AttributesToGet": [], "Filter": "phone_number ^= \"+1312\"", "Limit": 10, "UserPoolId": "us-east-1_samplepool" }
次の例は、姓が「Reddy」の先頭 10 人のユーザーを返します。各ユーザーの検索結果には、ユーザーの名、電話番号、E メールアドレスが含まれています。ユーザープールに存在する一致ユーザーが 10 人を超える場合、レスポンスにはページ分割トークンが含まれています。
{ "AttributesToGet": [ "given_name", "phone_number", "email" ], "Filter": "family_name = \"Reddy\"", "Limit": 10, "UserPoolId": "us-east-1_samplepool" }
前の例でページ分割トークンが返された場合、次の例は同じフィルター文字列と一致する次の 10 人のユーザーを返します。
{ "AttributesToGet": [ "given_name", "phone_number", "email" ], "Filter": "family_name = \"Reddy\"", "Limit": 10, "PaginationToken": "pagination_token_from_previous_search", "UserPoolId": "us-east-1_samplepool" }