AWS CLI でCognitoユーザのパスワードを再設定してCONFIRMEDにしてみました。


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

前提

・Cognitoのユーザープールが作成済みで、ユーザーが初期作成されたとします。
・AWS CLIの検証環境をAWS CloudShellとします。

※Cognitoのユーザープールの作成について、下記のリンクを参照
AWS CloudFormationでCognitoユーザープールを作成してみました。

手順

Coginitoのユーザプールは、ユーザを作成できるが、仮パスワードを設定してユーザにパスワードを強制変更してもらわないといけないようです。今回、AWS CLIでパスワードを強制変更する手順を説明します。

ステータスの確認(AWS コンソール上)

アカウントのステータの確認スが「FORCE_CHANGE_PASSWORD」であることを確認します。

CLIでパスワードを再設定

変数に値を設定する

userName=TestUser
password=Hoge_001
userPoolId=ap-northeast-1_EpyZZXfS9
clientId=1argt3eme6f06b7npdqvjggrdn

パスワードの再設定(CLI)

コマンド:
aws cognito-idp admin-set-user-password –user-pool-id ${userPoolId} –username ${userName} –password ‘Hoge_002’ –permanent

実行例:

[cloudshell-user@ip-10-0-171-10 ~]$ aws cognito-idp admin-set-user-password --user-pool-id ${userPoolId} --username ${userName} --password 'Hoge_002' --permanent
[cloudshell-user@ip-10-0-171-10 ~]$ 

パスワードの再設定後の確認(CLI)

コマンド:aws cognito-idp admin-get-user –user-pool-id ${userPoolId} –username ${userName}

実行例:

[cloudshell-user@ip-10-0-171-10 ~]$ aws cognito-idp admin-get-user --user-pool-id ${userPoolId} --username ${userName}
{
    "Username": "TestUser",
    "UserAttributes": [
        {
            "Name": "sub",
            "Value": "8a3deb09-03f5-413f-b4e4-af61ac584294"
        }
    ],
    "UserCreateDate": "2022-04-24T10:25:33.680000+00:00",
    "UserLastModifiedDate": "2022-04-24T11:15:04.821000+00:00",
    "Enabled": true,
    "UserStatus": "CONFIRMED"
}
[cloudshell-user@ip-10-0-171-10 ~]$ 

パスワードの再設定後の確認(AWS コンソール上)

AWSコンソール上でステータスを確認します。

参考

https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cognito-idp/admin-set-user-password.html

Last modified: 2022-04-24

Author