shiichan

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

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

AWS What's New aws.amazon.com

なにが発表されたの?

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 にユーザーを移行しようとしていたチームには、移行のハードルをぐっと下げてくれるアップデートだったよ!