マネジメントコンソールでスイッチロールした場合は強制サインアウトしません!

AWS運用自動化サービス「Cloud Automator」

こんにちは。ポインコと暮らしているエンジニアの高橋です。
先日の節分、弟が恵方巻を食していましたが、今回はそれに関連してスイッチロールの小ネタです。

AWSマネジメントコンソールのログインセッション

AWSマネジメントコンソールにサインイン後、12時間が経過すると以下のようにログインセッションが失効し、強制サインアウトします。

よくある質問 / セッションはいつ失効しますか?
https://aws.amazon.com/jp/console/faqs/

スイッチロールした場合

ではマネジメントコンソールでスイッチロールした場合はどうなるか? 私は以下の情報から1時間で同様にセッションが切れると思っていたのですが…

IAM ロールを使用する / ロールを使用するためのメソッドの比較
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_use.html

強制サインアウトしません!

正確にはログインセッションの有効期限は切れるのですが、認証情報が自動的に更新されるそうです。よって、1時間経過しても「もう一度サインインしてください」と言われることはありません。なぜ1時間の有効期限があるのに自動的に更新されるのかは謎ですが、そういう仕様になっています。(2020年2月現在)

強制サインアウトしたい場合はどうすればいいのか

強制サインアウトの代替案としては、カスタムIDブローカーを使用する方法があります。

カスタム ID ブローカーに対する AWS コンソールへのアクセスの許可
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html

詳しい手順はドキュメントを参照していただきたいですが、(自動更新されない)セッション有効期限付きマネジメントコンソールのURLを生成することができます。URLのセッション有効期限は900秒(15分)から43200秒(12時間)の間で設定可能です。

あとがき

セッションがずっと切れないのは便利な反面、セキュリティ面ではあまりよろしくない部分でもあるかと思います。マネジメントコンソールでの操作が終わったらすぐにサインアウトするのはもちろんですが、必要に応じて先述の仕組みを導入するなど、正しく仕様を理解した上で対策することが肝要、と兄が言っていました。

それではまた、ごきげんよう。

AWS運用自動化サービス「Cloud Automator」