CloudShellの永続ストレージは同名IAMユーザー再作成時にどうなるか検証してみた
こんにちは。テクニカルサポートチームのShiinaです。
はじめに
IAM ユーザの運用において、同じ名前の IAM ユーザーを削除し、再作成することはありませんか?
CloudShell では永続ストレージ($HOME)を利用できるため、ログデータや SSH 秘密鍵などを保存している方もいるかもしれません。
もし、永続ストレージに保存していたデータが新しいユーザーに引き継がれてしまったら、情報漏洩につながるのではないかと心配ですよね。
今回は同じ名前の IAM ユーザーを再作成した場合に CloudShell の永続ストレージ($HOME)がどのように扱われるのか、実際に検証してみました。
結論
IAM ユーザは一意の識別子をもっているため、同じ名前で IAM ユーザーを再作成しても、CloudShell の永続ストレージ($HOME)は引き継がれません。
再作成後は新しい環境が割り当てられ、以前のデータにアクセスできなくなります。
そのため、もし引き続き利用したいデータがある場合は、IAM ユーザーを削除する前に外部へ退避しておく必要があります。
検証してみた
IAM ユーザ CloudShellUser
を利用して確認してみます。
ファイルアップロード
東京リージョンの CloudShell を起動し、ファイルをアップロードします。
ホームディレクトリにファイル(Confidential_Document.zip)が存在することが確認できます。
IAM ユーザ再作成
IAM ユーザ CloudShellUser
を削除し、同じ名前で再作成します。
ホームディレクトリの確認
IAM ユーザ CloudShellUser
で AWS マネジメントコンソールにログインして、東京リージョンの CloudShell を起動してみます。
ホームディレクトリは空であることが確認できました。
CloudShell 起動時の CloudTrail ログを見てみる
IAM ユーザ CloudShellUser
の CloudTrail ログを確認してみました。
CreateEnvironment イベントと合わせて GetCallerIdentity イベントが記録されていることがわかります。
このことから、CloudShell は GetCallerIdentity API を利用して IAM ユーザの一意識別子を取得していると考えられます。
まとめ
同じ名前で IAM ユーザーを再作成しても、CloudShell の永続ストレージは新しいユーザーに引き継がれません。
そのため、過去のデータが新しいユーザーから参照されることはなく、情報漏洩の心配はありません。
もし、必要なデータがある場合は、ユーザー削除前に外部へ退避しておくことを忘れないようにしましょう!
本記事が参考になれば幸いです。
参考