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

2015.12.10

こんにちは、せーのです。
今日はIAMの運用管理に便利な新機能をご紹介します。「アクセスアドバイザー」といいます。

何に使うのか

アクセスアドバイザーはIAMの各リソース(User, Group Role Policy)がそれぞれ各サービスから使われた最後の日時を表示しています。これがわかると何に役立つのでしょう。それはスバリ、適切な権限ポリシーの調整に使えるのです。
IAMで権限を設定するのはとにかく複雑です。どのサービスからどのサービスのどういう操作を許可するのか、のようなポリシー設定を事前に要件として把握し、使わないサービスの操作は行わせないといった細かい設定がセキュリティ上必要になるわけですが、最初のうちはそんなに要件が固まっていなかったりして、「とりあえずPowerUserを」みたいな方も多いかと思います。「アクセスアドバイザー」をみればそのユーザー、そのロールの権限はどのサービスからいつ使われていたのかが一覧で表示されるので、1ヶ月運用してみて必要なかった権限をばっさりカットする、というような調整が簡単にできるようになります。

見てみた

では早速やっていきましょう。といっても今回はタブがどーん、と表示されているだけなので特にやることもないのですが。

IAM User

ではまず試しに私が普段使っているIAMユーザーのアクセスアドバイザーを見てみます。

accessadvisor1

使っているサービスには最終での使用日時が書かれています。CloudSearchやECSはこのIAMからは触っていないようです。これが例えば会社でスタッフに配布しているIAMであればCloudSearchとECSの権限をこのIAMから削除することを検討する、という運用になるかと思います。

IAM Group

同じようにグループでも

accessadvisor2

そのグループから使われたAWSサービスが確認できます。

IAM Role

またIAM Roleも同じように確認できます。見てみましょう。

accessadvisor3

これはAWS IoTのRule EngineからSNSを叩く際に作ったIAM Roleです。このように権限上SNSしか触れない場合はSNSしか出てこないんですね。こういう気配りはいいですね。

accessadvisor4_1

これはLambdaからDynamoDBを叩く時に作ったIAM Roleです。追跡対象が2015/10/01からなので、恐らくその前に作って、一回使って、そのまま放置しているのかと思います。こういうIAM Roleは要らないので消してしまってもいいですね。

IAM Policy

最後にポリシーそのものにもアクセスアドバイザーがついていますので見てみましょう。

accessadvisor6

これはAWS管理ポリシーのS3FullAccessのアクセスアドバイザーです。しばらく使っていないようですね。

accessadvisor5

一方これはカスタムで作ったらしい「UsersManageOwnCredentials」というポリシーです。ポリシー自体がどこのRoleやUserにもアタッチされていない場合はこのような表示になるんですね。これは迷わず消してよさそうです。

まとめ

いかがでしたでしょうか。今回の昨日はAWSの管理を任されている方などには細やかなチェックができてとても助かる機能ですね。 またIAM自体がよくわからない、という方はAWSがわかりやすい解説スライドを公開しているのでこちらも参考にしてみてください。

[slideshare id=49536206&doc=20150617aws-blackbelt-iam-150618035539-lva1-app6892]

参考リンク