将 Web ACL 流量日志发送到 Amazon CloudWatch Logs 日志组
本主题提供有关将您的 Web ACL 流量日志发送到 CloudWatch Logs 日志组的信息。
注意
除了 AWS WAF 使用费用外,您还需要支付登录费用。有关信息,请参阅记录 Web ACL 流量信息的定价。
要向 Amazon CloudWatch Logs 发送日志,您需要创建一个 CloudWatch Logs 日志组。在 AWS WAF 启用登录功能时,您需要提供日志组 ARN。启用 Web ACL 的日志记录后,AWS WAF 将日志以日志流形式传送到 CloudWatch Logs 日志组。
使用 CloudWatch Logs 时,可以在 AWS WAF 控制台中浏览您的 Web ACL 的日志。在您的 Web ACL 页面中,选择日志记录见解选项卡。此选项是对通过 CloudWatch 控制台为 CloudWatch Logs 提供的日志见解的补充。
配置 AWS WAF Web ACL 日志的日志组与 Web ACL 位于同一区域,并使用与管理 Web ACL 相同的账户。有关配置 CloudWatch Logs 日志组的信息,请参阅使用日志组和日志流。
CloudWatch Logs 日志组配额
CloudWatch Logs 具有默认的最大吞吐量配额,一个区域内的所有日志组共享此配额,您可以请求增加配额。如果您的日志要求太高而不适应当前的吞吐量设置,则会看到您账户的 PutLogEvents
节流指标。要在服务配额控制台中查看限制以及申请增加配额,请参阅 CloudWatch Logs 的 PutLogEvents 配额
日志组命名
您的日志组名称必须以 aws-waf-logs-
开头,但可以按照您的喜好以任何后缀结尾,例如 aws-waf-logs-testLogGroup2
。
所产生的 ARN 格式如下所示:
arn:aws:logs:
Region
:account-id
:log-group:aws-waf-logs-log-group-suffix
日志流的命名格式如下所示:
Region
_web-acl-name
_log-stream-number
以下显示了 us-east-1
区域中 Web ACL TestWebACL
的日志流示例。
us-east-1_TestWebACL_0
将日志发布到 CloudWatch Logs 所需的权限
为 CloudWatch Logs 日志组配置 Web ACL 流量日志需要本节所述的权限设置。这些权限是在您使用一个 AWS WAF 完全访问托管策略(即 AWSWAFConsoleFullAccess
或 AWSWAFFullAccess
)时为您设置的。如果想对日志和 AWS WAF 资源的访问进行更精细的管理,可以自行设置权限。有关管理权限的信息,请参阅IAM 用户指南中的 AWS 资源的访问权限管理。有关 AWS WAF 托管策略的信息,请参阅 适用于 AWS WAF 的 AWS 托管式策略。
这些权限允许您更改 Web ACL 日志配置、配置 CloudWatch Logs 的日志传输以及检索有关您的日志组的信息。这些权限必须附加到您用来管理 AWS WAF 的用户。
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "wafv2:PutLoggingConfiguration", "wafv2:DeleteLoggingConfiguration" ], "Resource":[ "*" ], "Effect":"Allow", "Sid":"LoggingConfigurationAPI" } { "Sid":"WebACLLoggingCWL", "Action":[ "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource":[ "*" ], "Effect":"Allow" } ] }
当允许对所有 AWS 资源执行操作时,则在策略中将 "Resource"
设置为 "*"
。这意味着允许对每个操作支持的所有 AWS 资源执行操作。例如,只有 wafv2
日志记录配置资源支持操作 wafv2:PutLoggingConfiguration
。