步骤 3:创建账户级订阅筛选策略 - Amazon CloudWatch 日志

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 3:创建账户级订阅筛选策略

在创建目标后,日志数据接收者账户可与其他 AWS 账户共享目标 ARN (arn:aws:logs:us-east-1:999999999999:destination:testDestination),以便他们将日志事件发送到相同的目标。这些其他的发送账户用户随后会在各自的日志组上针对此目标创建订阅筛选条件。订阅筛选器将立即让实时日志数据开始从所选日志组向指定目标的流动。

注意

如果要向整个组织授予订阅筛选器的权限,则需要使用在 步骤 2:(仅在使用企业时)创建 IAM 角色 中创建的 IAM 角色的 ARN。

在以下示例中,在发送账户中创建了一个账户级订阅筛选条件。该筛选条件与发送者账户 111111111111 相关联,以便将与筛选条件和选择条件匹配的每个日志事件都传输到前面创建的目标。该目标封装一个名为“RecipientStream”的 流。

selection-criteria 字段是可选的,但对于从订阅筛选条件中排除可能导致无限日志递归的日志组非常重要。有关此问题以及确定要排除哪些日志组的更多信息,请参阅 防止日志递归。目前,NOT IN 是 selection-criteria 唯一支持的运算符。

aws logs put-account-policy \ --policy-name "CrossAccountStreamsExamplePolicy" \ --policy-type "SUBSCRIPTION_FILTER_POLICY" \ --policy-document '{"DestinationArn":"arn:aws:logs:region:999999999999:destination:testDestination", "FilterPattern": "", "Distribution": "Random"}' \ --selection-criteria 'LogGroupName NOT IN ["LogGroupToExclude1", "LogGroupToExclude2"]' \ --scope "ALL"

发送者账户的日志组和目标必须位于同一 AWS 区域内。但是,目标可指向位于不同区域的AWS资源,如 Kinesis Data Streams 流。