本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在多账户环境中管理自定义检测规则
在组织中,委派的 GuardDuty 管理员账户使用组织配置集中管理成员账户的自定义检测规则。管理员声明每条规则的意图,并自动将其 GuardDuty 应用于成员账户,包括稍后加入的账户。
注意
Multi-account 只有通过管理的帐户才支持自定义检测规则的管理 Amazon Organizations。 Invitation-based 不支持成员账户进行集中式规则管理。
组织配置
成员帐户无法为自己启用、禁用或更改自定义检测规则。如果您尝试从成员账户调用单账户关联操作,则会 GuardDuty 返回AccessDeniedException错误。管理员代表成员管理规则。有关委派管理员和成员账户的更多信息,请参阅中的管理多个账户 GuardDuty。
组织配置将单个规则链接到一组成员帐户。它记录规则对这些账户的运行模式,无论是实时运行还是试运行。 GuardDuty 然后在每个目标成员账户中为该规则创建一个单独的关联。您可以使用包含和排除列表为所有成员或特定帐户配置规则。
注意
试运行组织配置将在您创建 14 天后过期。根据该配置 GuardDuty 创建的成员账户关联随之过期,而不是在每个关联创建后 14 天。
按照相同的规则同时运行两种模式
一条规则每种模式最多只能保存一个组织配置,因此只有在以下条件下,规则才能同时在实时模式和试运行模式下运行:两种配置都必须使用明确的包含列表命名其目标帐户。
一种声称整个组织都是单枪匹马的配置。当配置根本没有指定任何帐户或指定要排除的帐户时,它会占用整个组织。另一种模式的任何配置都不能与之共存,尝试创建另一种模式会返回ConflictException。要将整个组织配置移至其他模式,请更新现有配置,而不是创建第二个配置。
示例:在试运行模式下将规则应用于所有成员账户
以下 Amazon CLI 命令创建了针对每个成员账户(包括稍后加入的账户)的组织配置。省略两者--include-account-ids,--exclude-account-ids针对整个组织。
aws guardduty create-custom-detection-rule-org-configuration \ --rule-id "EXAMPLE_RULE_ID" \ --mode DRY_RUN
要将规则移至实时检测,请使用更新现有配置UpdateCustomDetectionRuleOrgConfiguration。
在整个组织中应用每条规则
控制台一次只能配置一条规则。要将相同的模式应用于组织中的每条可用规则,请使用 Amazon
CLI 循环浏览规则目录。省略两者--include-account-ids,将--exclude-account-ids目标对准每个成员账户,包括稍后加入的账户。
for RULE in $(aws guardduty list-custom-detection-rules \ --query 'Rules[].RuleId' --output text); do aws guardduty create-custom-detection-rule-org-configuration \ --rule-id "$RULE" \ --mode DRY_RUN done
此循环使用--mode DRY_RUN,因此您可以在任何规则生成结果之前测量信号音量。由于该循环没有命名任何帐户,因此每种配置都占用了整个组织,并且是其规则的一次性的。准备就绪后,使用更新现有配置,将每条规则移至实时检测UpdateCustomDetectionRuleOrgConfiguration。再次运行循环并--mode LIVE返回结果ConflictException,因为整个组织的试运行配置已经存在。