本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Config 从 AWS CLI
注意
在设置 AWS Config 之前 AWS CLI,您需要创建一个 S3 存储桶、一个 SNS 主题和一个附有策略的 IAM 角色作为先决条件。然后,您可以使用 AWS CLI 为指定存储桶、主题和角色 AWS Config。要设置的先决条件 AWS Config,请参阅先决条件。
要从 AWS Config 开始 AWS CLI,请使用put-configuration-recorderput-delivery-channel、和start-configuration-recorder命令,如下所示:
put-configuration-recorder
命令可创建新的配置记录器以记录您指定的资源配置。put-delivery-channel
命令可创建传输通道对象,将配置信息传输到 S3 存储桶和 SNS 主题。创建传输通道后,
start-configuration-recorder
开始记录您选择的资源配置,您可以在您的 AWS 账户中看到这些配置。
注意
您账户中的每个 AWS 区域都只能有一个配置记录器和一个传输通道。
您可以指定记录器的名称以及配置记录器担任 AWS Config 和使用的 IAM 角色的 Amazon 资源名称 (ARN)。 AWS Config 创建配置记录器时会自动分配 “默认” 的名称。配置记录器在创建后,不能更改其名称。要更改配置记录器的名称,您必须删除该配置记录器,然后使用新名称创建一个新配置记录器。
要使用设置 AWS Config 多账户多区域数据聚合 AWS CLI,请参阅使用 AWS 命令行界面设置聚合器。您必须为要记录配置项目的每个 AWS 账户中的每个区域创建单独的配置记录器。
put-configuration-recorder
您的 put-configuration-recorder
命令应类似于以下示例。
$ aws configservice put-configuration-recorder \ --configuration-recorder
file://configurationRecorder.json
\ --recording-groupfile://recordingGroup.json
此命令使用--configuration-recorder
和---recording-group
字段。
注意
录制组和配置记录器
--recording-group
字段指定要记录哪些资源类型。
该--configuration-recorder
字段指定name
和roleArn
以及配置记录器的默认录制频率 (recordingMode
)。您也可以使用此字段来覆盖特定资源类型的记录频率。
put-configuration-recorder
为 --recording-group
参数使用以下选项:
-
allSupported=true
— AWS Config 记录所有支持的资源类型的配置更改,不包括全球 IAM 资源类型。 AWS Config 添加对新资源类型的支持后, AWS Config 会自动开始记录该类型的资源。 -
includeGlobalResourceTypes=true
– 此选项是一个捆绑包,仅适用于全局 IAM 资源类型:IAM 用户、组、角色和客户管理型策略。这些全球 IAM 资源类型只能在 2022 年 2 月之前可用的 AWS Config 区域 AWS Config 中进行记录。2022 年 2 月 AWS Config 之后,您无法在支持的区域中记录全球 IAM 资源类型。无法记录全局 IAM 资源类型的区域列表中包含以下区域:亚太地区(海得拉巴)
亚太地区(墨尔本)
加拿大西部(卡尔加里)
欧洲(西班牙)
欧洲(苏黎世)
以色列(特拉维夫)
中东(阿联酋)
重要
Aurora 全局集群记录在所有已启用的区域中
AWS::RDS::GlobalCluster
资源类型将记录在启用配置记录器的所有支持 AWS Config 区域,即使设置includeGlobalResourceTypes
为false
。includeGlobalResourceTypes
选项是一个捆绑包,仅适用于 IAM 用户、组、角色和客户管理型策略。如果您不想在所有已启用的区域中记录
AWS::RDS::GlobalCluster
,请使用以下记录策略之一:记录所有当前和未来的资源类型,排除项除外 (
EXCLUSION_BY_RESOURCE_TYPES
),或者记录特定的资源类型 (
INCLUSION_BY_RESOURCE_TYPES
)。
有关更多信息,请参阅选择将记录的资源。
重要
includeGlobalResource类型和排除记录策略
该
includeGlobalResourceTypes
字段对EXCLUSION_BY_RESOURCE_TYPES
录制策略没有影响。这意味着,当设置为exclusionByResourceTypes
时includeGlobalResourceTypes
,全球 IAM 资源类型(IAM 用户、群组、角色和客户托管策略)不会自动添加为排除项。false
该
includeGlobalResourceTypes
字段只能用于修改该AllSupported
字段,因为该字段的默认设置是记录除全球 IAM 资源类型之AllSupported
外的所有受支持资源类型的配置更改。要在设置为时AllSupported
包括全局 IAM 资源类型true
,请确保将设置includeGlobalResourceTypes
为true
。要排除
EXCLUSION_BY_RESOURCE_TYPES
录制策略的全球 IAM 资源类型,您需要手动将其添加到的resourceTypes
字段中exclusionByResourceTypes
。注意
必填字段和可选字段
将
includeGlobalResourceTypes
设置为true
之前,请先将allSupported
字段设置为true
。也可以将
RecordingStrategy
的useOnly
字段设置为ALL_SUPPORTED_RESOURCE_TYPES
。注意
覆盖字段
如果您在的字段中设置
includeGlobalResourceTypes
为false
但列出了全局 IAM 资源类型 RecordingGroup,则无论您是否 AWS Config 将该resourceTypes
字段设置为 false,仍会记录这些指定资源类型的配置更改。includeGlobalResourceTypes
如果您不想记录对全局 IAM 资源类型(IAM 用户、组、角色和客户管理型策略)的配置更改,那么除了将
includeGlobalResourceTypes
字段设置为 false 之外,切勿在resourceTypes
字段中列出这些内容。 -
recordingStrategy
– 指定配置记录器的记录策略。recordingGroup.json
文件指定了 AWS Config 将记录的资源类型:-
如果将的
useOnly
字段设置RecordingStrategy为ALL_SUPPORTED_RESOURCE_TYPES
,则会 AWS Config 记录所有支持的资源类型的配置更改,不包括全球 IAM 资源类型。或者,您可以将的allSupported
字段设置RecordingGroup为true
。 AWS Config 添加对新资源类型的支持后, AWS Config 会自动开始记录该类型的资源。 -
如果将的
useOnly
字段设置RecordingStrategy为INCLUSION_BY_RESOURCE_TYPES
,则仅 AWS Config 记录您在resourceTypes
字段中指定的资源类型的配置更改RecordingGroup。 如果将的
useOnly
字段设置RecordingStrategy为EXCLUSION_BY_RESOURCE_TYPES
,则会 AWS Config 记录所有支持的资源类型的配置更改,但您指定要排除在resourceTypes
字段中记录的资源类型除外ExclusionByResourceTypes。
注意
必填字段和可选字段
当您将
--recording-group
的allSupported
字段设置为true
时,recordingStrategy
字段是可选的。当您在
--recording-group
的resourceTypes
字段中列出资源类型时,recordingStrategy
字段是可选的。如果您在
exclusionByResourceTypes
的resourceTypes
字段中列出了要从记录中排除的资源类型,recordingStrategy
字段为必填字段。注意
覆盖字段
如果您对记录策略选择
EXCLUSION_BY_RESOURCE_TYPES
,则exclusionByResourceTypes
字段将覆盖请求中的其他属性。例如,即使您将
includeGlobalResourceTypes
设置为 false,全局 IAM 资源类型仍将自动记录在此选项中,除非这些资源类型在exclusionByResourceTypes
的resourceTypes
字段中被明确列为排除项。注意
全局资源类型和资源排除记录策略
默认情况下,如果您选择
EXCLUSION_BY_RESOURCE_TYPES
录制策略,则在设置配置记录器的区域中 AWS Config 添加对新资源类型(包括全局资源类型)的支持时,会自动 AWS Config 开始记录该类型的资源。除非特别列为排除项,否则
AWS::RDS::GlobalCluster
将在启用配置记录器的所有受支持 AWS Config 区域中自动记录。IAM 用户、群组、角色和客户托管策略将记录在您设置配置记录器的区域(如果该区域在 2022 年 2 月之前可用)。 AWS Config 2022 年 2 月 AWS Config 之后,您无法在支持的区域中记录全球 IAM 资源类型。无法记录全局 IAM 资源类型的区域列表中包含以下区域:
亚太地区(海得拉巴)
亚太地区(墨尔本)
加拿大西部(卡尔加里)
欧洲(西班牙)
欧洲(苏黎世)
以色列(特拉维夫)
中东(阿联酋)
以下示例显示
recordingGroup.json
的请求语法:{ "allSupported":
boolean
, "exclusionByResourceTypes": { "resourceTypes": [Comma-separated list of resource types to exclude
] }, "includeGlobalResourceTypes":boolean
, "recordingStrategy": { "useOnly": "Recording strategy for the configuration recorder
" }, "resourceTypes": [Comma-separated list of resource types to include
] }注意
先前存在 AWS Config 的角色
如果您使用的是使用 AWS Config AWS Security Hub 或之类的 AWS 服务 AWS Control Tower,并且已经创建了 AWS Config 角色,请确保您在设置时使用的 IAM 角色与已创建的 AWS Config 角色 AWS Config 保持相同的最低权限。您必须这样做才能使其他 AWS 服务继续按预期运行。
例如,如果 AWS Control Tower 拥有允许 AWS Config 读取亚马逊简单存储服务 (Amazon S3) Service 对象的 IAM 角色,请确保在设置时使用的 IAM 角色中授予的权限相同。 AWS Config否则,它可能会干扰 AWS Control Tower 操作方式。有关的 IAM 角色的更多信息 AWS Config,请参阅适用于 Ident ity and Access Managem en AWS Config t。
注意
AWS Config 评估次数多
与随后的几个月相比,您可能会注意到,在使用 AWS Config 记录的最初一个月中,您的账户活动有所增加。在初始引导过程中, AWS Config 会对您账户中您选择 AWS Config 要记录的所有资源进行评估。
如果您运行的是临时工作负载,则可能会看到活动增加, AWS Config 因为它记录了与创建和删除这些临时资源相关的配置更改。临时工作负载 是临时使用在需要时加载和运行的计算资源。示例包括 Amazon Elastic Compute Cloud (Amazon EC2) 竞价型实例、Amazon EMR 任务和 AWS Auto Scaling。如果您想避免因运行临时工作负载而导致活动增加,则可以在单独的账户中运行这些类型的工作负载,同时将 AWS Config 关闭,以避免增加配置记录和规则评估。
注意
区域可用性
在指定 AWS Config 要跟踪的资源类型之前,请检查按区域可用性划分的资源覆盖率,以查看您设置的 AWS 区域是否支持该资源类型 AWS Config。如果至少有一个区域支持某种资源类型,则即使您设置的区域不支持指定的资源类型 AWS Config,您也可以在支持的所有 AWS 区域中启用该资源类型的记录 AWS Config。 AWS Config
-
put-configuration-recorder
使用 --configuration-recorder
参数的以下字段:
name
— 配置记录器的名称。 AWS Config 创建配置记录器时会自动分配 “默认” 的名称。roleARN
— 由配置记录器担任 AWS Config 和使用的 IAM 角色的 Amazon 资源名称 (ARN)。recordingMode
— 指定用于记录配置更改的 AWS Config 默认录制频率。 AWS Config 支持连续录制和每日录制。连续记录可让您在每次发生配置更改时连续记录更改。使用每日记录,您将收到代表过去 24 小时内资源的最新状态的配置项 (CI),前提是它与之前记录的 CI 不同。-
recordingFrequency
— AWS Config 用于记录配置更改的默认录制频率。注意
AWS Firewall Manager 依赖于持续录制来监控您的资源。如果您使用的是 Firewall Manager,建议您将记录频率设置为“持续”。
-
recordingModeOverrides
– 此字段允许您为记录模式指定覆盖。它是一个recordingModeOverride
对象数组。recordingModeOverrides
数组中的每个recordingModeOverride
对象都由三个字段组成:description
– 您为覆盖提供的描述。recordingFrequency
– 将应用于覆盖中指定的所有资源类型的记录频率。resourceTypes
— 以逗号分隔的列表,用于指定覆盖中 AWS Config 包含哪些资源类型。
-
注意
必填字段和可选字段
put-configuration-recorder
的 recordingMode
字段是可选的。默认情况下,配置记录器的记录频率被设置为连续记录。
注意
限制
以下资源类型不支持每日记录:
AWS::Config::ResourceCompliance
AWS::Config::ConformancePackCompliance
AWS::Config::ConfigurationRecorder
对于记录所有当前和未来支持的资源类型 (ALL_SUPPORTED_RESOURCE_TYPES
) 记录策略,这些资源类型将设置为“连续记录”。
该configurationRecorder.json
文件指定name
和roleArn
以及配置记录器的默认录制频率 (recordingMode
)。您也可以使用此字段来覆盖特定资源类型的记录频率。
{ "name": "default", "roleARN": "
arn:aws:iam::123456789012:role/config-role
", "recordingMode": { "recordingFrequency":CONTINUOUS
orDAILY
, "recordingModeOverrides": [ { "description": "Description you provide for the override
", "recordingFrequency":CONTINUOUS
orDAILY
, "resourceTypes": [Comma-separated list of resource types to include in the override
] } ] } }
put-delivery-channel
要设置传输通道,请使用 put-delivery-channel
命令。
$ aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json
deliveryChannel.json 文件指定了传输通道的属性。
{ "name": "default", "s3BucketName": "config-bucket-123456789012", "snsTopicARN": "arn:aws:sns:us-east-2:123456789012:config-topic", "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" } }
此示例设置了以下属性:
-
name
– 传输通道的名称。默认情况下,会将的名称 AWS Config 分配default
给新的交付渠道。您无法使用
put-delivery-channel
命令更新传递通道的名称。有关更改名称的步骤,请参阅 重命名传递通道。 -
s3BucketName
— 用于 AWS Config 提供配置快照和配置历史记录文件的 S3 存储桶的名称。如果您指定的存储桶属于另一个 AWS 账户,则该存储桶必须具有授予访问权限的策略 AWS Config。有关更多信息,请参阅 AWS Config 传送渠道的 Amazon S3 存储桶的权限。
-
snsTopicARN
— Amazon SNS 主题的亚马逊资源名称 (ARN),用于发送有关配置 AWS Config 更改的通知。如果您从其他账户中选择一个主题,则该主题必须具有授予访问权限的策略 AWS Config。有关更多信息,请参阅 Amazon SNS 主题的权限。
-
configSnapshotDeliveryProperties
— 包含deliveryFrequency
属性,该属性用于设置配置快照的 AWS Config 交付频率。
start-configuration-recorder
要完成开启 AWS Config,请使用start-configuration-recorder
命令。
$ aws configservice start-configuration-recorder --configuration-recorder-name
configRecorderName