新規IAMユーザーが初回ログイン時に、初期パスワード変更しようとすると「iam:ChangePassword を実行する権限が無い〜」のエラーとなってしまいます

質問・問題

ユーザー自身のパスワードを変更できるよう「iam:ChangePassword」の権限は付与していますが、新規IAMユーザーが初回ログイン時に、初期パスワード変更しようとすると以下エラーが表示され、パスワードが変更できません。変更時パスワードはパスワードポリシーにも準拠しています。

ユーザーに iam:ChangePassword を実行する権限がないか、
入力されたパスワードが管理者によって設定されたアカウントパスワードポリシーに準拠していません

また、IAM ユーザーに MFA デバイスの自己管理を許可したいため、以下ドキュメントに記載のポリシーを割り当てています。

IAM: IAM ユーザーに MFA デバイスの自己管理を許可する
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html

 

回答・解決方法

AWSドキュメントに記載の以下のポリシーは、

{
	"Sid": "BlockMostAccessUnlessSignedInWithMFA",
	"Effect": "Deny",
	"NotAction": [
		"iam:CreateVirtualMFADevice",
		"iam:EnableMFADevice",
		"iam:ListMFADevices",
		"iam:ListUsers",
		"iam:ListVirtualMFADevices",
		"iam:ResyncMFADevice"
    ],
    "Resource": "*",
    "Condition": {
		"BoolIfExists": {
		    "aws:MultiFactorAuthPresent": "false"
		}
    }
}
  • Condition: ユーザーが MFA を使って認証されていない場合
  • NotAction: 指定されているアクション以外は
  • Effect: Deny(禁止する)

という制御を行うポリシーが含まれており、初回ログイン時はMFAが未設定のため「iam:ChangePassword」の権限が許可されない状態となっています。

以下のように「NotAction」に「iam:ChangePassword」を追加することで、本事象を解決することが可能です。

		    "NotAction": [
				"iam:CreateVirtualMFADevice",
				"iam:EnableMFADevice",
				"iam:ListMFADevices",
				"iam:ListUsers",
				"iam:ListVirtualMFADevices",
				"iam:ResyncMFADevice",
				"iam:ChangePassword"
		    ],

 

【参考記事】

IAM: IAM ユーザーに MFA デバイスの自己管理を許可する
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html

MFA 条件を指定した IAM ポリシー
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください