翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ユーザープールとアプリケーションクライアント設定の更新
ユーザープールまたはアプリケーションクライアントの設定を変更する場合は、数回のクリックで Amazon Cognito コンソールで更新を適用できます。このガイドの他のエリアで説明されているように、ユーザープール設定の機能ベースのタブを操作し、フィールドを更新します。
多くの組織は AWS CloudFormation、 、 または 上に構築されたアプリケーションCDK、およびその他のオートメーションソフトウェアでリソースを AWS SDKsプログラムで管理しています。これがリソース管理モデルである場合は、リソースの変更をステージングするときに特に注意する必要があります。
API オペレーション UpdateUserPoolと UpdateUserPoolClient は、既存のユーザープールまたはアプリケーションクライアントを更新します。リファレンスAPI: 属性の値を指定しない場合、Amazon Cognito はそれをデフォルト値に設定します。1 つのパラメータのみを使用して更新リクエストを送信すると、Amazon Cognito はそのパラメータを選択した値に設定し、他のすべてのパラメータをデフォルト値に設定します。これにより、属性スキーマ、Lambda トリガー、E メールとSMSメッセージの設定などの設定をリセットできます。
さらに、ユーザープールまたはアプリケーションクライアントの作成後に一部の設定がロックされ、新しいリソースを作成しない限り変更することはできません。
変更できない設定
ユーザープールを作成した後に、この設定を変更することはできません。以下の設定を変更する場合は、新しいユーザープールまたはアプリクライアントを作成する必要があります。
- ユーザープール名
-
API パラメータ名: PoolName
ユーザープールに割り当てた分かりやすい名前。ユーザープール名を変更するには、新しいユーザープールを作成します。
- Amazon Cognito ユーザープールサインインオプション
-
API パラメータ名: AliasAttributes および UsernameAttributes
ユーザーがサインインするときにユーザー名として渡すことができる属性。ユーザープールを作成するときに、ユーザー名、E メールアドレス、電話番号、または優先ユーザー名を使用してサインインを許可するかどうかを選択できます。ユーザープールサインインオプションを変更するには、新しいユーザープールを作成します。
- ユーザー名の大文字と小文字を区別する
-
API パラメータ名: UsernameConfiguration
大文字と小文字以外の別のユーザー名と一致するユーザー名を作成した場合、Amazon Cognito では同じユーザーまたは一意のユーザーとして扱うことができます。詳細については、「ユーザープールの大文字と小文字の区別」を参照してください。大文字と小文字の区別を変更するには、新しいユーザープールを作成します。
- クライアントシークレット
-
API パラメータ名: GenerateSecret
アプリクライアントを作成するときに、信頼されたソースだけがユーザープールにリクエストを送信できるように、クライアントシークレットを生成できます。詳細については、「アプリケーションクライアントでのアプリケーション固有の設定」を参照してください。クライアントシークレットを変更するには、同じユーザープール内に新しいアプリクライアントを作成します。
- 必須属性
-
API パラメータ名: スキーマ
ユーザーのサインアップ時または作成時に値を提供する必要がある属性。詳細については、「ユーザー属性の操作」を参照してください。必要な属性を変更するには、新しいユーザープールを作成します。
- カスタム属性
-
API パラメータ名: スキーマ
カスタム名を持つ属性です。ユーザーのカスタム属性の値を変更することはできますが、ユーザープールからカスタム属性を削除することはできません。詳細については、「ユーザー属性の操作」を参照してください。カスタム属性の最大数に達してリストを変更する場合は、新しいユーザープールを作成します。
SMS 設定
ユーザープールでSMSメッセージをアクティブ化した後は、無効にすることはできません。
-
ユーザープールの作成時にSMSメッセージを設定することを選択した場合、設定SMS完了後に非アクティブ化することはできません。
-
作成したユーザープールでSMSメッセージをアクティブ化することはできますが、それ以降は を非アクティブ化することはできませんSMS。
-
Amazon Cognito は、ユーザーアカウントの招待と復旧、属性の検証、および多要素認証 () にSMSメッセージを使用できますMFA。SMS メッセージをアクティブ化した後は、これらの関数のSMSメッセージをいつでもオンまたはオフにできます。
-
SMS メッセージ設定には、Amazon Cognito に委任して Amazon でメッセージを送信するIAMロールが含まれますSNS。割り当てられたロールはいつでも変更できます。
AWS SDK、、 AWS CDKまたは を使用したユーザープールの更新 REST API
Amazon Cognito コンソールでは、ユーザープールの設定を一度に 1 つのパラメータで変更できます。例えば、Lambda トリガーを追加するには、Lambda トリガーの追加を選択し、関数とトリガータイプを選択します。Amazon Cognito ユーザープールAPIは、ユーザープールとアプリケーションクライアントのオペレーションを更新するときに、ユーザープールのパラメータの完全なセットが必要になるように構造化されています。ただし、コンソールは他のユーザープール設定を使用して、この更新オペレーションを透過的に自動化します。
の他の場所での変更により、変更する設定に関連しない更新によってエラー AWS アカウント が発生することがあります。 AWS WAF例えば、削除された Amazon SES ID や のIAMアクセス許可の変更。現在のパラメータの 1 つが無効になった場合、修正するまで設定を更新することはできません。このようなエラーが発生した場合は、エラーレスポンスを調べ、言及されている設定を検証します。
AWS Cloud Development Kit (AWS CDK)
-
既存のリソース の設定を記述するオペレーションから出力をキャプチャします。
-
設定を変更して出力を変更します。
-
リソースを更新するオペレーションで、変更された設定を送信します。
次の手順では、 UpdateUserPoolAPIオペレーションを使用して設定を更新します。異なる入力フィールドを持つ同じアプローチが に適用されます UpdateUserPoolClient。
重要
既存のパラメータの値を提供しない場合、Amazon Cognito はそれらをデフォルト値に設定します。例えば、既存の LambdaConfig
がある場合に、空の LambdaConfig
で UpdateUserPool
を送信すると、すべての Lambda 関数のユーザープールトリガーへの割り当てが削除されます。ユーザープール設定の変更を自動化する場合は、適宜計画を立ててください。
-
でユーザープールの既存の状態をキャプチャします DescribeUserPool。
-
DescribeUserPool
の出力をUpdateUserPool
のリクエストパラメータと一致するようにフォーマットします。出力 から次の最上位フィールドとその子オブジェクトを削除しますJSON。-
Arn
-
CreationDate
-
CustomDomain
-
このフィールドを UpdateUserPoolDomainAPIオペレーションで更新します。
-
-
Domain
-
このフィールドを UpdateUserPoolDomainAPIオペレーションで更新します。
-
-
EmailConfigurationFailure
-
EstimatedNumberOfUsers
-
Id
-
LastModifiedDate
-
Name
-
SchemaAttributes
-
SmsConfigurationFailure
-
Status
-
-
結果が のリクエストパラメータJSONと一致することを確認します
UpdateUserPool
。 -
結果の で変更するパラメータを変更しますJSON。
-
変更した を
UpdateUserPool
APIリクエスト入力JSONとしてリクエストを送信します。
また、 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