Amazon Cognitoのユーザー属性をawsコマンドで変更する方法

Amazon Cognitoのユーザー属性とは?

Amazon Cognitoのユーザー属性とは、ユーザーの情報(氏名、メールアドレス、電話番号、ニックネームなど)を保存・管理するためのキーと値のペアです。

ユーザー登録や認証時に扱う情報で、Cognitoユーザープールに紐づいています。

ユーザー属性にはカスタム属性という自分で任意の名前で定義できる属性を「custom:」プレフィックスを付けて追加することもできます。

Amazon Cognitoのユーザー属性をawsコマンドで変更する方法

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"
		}
	]
}
IAMポリシーに適切な許可を追加する(JSON)

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

IAMポリシーに適切な許可を追加する(ビジュアル)

あとはターミナルで以下のように変更したい属性の値を指定してコマンドを実行すれば、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」に変更した際のものです。

Amazon Cognitoのユーザー属性をawsコマンドで変更する方法
カテゴリーaws