CloudWatch Logsの送信先ポリシーが過剰なアクセスを許可している

ログサブスクリプションに必要な送信元と操作だけを許可してください。

説明

CloudWatch Logsの送信先ポリシーに不要なワイルドカード操作や制限のないプリンシパルがあると、ログサブスクリプションを関連付けられる範囲が広がる場合があります。有効なポリシー条件による制限も確認する必要があります。

想定される影響

未承認の送信元がログを関連付けると、不要なデータが流入したり、処理コストが増えたりするおそれがあります。

対処方法

必要な送信元アカウントまたは組織に範囲を限定し、対象の送信先ARNに対するlogs:PutSubscriptionFilterだけを許可してください。

例

以下は送信先へのアクセスに使うIAMポリシードキュメントの例です。適用には送信先への関連付けが必要です。送信先の利用を許可するだけで、保存済みログの読み取り権限が付与されるわけではありません。

変更前

hcl
data "aws_iam_policy_document" "example" {
  statement {
    effect = "Allow"

    principals {
      type = "AWS"
      identifiers = [data.aws_caller_identity.current.id]
    }

    actions = [
      "logs:*",
    ]

    resources = [
      aws_cloudwatch_log_destination.test_destination.arn,
    ]
  }
}

変更後

hcl
data "aws_iam_policy_document" "example" {
  statement {
    effect = "Allow"

    principals {
      type = "AWS"
      identifiers = [
        "123456789012",
      ]
    }

    actions = [
      "logs:PutSubscriptionFilter",
    ]

    resources = [
      aws_cloudwatch_log_destination.test_destination.arn,
    ]
  }
}

参考資料