本日も乙

ただの自己満足な備忘録。

AWS IAMユーザのパスワードポリシーを変更した後の挙動について

長年の悪習であった、「パスワードの定期的変更」がようやく見直しがはいったのは記憶に新しいと思います。
今後は「定期的な変更」ではなくて、「パスワードの使い回しをしない」「強固なパスワードにする」が主流になってきます。
パスワード定期的変更は「不要」 国が方針変更、根拠は:朝日新聞デジタル

1Passwordのようなパスワード管理ツールを使わない場合、人はつい平易なパスワードにしてしまいがちになります。平易なパスワードを防ぐにはシステム側でパスワードポリシーを定めて設定できないようにするのが最も有効な手段です。

AWS IAMユーザのパスワードにもパスワードポリシーを設定できるのですが、パスワードポリシーを強くした後、既存のパスワードだとどうなってしまうのかがわからなかったので調べてみました。

ドキュメントから調べる

ドキュメントに書いていました。

パスワードポリシーを作成または変更する場合、パスワードポリシーの設定の多くは、ユーザーが次回パスワードを変更するときに適用されます。ただし、一部の設定はすぐに適用されます。例:

  • 最小長と文字タイプの要件を設定すると、その設定はユーザーが次回パスワードを変更するときに適用されます。既存のパスワードが更新されたパスワードポリシーに従っていない場合でも、ユーザーは既存のパスワードの変更を強制されません。

  • パスワードの有効期限を設定した場合、有効期限は直ちに適用されます。たとえば、パスワードの有効期限を 90 日に設定したとします。この場合、現在使用しているパスワードが 90 日より古いすべての IAM ユーザーは、次回のサインイン時にパスワードの変更を求められます。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_passwords_account-policy.html

パスワードの有効期限を有効にしない(=定期的な変更をしない)場合、既存(弱いパスワードポリシー)のパスワードでログインができてしまい、かつパスワード変更の強制もありません。IAMユーザ自身がパスワード変更する際に新しいパスワードポリシーが適用されます。

試してみる

実際に試してみました。

まずは脆弱なパスワードポリシーとして、「6文字以上」のみを条件とし、既存のIAMユーザのパスワードも脆弱なものに変更しました(例: 1234password など)。

次に強固なパスワードポリシーに設定しました。今回は以下のポリシーとしました。

  • 16文字以上
  • 大文字、小文字、数字、記号がそれぞれ最低1文字以上含む

iam-password-policy

GUIのキャプチャは省略しますが、既存の弱いパスワードでログインした後、特にパスワード変更が求められませんでした。

まとめ

AWS IAMユーザのパスワードポリシーを変更した後の挙動について調べてみました。
既存IAMユーザへの影響が最小限に済むようになっているのは理解できますし良いのですが、定めたパスワードポリシーに沿って設定されていることを確実に行いたいのであれば、やはり強制的にパスワード変更を促すような仕組みをAWS側で提供してほしいですね。

参考文献

今日のつぶやき

春先に英語が必要になるので急いで勉強中です。全般的に英語力が低いのですが、中でもリスニングは苦手です。元々耳があまり良くなくて日本語でさえ聞き逃したり聞き返すことがしばしばあるのに英語だと何を言っているのがさっぱりわかりません。。。耳がよければリスニングの上達スピードが上がるのになぁ・・・