Edited at

[AWS] IAMユーザーを擬似セッションタイムアウト(要MFA)


目的

IAMユーザーにはセッション切れがありません。

一度マネジメントコンソールにログインしたら、ブラウザを開いている間はずっとセッションが有効です。

※訂正:12時間で切れます。

 https://aws.amazon.com/jp/console/faqs/#session_expire

それほど問題になるケースは無いかもしれませんが、例えば通常よりも強いAdminやPowerUserなどの権限を持つ"特権ユーザー"を利用する場合、ログインしっぱなしは防止したいところ。

ということで、擬似的にセッションタイムアウトさせてみます。


方法

ログインから一定時間経過後に、全ての権限を禁止(Deny)するポリシーを付与します。

尚、MFA必須です。他にログイン時間を基準にする方法がないので。


ポリシー例

{

"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NumericGreaterThanIfExists": {
"aws:MultiFactorAuthAge": "3600"
}
}
}
]
}



  • "aws:MultiFactorAuthAge" は秒数です。

    このポリシー例の場合は 3600秒 = 1時間。

  • MFAなしでログインした場合は、"常に全てDeny"になります。


注意


  • 「最後の操作から一定時間経過後」ではないことに注意。

    何か作業途中であろうと、ログインから一定時間で問答無用で権限が剥奪されます。