あれ?ログインして使っているIAMユーザー自身とかIAMロールって削除できるんだっけ?を実際にやってみた

2022.08.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。

みなさんはAWSマネジメントコンソールにログインしている時に「あれ?今ログインしているユーザーや、スイッチロール中のIAMロールを削除するとどうなるんだっけ?」という破壊衝動に襲われたことはありませんか?

私はあります。

  • スイッチロール中のIAMロールを削除すると、スイッチバックされるのか?(スイッチロール元のIAMユーザーに戻される?)
  • ログイン中のIAMユーザーは削除できるのか?
    • 正常に削除できた後にログアウト状態になるのか?

というイメージでしたが、確証がありませんので、今回ちょっと検証してみました。

※ 今回検証のため強い権限を持つIAMユーザーやIAMロールを作成しておりますが、通常利用される際は最小限の権限を付与するようにいたしましょう。

検証した3パターンと結果まとめ

以下のように3パターンを検証してみました。

pattern

結論からいうと、以下のような結果になりましたので動作に興味がある方のみ続きをご覧ください。

番号 誰が 何を削除するか 削除可否 削除後の挙動
1 IAMユーザー ログイン中のIAMユーザー自身 削除可 ログイン画面に遷移
2 IAMロールにスイッチロール中のIAMユーザー スイッチロール中のIAMロール 削除可 スイッチロールの画面に遷移。IAMユーザーにスイッチバックしたような形に。
3 IAMロールにスイッチロール中のIAMユーザー スイッチ元のIAMユーザー 削除可 IAMロールの権限はしばらく使えた。ユーザー削除後のためスイッチバックできない。サインアウト可。

1.ログイン中のIAMユーザーがIAMユーザー自身を削除

AWS管理の AdministratorAccess のポリシーを持つIAMユーザーを用意しました。

IAMユーザーのダッシュボードに移動したので、削除を押下してみます。

ready_to_delete_iam_user

どうなるか・・・

delete_iam_user_confirmation

削除は完了しましたね。

delete_iam_user_completed

画面を再読み込みしてみると、ログインの画面に遷移しました。

想定通りの挙動でした。

session_out

当然ですが、削除自体が正常に完了しているため、再度認証情報を入力してもログインできませんでした。

2.スイッチロールで使用中のIAMロールを削除

今回はAWS管理の AdministratorAccess のポリシーを付与したIAMロールを作成しました。

role_for_delete_test

そのIAMロールにスイッチロールします。

スイッチロール後に、IAMロールの一覧から自分がスイッチロールしているIAMロールを選択し削除を実行します。

ready_to_delete_role

問題なく削除できました

delete_iam_role_completed

もう一度マネジメントコンソールの画面をリロードすると・・・

ロールの切り替え画面に戻りました。

スイッチロール中のIAMロールを削除したので、大体想像通りの動きですね。

failed_continuous_switch_role

「キャンセル」を押すことによりスイッチロール前の環境に戻りました(元のIAMユーザーにスイッチバックしたような形になりました)。

3.IAMロールにスイッチロール中にスイッチロール元のIAMユーザーを削除するとどうなるか

AWS管理の AdministratorAccess のポリシーを持つIAMロールを用意し、そのIAMロールにスイッチロールできるIAMユーザーを用意しました。

用意したIAMユーザーとしてログインして、スイッチロールします。

IAMユーザーのダッシュボードに移動したので、削除を押下してみます。

ready_to_delete_user_with_switch_role

どうなるか・・・

delete_confirmation_delete_iam_user2

こちらも無事に削除完了しました。

delete_complete_iam_user_with_switch_role

画面を再度読み込みしてみたり、違う画面に移動したりしますが、スイッチロール中のIAMロールの権限で各種リソースの操作が可能でした。

試しにIAMユーザーでは許可されていないが、スイッチロール中のIAMロールで許可されているアクションを行いましたが、正常に操作できました。

自身の状態を確認してみると、表示上はユーザーでログインした後にスイッチロールしたままという形のようです。

whoami_after_delete_user

スイッチバックを押下してみても画面上の変化はありませんが、サインアウトは実行できました。

console