IAMアクセスアドバイザーで最終アクセス日時を確認し、未使用の権限を削除する

2021.03.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、yagiです。

本日は、AWSマネジメントコンソールからIAMアクセスアドバイザーを使ってサービスの最終アクセス日時を確認し、 未使用の権限を特定し削除する内容について記載します。

IAMアクセスアドバイザーとは


Identify unused IAM roles and remove them confidently with the last used timestamp

上記公式ブログに記載の通り、IAMアクセスアドバイザーを利用して、 最後に使用したタイムスタンプを確認することで、未使用の権限を特定し削除することが可能となります。

コンソール上で確認(IAMロールの場合)


先日作成したIAMロールをコンソールから表示させます。

ロールを選択して表示します。

「アクセスアドバイザー」のタブをクリックすると、ロールに付与されたサービスのアクセス許可と、これらのサービスが最後にアクセスされた時間が表示されます。

内容を確認すると、S3へのアクセスが4日前にありますが、GlueとKinesisへのアクセスはありません。 こちらは先日のブログ記事で、WAFログをS3へ格納するKinesisFirehoseを設定するために作成したロールなので、確かにGlueとKinesisへのアクセスは必要ありません。未使用のポリシーとして特定できたので削除できます。

また、4日前にアクセスしたS3の「ポリシーのアクセス権限」をクリックすると、以下が表示されます。

「アクセスログの詳細については、「AWS CloudTrail」を参照してください 」と表示されコンソール上のCloudTrailへ遷移できます。 ただし、S3 のデータイベントに関して確認を行う場合は、S3のバケットに配信された CloudTrail ログをAthenaでクエリして確認する必要があります。 (コンソール上から確認できるCloudTrail イベント履歴には管理イベントのみが記録されるため)

結論


IAMアクセスアドバイザーを使って、未使用の権限を特定し削除する内容をご紹介しました。

AWSコンソールから簡単に確認できるのでとても便利な機能かと思います。

参考リンク


【新機能】AWS IAMに各サービスから最後に使った日時を確認できる「アクセスアドバイザー」タブが追加