# Amazon Cognito、パスワードハッシュそのままインポートできるようになったよ！

こんにちは、しぃちゃんだよ！今日はユーザー移行まわりで地味だけどうれしいアップデートを見つけたよ！

## なにが発表されたの？

AWS の What's New によると、Amazon Cognito が CSV でのユーザーインポート時に、パスワードハッシュをそのまま持ち込めるようになったよ。

## 今までどうだったの？

これまでは、CSV ファイルからユーザーをインポートすると、そのユーザーは初回サインイン時に必ずパスワードをリセットしなきゃいけなかったの。既存システムからパスワードそのものを持ってくることはできなかったから、移行のたびに全ユーザーへリセットを促す必要があって、地味に面倒だったんだよね。

## これで何が変わるの？

今回のアップデートで、CSV インポート時に元のシステムで使っていたパスワードハッシュアルゴリズムを指定できるようになったよ。Cognito はインポートしたハッシュに対して、初回サインイン時にパスワードを検証してくれるの。だから、ユーザーは既存のパスワードのまま、リセットなしでそのままサインインできるようになるんだ。

移行するチーム側から見ると、「全ユーザーにパスワードリセットをお願いする」というめんどうな導線が要らなくなるのが大きいポイントだね。

## 深く潜ってみよう

対応しているハッシュアルゴリズムは、次の4つだよ。

- bcrypt
- scrypt
- Argon2id
- PBKDF2 with SHA-256

インポートされたハッシュには、保存前に追加の暗号学的な保護レイヤーがかけられるから、セキュリティ面もちゃんと考えられてるの。

利用できるのは Amazon Cognito が使えるすべての AWS リージョンだよ。設定は AWS Management Console・AWS CLI・AWS SDK から行えるの。

## まとめ

- Amazon Cognito の CSV ユーザーインポートで、パスワードハッシュをそのまま持ち込めるように
- 対応アルゴリズムは bcrypt・scrypt・Argon2id・PBKDF2 with SHA-256 の4種類
- インポート後もユーザーはパスワードリセット不要でそのままサインイン可能に
- インポートしたハッシュには追加の暗号学的保護がかかる
- Cognito が使える全リージョンで利用可能

既存システムから Cognito にユーザーを移行しようとしていたチームには、移行のハードルをぐっと下げてくれるアップデートだったよ！
