古いAWSマネージドポリシー「AWSConfigRule」の利用を特定する方法

AWS Configのために利用するAWSConfigRoleポリシーが廃止になっているのでその調査方法をまとめました。
2022.10.21

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

こんにちは、臼田です。

みなさん、CloudTrailでログ眺めてますか?(挨拶

今回はログを眺めていて気づいたAWS Configの問題の解決策を備忘録としてまとめます。

ConfigのIAM RoleがAccessDeniedを出していた

あるときCloudTrailのログを眺めていたら、ポツポツとAccessDeniedのエラーコードが目についたので確認してみると、GlueのListJobsに失敗しているログを確認しました。Configのクローリングのようなので、マネージドポリシーを利用しているのにおかしいなーと思いました。

AWS Configのクローリングでエラーが出ること自体は不思議ではありません。他にもリソース自体が存在していなくてInvalidRequestExceptionRegistryPolicyNotFoundExceptionが出たりしています。

しかしAccessDeniedだけは別です。これは権限がないということなので、そもそも前提がおかしいです。AWSのマネージドなサービスをマネージドなポリシーを利用していたら本来でません。

AWSConfigRoleの廃止

というわけで調べてみたら、Config用のRoleにアタッチされていたAWSConfigRoleというポリシーが2022年7月5日に廃止されていました。

AWS Config の AWS 管理ポリシー AWSConfigRole に関する変更 | Amazon Web Services ブログ

継続した利用自体はできますが、ポリシーがメンテナンスされないため、今回のエラーにつながっていました。

後継としてAWS_ConfigRole(アンダーバーがついただけ)というポリシーが出ていますのでこちらに置き換える必要がありました。

AWSConfigRole利用の特定

上記AWSブログではConfig Aggregatorと高度なクエリを使ってマルチアカウントで古いポリシーの利用を特定する方法が書いてありました。

しかし、単一アカウントでこのポリシーの利用を確認する方法はもっと簡単なものがありますのでここではそれを紹介します。

IAMポリシーの画面からAWSConfigRoleの詳細ページで「ポリシーの使用状況」タブを表示することで対象のIAMエンティティを確認できます。

URLとしては下記です。

https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSConfigRole$serviceLevelSummary?section=attached_entities

しっかりとこの画面で「このポリシーは廃止されました。」と出ていますね。

ポリシーの更新が必要な場合は、新しいポリシーをアタッチし、古いものを外しましょう。

まとめ

AWS Configの古いポリシーの利用を特定する方法を紹介しました。

IAMポリシーの「ポリシーの使用状況」は他にも使えるので覚えておいて損がない要素ですね。