Trusted Advisor の S3 バケット許可チェックで「Not evaluated (permissions)」が表示される場合の対処法

Trusted Advisor の S3 バケット許可チェックで「Not evaluated (permissions)」が表示される場合の対処法

Clock Icon2025.06.04

はじめに

今回は、S3 バケットに IP 制限を設定している環境で発生する「Trusted Advisor がポリシーを評価できない」問題と、その解決方法について詳しく解説します。

問題

セキュリティ強化の一環として、S3 バケットに対して特定の IP アドレスからのみアクセスを許可する IP 制限を設定していました。
しかし、Trusted Advisorの S3 バケット許可チェックを確認すると、以下のような警告が表示されていました。

スクリーンショット 2025-06-03 13.45.12

そして、対象バケットの詳細を見るとこのようになっています。

スクリーンショット 2025-06-03 13.45.27

ステータス: ⚠️(警告マーク)

ポリシーでアクセスを許可: 日本語だと「権限されません(アクセス許可)」、英語だと「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 )のみ例外的にアクセス可能

となります。
ステータスも ⚠️(警告マーク)から ✅ に変わっています。

スクリーンショット 2025-06-03 14.14.43

注意点

  • ロール ID は各 AWS アカウントで異なります
  • 他のアカウントのロール ID を流用することはできません
  • 複数アカウント環境では、各アカウントで個別にロール ID の取得・設定が必要になります

まとめ

S3 バケットの IP 制限と Trusted Advisor の評価は、適切な設定により両立が可能です!

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.