CloudWatch カスタムダッシュボードが閲覧できない問題の対処方法

CloudWatch カスタムダッシュボードでエクスプローラー機能を使う場合、"tag:GetResources"アクションを許可する必要があります。
2022.04.26

困っていた内容

CloudWatch カスタムダッシュボードを閲覧するために、IAM ユーザーに管理ポリシー: CloudWatchFullAccess に準ずる権限を追加しました。

CloudWatchFullAccess.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "autoscaling:Describe*",
                "cloudwatch:*",
                "logs:*",
                "sns:*",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:GetRole"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/events.amazonaws.com/AWSServiceRoleForCloudWatchEvents*",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "events.amazonaws.com"
                }
            }
        }
    ]
}

しかしながら、エラーが発生してしまいます。対処方法を教えてください。

CloudWatchダッシュボードのコンソール画面です。「アクセス権限がありません。」というエラーが発生しています。

どう対応すればいいの?

tag:GetResources アクションを許可する権限を IAM ユーザーに追加してください。

GetResources.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "tag:GetResources"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

どうして?

タグの読み取りアクションが許可されていない場合、CloudWatch ダッシュボードの取得に失敗します。

CloudWatch カスタムダッシュボードのエクスプローラー機能では、リソースを絞り込むために、タグの読み取りアクションを実行します。

「赤字で示されたタグとプロパティは、選択したメトリクスでは使用できません。」という警告メッセージの画像です。

そのため、タグを読み取りアクションを別途 IAM ユーザーに付与する必要があります。

参考資料

CloudWatch ダッシュボードへのメトリクスエクスプローラーウィジェットを追加する - Amazon CloudWatch