
Amazon Cognitoのユーザー属性とは?
Amazon Cognitoのユーザー属性とは、ユーザーの情報(氏名、メールアドレス、電話番号、ニックネームなど)を保存・管理するためのキーと値のペアです。
ユーザー登録や認証時に扱う情報で、Cognitoユーザープールに紐づいています。
ユーザー属性にはカスタム属性という自分で任意の名前で定義できる属性を「custom:」プレフィックスを付けて追加することもできます。

awsコマンドでユーザー属性を変更する方法
Amazon Cognitoのユーザー属性はawsコマンドを使用して変更することができます。
awsコマンドはmacならHomebrewを使用すれば、以下のコマンドだけでインストールできます。
brew install awscli
Windowsは以下の公式リンクから .msi インストーラーをダウンロードしてインストールします。
https://awscli.amazonaws.com/AWSCLIV2.msi
インストール後に「aws --version」を実行して、バージョンが表示されたらインストール完了です。
$ aws --version
aws-cli/2.27.55 Python/3.13.5 Darwin/24.5.0 source/x86_64
IAMポリシーに適切な許可を追加する
Cognitoのユーザー属性を変更するには、IAMポリシーに適切な許可の追加が必要です。
「IAM」→「ユーザー」→「testuser」→「ポリシーの編集」でJSON形式で以下のように入力して、Cognitoのユーザー属性の変更を許可します。
JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cognito-idp:AdminUpdateUserAttributes"
],
"Resource": "arn:aws:cognito-idp:us-east-1:063472473735:userpool/us-east-1_zBR3FyXyz"
}
]
}

ポリシーエディタはJSON形式ではなくビジュアル形式で入力することも可能です。

あとはターミナルで以下のように変更したい属性の値を指定してコマンドを実行すれば、Amazon Cognitoのユーザー属性をawsコマンドで変更できます。
aws cognito-idp admin-update-user-attributes \
--region us-east-1 \
--user-pool-id T \
--username "example@gmail.com" \
--user-attributes Name="custom:age",Value="11"
下図はcustom:ageの値が「10」のものを「11」に変更した際のものです。
