[小ネタ] 権限があるのに IAM ユーザーのパスワード変更で権限エラーになる

[小ネタ] 権限があるのに IAM ユーザーのパスワード変更で権限エラーになる

はじめに

こんにちは、パオの人ことさすけです!
今回は、IAM ユーザーのログインパスワードを設定する際に、パスワードポリシー非準拠のものを設定するとどうなるのかという話です!

さっそく結論

小ネタ的内容なので、早速結論です!
パスワードポリシーに非準拠の場合、AccessDenied のエラーが出力されます、、!許可が足りないぞって怒られるんですねぇ。

はじめて知った時は「権限あるのに何でだ!」って思った覚えがあります(笑)

検証手順

さて、早速検証です。
今回は、以下の流れで検証を行なっていきます。

  1. テスト用 IAM ユーザーを作成(pao_test_password
  2. pao_test_password にポリシーを付与
    1. IAMUserChangePassword
    2. AWSCloudTrail_ReadOnlyAccess
  3. マネジメントコンソールにサインイン後、パスワードを変更
  4. パスワードポリシー非準拠のパスワードを入力し、エラーを確認

テスト用 IAM ユーザーを作成(pao_test_password) & ポリシー付与

まずは、検証手順の 1 ~ 2(テスト用ユーザーの作成および権限付与)まで行います。
画像の通り、自信のパスワードを変更する権限である IAMUserChangePassword と、エラーログ確認のために CloudTrail の読み取り権限である AWSCloudTrail_FullAccess を付与しています。

それぞれの詳細については、公式ドキュメント [1] [2] をご確認ください。

image-19

パスワードポリシー非準拠のパスワードに変更

次にパスワードポリシー非準拠のパスワードに変更を試してみましょう。[3]
前提としてパスワードポリシーは以下のようになっております。

image-15

変更後のパスワードとしては、「pk10pao」に変更します。
このパスワードは、「英数字以外の文字が必要」「アルファベットの大文字が必要」というポリシーに反しています。

すると、以下のようになりました。

image-16

CloudTrail にて確認

次に、CloudTrail にてエラーメッセージを確認してみましょう。
IAM ユーザーのパスワード変更は、リージョンをバージニア北部(us-east-1)にしてから検索してください。

以下のように、「ChangePassword」が AccessDenied となっておりました。

image-18

エラーメッセージを見てみると以下のようになっていました。
CloudTrail のエラーメッセージ「権限がない」ことによるエラーだと記されていますね。

"errorMessage": "User: arn:aws:iam::xxxxxxxxxxxx:user/pao_test_password is not authorized to perform: iam:ChangePassword on resource: user pao_test_password with an explicit deny in an identity-based policy"

まとめ

さて、検証にお付き合いいただきありがとうございました!
「パスワードポリシー非準拠のエラー = 権限不足」ということを覚えておくと、たまーに役に立つかもしれないので、頭の片隅にでも入れておくと良いかもしれません!

参考文献

[1] IAMUserChangePassword - AWS 管理ポリシー
[2] AWSCloudTrail_ReadOnlyAccess - AWS 管理ポリシー
[3] IAM ユーザーが自分のパスワードを変更する方法 - AWS Identity and Access Management

アノテーション株式会社

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.