[アップデート] S3 アクションの最終実行履歴が IAM からカンタンに確認できるようになりました

2020.06.04

ちゃだいん(@chazuke4649)です。

IAM にて、S3管理アクションレベルの最終実行履歴がカンタンに確認できるようになりました!

To help you identify unused S3 permissions, AWS Identity and Access Management (IAM) extended service last accessed information to include S3 management actions and reports the last time a user or role used an S3 action. This granular access information helps you analyze access, identify unused S3 actions, and remove them confidently.

引用元:Tighten S3 permissions for your IAM users and roles using access history of S3 actions

どういうこと?

まず初めに、IAM には「アクセスアドバイザー」という機能があります。

IAM のサービスの最終アクセス時間データの表示 - AWS Identity and Access Management

この画面では、各IAMエンティティ(ユーザー、ロール、グループなど)単位で、AWSサービスごとの最終アクセス時間が見れることができます。

詳しくは過去のアクセスアドバイザーに関するエントリをご覧ください。

ただし、今まではサービスレベルなので、「実際にそのサービスでどんなことをしたのか」までは判別できませんでした。

それが、まず一発目として「S3はアクションレベルまで見れるようにしたよ!」というのが今回のアップデートです。

何が嬉しいの?

これをどう役立てられるかというと、例えば各ユーザーのS3アクションの権限を具体的に最小限にしぼりたい時に有効です。

各アクションレベルで「使ったことがある・使ったことがない」が簡単に識別できるので、未使用のアクションの権限を削除する判断がしやすくなるのではないでしょうか。

実際に確認してみる

実際にIAMコンソールで確認してみます。

今回は、すでに作成されているIAMユーザーの情報を参照します。

IAMコンソールから、ユーザーを開き、対象のユーザーTestUserAを開きます。

タブの中から「アクセスアドバイザー」を開きます。
ここでは各サービスレベルの最終アクセス時間が表示されています。

真ん中のお知らせ窓で「S3管理アクションで最終アクセス時間情報を使用できます」と表示されていますね。 現時点では他のサービスと違い、Amazon S3 だけサービス名が青文字のリンクになっています。

Amazon S3 を開きます。

すると、アクションレベルの最終アクセス時間が表示されていることが確認できました。

アクセスされたリージョンもサービスレベルにはなかった情報ですね。

終わりに

CloudTrailでS3アクションは追えたとしても、ユーザー管理という視点で、IAMコンソールやIAMのCLIから、ユーザーやロール別で最終アクセル履歴を見ることができるのは嬉しいですね。

それではこの辺で。ちゃだいん(@chazuke4649)でした。