ユーザープール設定の更新 - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ユーザープール設定の更新

で Amazon Cognito ユーザープールの設定を変更するには AWS Management Console、このガイドの他の領域で説明されているように、ユーザープール設定の機能ベースのタブに移動し、フィールドを更新します。ユーザープールを作成した後に、この設定を変更することはできません。以下の設定を変更する場合は、新しいユーザープールまたはアプリクライアントを作成する必要があります。

ユーザープール名

API パラメータ名: PoolName

ユーザープールに割り当てた分かりやすい名前。ユーザープール名を変更するには、新しいユーザープールを作成します。

Amazon Cognito ユーザープールサインインオプション

API パラメータ名: AliasAttributes および UsernameAttributes

ユーザーがサインインするときにユーザー名として渡すことができる属性。ユーザープールを作成するときに、ユーザー名、E メールアドレス、電話番号、または優先ユーザー名を使用してサインインを許可するかどうかを選択できます。ユーザープールサインインオプションを変更するには、新しいユーザープールを作成します。

ユーザー名の大文字と小文字を区別する

API パラメータ名: UsernameConfiguration

大文字と小文字以外の別のユーザー名と一致するユーザー名を作成した場合、Amazon Cognito では同じユーザーまたは一意のユーザーとして扱うことができます。詳細については、「ユーザープールの大文字と小文字の区別」を参照してください。大文字と小文字の区別を変更するには、新しいユーザープールを作成します。

クライアントシークレット

API パラメータ名: GenerateSecret

アプリクライアントを作成するときに、信頼されたソースだけがユーザープールにリクエストを送信できるように、クライアントシークレットを生成できます。詳細については、「ユーザープールアプリクライアント」を参照してください。クライアントシークレットを変更するには、同じユーザープール内に新しいアプリクライアントを作成します。

必須属性

API パラメータ名: スキーマ

ユーザーのサインアップ時または作成時に値を提供する必要がある属性。詳細については、「ユーザープール属性」を参照してください。必要な属性を変更するには、新しいユーザープールを作成します。

カスタム属性

API パラメータ名: スキーマ

カスタム名を持つ属性です。ユーザーのカスタム属性の値を変更することはできますが、ユーザープールからカスタム属性を削除することはできません。詳細については、「ユーザープール属性」を参照してください。カスタム属性の最大数に達してリストを変更する場合は、新しいユーザープールを作成します。

SMS 設定

ユーザープールで SMS メッセージをアクティブ化した後は、非アクティブ化することはできません。

  • ユーザープールの作成時に SMS メッセージを設定することを選択した場合、セットアップの完了後に SMS を非アクティブ化することはできません。

  • 作成したユーザープールで SMS メッセージをアクティブ化することはできますが、それ以降は SMS を非アクティブ化することはできません。

  • Amazon Cognito は、ユーザーアカウントの招待と復旧、属性検証、および多要素認証 (MFA) に SMS メッセージを使用できます。SMS メッセージをアクティブ化した後は、これらの関数に対していつでも SMS メッセージを有効または無効にできます。

  • SMS メッセージ設定には、Amazon SNS でメッセージを送信するために Amazon Cognito Amazon SNSロールが含まれています。割り当てられたロールはいつでも変更できます。

AWS SDK、、 AWS CDKまたは REST API を使用したユーザープールの更新

Amazon Cognito コンソールでは、ユーザープール設定を一度に 1 つのパラメータで変更できます。例えば、Lambda トリガーを追加するには、Lambda トリガーを追加を選択し、関数とトリガータイプを選択します。Amazon Cognito ユーザープール API は、ユーザープールとアプリケーションクライアントの更新オペレーションで、ユーザープールのパラメータの完全なセットが必要になるように構造化されています。ただし、コンソールは、この更新オペレーションを他のユーザープール設定で透過的に自動化します。

内の他の場所で変更を行うと AWS アカウント 、変更する設定に関連しない更新でエラーが発生することがあります。例えば AWS WAF、削除された Amazon SES ID や の IAM アクセス許可の変更。現在のパラメータのいずれかが無効になった場合、修正するまで設定を更新することはできません。このようなエラーが発生した場合は、エラーレスポンスを調べて、言及されている設定を検証します。

AWS Cloud Development Kit (AWS CDK)Amazon Cognito ユーザープール REST API および AWS SDKsは、Amazon Cognito リソースの自動化とプログラムによる設定のためのツールです。これらのツールを使用したリクエストは、Amazon Cognito コンソールと同様に、リクエスト本文の完全なリソース設定で設定を更新する必要があります。大まかに言うと、次のプロセスを実行する必要があります。

  1. 既存のリソース の設定を記述する オペレーションから出力をキャプチャします。

  2. 設定を変更して出力を変更します。

  3. リソースを更新するオペレーションで、変更された設定を送信します。

次の手順では、 UpdateUserPool API オペレーションを使用して設定を更新します。入力フィールドが異なる同じアプローチが UpdateUserPoolClientに適用されます。

重要

既存のパラメータの値を提供しない場合、Amazon Cognito はそれらをデフォルト値に設定します。例えば、既存の LambdaConfig がある場合に、空の LambdaConfigUpdateUserPool を送信すると、すべての Lambda 関数のユーザープールトリガーへの割り当てが削除されます。ユーザープール設定の変更を自動化する場合は、適宜計画を立ててください。

  1. を使用して、ユーザープールの既存の状態をキャプチャします DescribeUserPool

  2. DescribeUserPool の出力を UpdateUserPoolリクエストパラメータと一致するようにフォーマットします。出力される JSON から次のトップレベルフィールドとその子オブジェクトを削除します。

    • Arn

    • CreationDate

    • CustomDomain

    • Domain

    • EmailConfigurationFailure

    • EstimatedNumberOfUsers

    • Id

    • LastModifiedDate

    • Name

    • SchemaAttributes

    • SmsConfigurationFailure

    • Status

  3. 生成された JSON が UpdateUserPoolリクエストパラメータと一致することを確認します。

  4. 生成された JSON で変更するパラメータを変更します。

  5. 変更した JSON をリクエスト入力として使用する UpdateUserPool API リクエストを送信します。

また、 AWS CLIの update-user-pool--cli-input-json パラメータで、この修正した DescribeUserPool の出力を使用することもできます。

または、次の AWS CLI コマンドを実行して、 の受け入れられた入力フィールドの値が空白の JSON を生成しますupdate-user-pool。その後、これらのフィールドにユーザープールの既存の値を入力できます。

aws cognito-idp update-user-pool --generate-cli-skeleton --output json

次のコマンドを実行して、アプリクライアント用に同じ JSON オブジェクトを生成します。

aws cognito-idp update-user-pool-client --generate-cli-skeleton --output json