Trusted Advisor の S3 バケット許可チェックで「Not evaluated (permissions)」が表示される場合の対処法
はじめに
今回は、S3 バケットに IP 制限を設定している環境で発生する「Trusted Advisor がポリシーを評価できない」問題と、その解決方法について詳しく解説します。
問題
セキュリティ強化の一環として、S3 バケットに対して特定の IP アドレスからのみアクセスを許可する IP 制限を設定していました。
しかし、Trusted Advisorの S3 バケット許可チェックを確認すると、以下のような警告が表示されていました。
そして、対象バケットの詳細を見るとこのようになっています。
ステータス: ⚠️(警告マーク)
ポリシーでアクセスを許可: 日本語だと「権限されません(アクセス許可)」、英語だと「Not evaluated (permissions)」と表示されます。
セキュリティのために設定した IP 制限が、Trusted Advisor の正常な評価を妨げている状況が発生していました。
解決方法
IP 制限によるセキュリティを維持しながら、Trusted Advisor サービスのみ例外的にアクセスを許可するポリシーを作成します。
手順1. Trusted Advisor のロール情報取得
まず、Trusted Advisor が使用するサービスロールの情報を取得します。
aws iam get-role --role-name AWSServiceRoleForTrustedAdvisor
実行結果から、RoleId
の値をメモしてください。
{
"Role": {
"RoleId": "AROAXXXXXXXXXXXXXXXXX",
"RoleName": "AWSServiceRoleForTrustedAdvisor",
...
}
}
手順2. バケットポリシーの修正
既存の IP 制限を維持しながら、Trusted Advisor のRoleId
を例外として追加します。
修正前
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::your-bucket-name",
"arn:aws:s3:::your-bucket-name/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"xxx.xxx.xxx.xxx/32",
"yyy.yyy.yyy.yyy/32"
]
}
}
}
]
}
修正後
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::your-bucket-name",
"arn:aws:s3:::your-bucket-name/*"
],
"Condition": {
"StringNotLike": {
"aws:userid": "AROAXXXXXXXXXXXXXXXXX:*"
},
"NotIpAddress": {
"aws:SourceIp": [
"xxx.xxx.xxx.xxx/32",
"yyy.yyy.yyy.yyy/32"
]
}
}
}
]
}
この設定により
- 一般ユーザーは引き続き IP 制限の対象
- Trusted Advisor サービス(指定したロール ID )のみ例外的にアクセス可能
となります。
ステータスも ⚠️(警告マーク)から ✅ に変わっています。
注意点
- ロール ID は各 AWS アカウントで異なります
- 他のアカウントのロール ID を流用することはできません
- 複数アカウント環境では、各アカウントで個別にロール ID の取得・設定が必要になります
まとめ
S3 バケットの IP 制限と Trusted Advisor の評価は、適切な設定により両立が可能です!
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。