IAMアクセスアドバイザーで最終アクセス日時を確認し、未使用の権限を削除する
こんにちは、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コンソールから簡単に確認できるのでとても便利な機能かと思います。