忘れた頃にユーザー追加やMFAで登録していた端末を変更した時によく陥る現象。
原因も対策もなんてことはないけど、ググってもあんまりそれっぽいのが出てこないので備忘録として残します。
直面する問題
ユーザーにアクセス権限(ポリシー)を付与しているのにAWS マネジメントコンソールでアクセス権がないと言われ、インスタンスなど表示してもらえない。
「you are not authorized to ~」 なので権限がないと言われているっぽい。
ユーザーを追加した時に、全ての権限を付与したはずなのに・・・?と思ったけど、よくよく考えて見たらポリシーにMFAデバイス認証つけてた。
ちなみに自分たちで追加したMFAデバイス認証はこんな感じ。(検索すると公式も出てくる)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAllUsersToListAccounts",
"Effect": "Allow",
"Action": [
"iam:ListAccountAliases",
"iam:ListUsers",
"iam:GetAccountSummary"
],
"Resource": "*"
},
{
"Sid": "AllowIndividualUserToSeeAndManageOnlyTheirOwnAccountInformation",
"Effect": "Allow",
"Action": [
"iam:ChangePassword",
"iam:CreateAccessKey",
"iam:CreateLoginProfile",
"iam:DeleteAccessKey",
"iam:DeleteLoginProfile",
"iam:GetAccountPasswordPolicy",
・・・中略・・・
{
"Sid": "BlockAnyAccessOtherThanAboveUnlessSignedInWithMFA",
"Effect": "Deny",
"NotAction": "iam:*",
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
原因
アクセス権限(ポリシー)は付与していたけど、MFAデバイスの割り当てをまだ設定していなかったから、EC2インスタンス等の表示がブロックされていたみたい。
対策
ログイン後に「IAM→ユーザー→認証情報→ MFA デバイスの割り当て」でMFAのデバイスを登録する。
(こちらに詳しい設定方法が記載されてます → 「AWSでMFA(二段階認証)を有効にする方法を超丁寧に説明するよ」)
しかし、そのままEC2のダッシュボードに行ってもまだ権限がないと言われる。
一度サインアウトして、MFAデバイス認証を突破しないと見せませんよ、ってことらしいです。
もう忘れない。
参考
参考にさせていただきました。ありがとうございます。
[チュートリアル: ユーザーが自分の認証情報および MFA を設定できるようにする]
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html
[MFA 条件を指定したサンプルポリシー]
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_sample-policies.html
[AWSでMFA(二段階認証)を有効にする方法を超丁寧に説明するよ]
https://qiita.com/viptakechan/items/6d19aee635b2ab189e47