あれ?ログインして使っているIAMユーザー自身とかIAMロールって削除できるんだっけ?を実際にやってみた
こんにちは、AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。
みなさんはAWSマネジメントコンソールにログインしている時に「あれ?今ログインしているユーザーや、スイッチロール中のIAMロールを削除するとどうなるんだっけ?」という破壊衝動に襲われたことはありませんか?
私はあります。
- スイッチロール中のIAMロールを削除すると、スイッチバックされるのか?(スイッチロール元のIAMユーザーに戻される?)
- ログイン中のIAMユーザーは削除できるのか?
- 正常に削除できた後にログアウト状態になるのか?
というイメージでしたが、確証がありませんので、今回ちょっと検証してみました。
※ 今回検証のため強い権限を持つIAMユーザーやIAMロールを作成しておりますが、通常利用される際は最小限の権限を付与するようにいたしましょう。
検証した3パターンと結果まとめ
以下のように3パターンを検証してみました。
結論からいうと、以下のような結果になりましたので動作に興味がある方のみ続きをご覧ください。
番号 | 誰が | 何を削除するか | 削除可否 | 削除後の挙動 |
---|---|---|---|---|
1 | IAMユーザー | ログイン中のIAMユーザー自身 | 削除可 | ログイン画面に遷移 |
2 | IAMロールにスイッチロール中のIAMユーザー | スイッチロール中のIAMロール | 削除可 | スイッチロールの画面に遷移。IAMユーザーにスイッチバックしたような形に。 |
3 | IAMロールにスイッチロール中のIAMユーザー | スイッチ元のIAMユーザー | 削除可 | IAMロールの権限はしばらく使えた。ユーザー削除後のためスイッチバックできない。サインアウト可。 |
1.ログイン中のIAMユーザーがIAMユーザー自身を削除
AWS管理の AdministratorAccess
のポリシーを持つIAMユーザーを用意しました。
IAMユーザーのダッシュボードに移動したので、削除を押下してみます。
どうなるか・・・
削除は完了しましたね。
画面を再読み込みしてみると、ログインの画面に遷移しました。
想定通りの挙動でした。
当然ですが、削除自体が正常に完了しているため、再度認証情報を入力してもログインできませんでした。
2.スイッチロールで使用中のIAMロールを削除
今回はAWS管理の AdministratorAccess
のポリシーを付与したIAMロールを作成しました。
そのIAMロールにスイッチロールします。
スイッチロール後に、IAMロールの一覧から自分がスイッチロールしているIAMロールを選択し削除を実行します。
問題なく削除できました
もう一度マネジメントコンソールの画面をリロードすると・・・
ロールの切り替え画面に戻りました。
スイッチロール中のIAMロールを削除したので、大体想像通りの動きですね。
「キャンセル」を押すことによりスイッチロール前の環境に戻りました(元のIAMユーザーにスイッチバックしたような形になりました)。
3.IAMロールにスイッチロール中にスイッチロール元のIAMユーザーを削除するとどうなるか
AWS管理の AdministratorAccess
のポリシーを持つIAMロールを用意し、そのIAMロールにスイッチロールできるIAMユーザーを用意しました。
用意したIAMユーザーとしてログインして、スイッチロールします。
IAMユーザーのダッシュボードに移動したので、削除を押下してみます。
どうなるか・・・
こちらも無事に削除完了しました。
画面を再度読み込みしてみたり、違う画面に移動したりしますが、スイッチロール中のIAMロールの権限で各種リソースの操作が可能でした。
試しにIAMユーザーでは許可されていないが、スイッチロール中のIAMロールで許可されているアクションを行いましたが、正常に操作できました。
自身の状態を確認してみると、表示上はユーザーでログインした後にスイッチロールしたままという形のようです。
スイッチバックを押下してみても画面上の変化はありませんが、サインアウトは実行できました。