0
0

【AWS】中途半端な権限ポリシーでMFA登録解除・削除を行うとどうなるか

Posted at

IAMアクションでiam:DeactivateMFADevice の権限をもっていて、iam:DeleteVirtualMFADevice の権限を持っていないユーザーが、マネジメントコンソールからMFAの削除を実行したら少し面倒な状態になるので、どういった状態になるか紹介します。

参考ドキュメント

How can I troubleshoot the "entity already exists" error when an IAM user tries to create a new MFA device?

実際にためしてみる

今回qiitaというIAMユーザーに対して、MFAデバイス名もqiitaというMFAを割当ています。

またこのqiitaユーザーにはMFAの登録解除(iam:DeactivateMFADevice)の権限はもっているが、MFAデバイスの登録削除(iam:DeleteVirtualMFADevice)権限をもたないポリシーを作成しアタッチしました。

この条件のユーザーで自分の認証情報の画面からMFAの削除を実行します。

image.png

削除を選択

image.png

エラーが発生しました。

User: arn:aws:iam::xxxxxxxxxxxx:user/qiita is not authorized to perform: iam:DeleteVirtualMFADevice on resource: arn:aws:iam::xxxxxxxxxxxx:mfa/qiita because no identity-based policy allows the iam:DeleteVirtualMFADevice action. 仮想 MFA デバイスは非アクティブ化されていますが、削除されていません。CLI または API を使用してデバイスを削除するよう管理者に依頼してください。

image.png

画像を確認してもらうとわかりますが、自分の認証情報からMFAの登録は消えており一件しただけだと正常に消えているようにみえます。

ただし、エラーメッセージを読む、CLI または APIで削除するように管理者に依頼となっています。

この状態で同名のMFAデバイスを登録しようとどうなるか

先ほどはqiitaというデバイス名だったので、同名で作成しています。

image.png

エラーが発生しました。

image.png

先ほど削除したはずですが、MFA device already exists.が発生します。

これはどういう状態化というと、

ユーザーからMFAデバイスの登録は外れていますが、MFAデバイス自体は削除できておらず残っている状態となっています。

前述したエラーメッセージは管理者にデバイスの削除を依頼とメッセージにでていましたが、この状態になるとマネジメントコンソールからMFAデバイスの削除は現状無理なようです。

管理者でaws-cliからMFAデバイスを削除する

How can I troubleshoot the "entity already exists" error when an IAM user tries to create a new MFA device?

re:PostのナレッジにMFAのdeactiveとdeleteについて記事があるのでこちらを参考にして削除していきます。

まずはqiitaとは違い、MFAの参照と削除も行える管理者権限でログインしてCloudShellからMFAデバイスの登録を確認していきます。

aws iam list-virtual-mfa-devices

image.png

今回登録したMFAデバイスqiitaのデバイスがまだ残っている事が確認できます。

マネジメントコンソール上では出てきませんが、このように裏では残っている状態となっています。

こちらを下記のaws-cliコマンドから削除していきます。

# 先ほど参照してmfaのシリアルナンバーをパラメータとして実行
aws iam delete-virtual-mfa-device --serial-number arn:aws:iam::xxxxxxxxxxxx:mfa/qiita

# 削除できたか再度一覧を取得し確認
aws iam list-virtual-mfa-devices

image.png

総評

MFA周りの権限ポリシーをいじっていたら、このような状態が発生したので忘備録としてメモ

MFAデバイスはユーザーから無効化するdeactiveといった状態と、MFAデバイス自身を削除するdeleteといった状態の2種類がある事を認識していないと、最初すこし混乱する気がします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0