Amazon Config 从 Amazon CLI - Amazon Config
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon Config 从 Amazon CLI

注意

在设置 Amazon Config 之前 Amazon CLI,您需要创建一个 S3 存储桶、一个 SNS 主题和一个附有策略的 IAM 角色作为先决条件。然后,您可以使用 Amazon CLI 为指定存储桶、主题和角色 Amazon Config。要设置的先决条件 Amazon Config,请参阅先决条件

要从 Amazon Config 开始 Amazon CLI,请使用put-configuration-recorderput-delivery-channel、和start-configuration-recorder命令,如下所示:

  • put-configuration-recorder 命令可创建新的配置记录器以记录您指定的资源配置。

  • put-delivery-channel 命令可创建传输通道对象,将配置信息传输到 S3 存储桶和 SNS 主题。

  • 创建传输通道后,start-configuration-recorder 开始记录您选择的资源配置,您可以在您的 Amazon 账户中看到这些配置。

注意

您账户中的每个 Amazon 区域都只能有一个配置记录器和一个传输通道。

您可以指定记录器的名称以及配置记录器担任 Amazon Config 和使用的 IAM 角色的 Amazon 资源名称 (ARN)。 Amazon Config 创建配置记录器时会自动分配 “默认” 的名称。配置记录器在创建后,不能更改其名称。要更改配置记录器的名称,您必须删除该配置记录器,然后使用新名称创建一个新配置记录器。

要使用设置 Amazon Config 多账户多区域数据聚合 Amazon CLI,请参阅使用 Amazon 命令行界面设置聚合器。您必须为要记录配置项目的每个 Amazon 账户中的每个区域创建单独的配置记录器。

put-configuration-recorder

您的 put-configuration-recorder 命令应类似于以下示例。

$ aws configservice put-configuration-recorder \ --configuration-recorder file://configurationRecorder.json \ --recording-group file://recordingGroup.json

此命令使用--configuration-recorder---recording-group字段。

注意

录制组和配置记录器

--recording-group 字段指定要记录哪些资源类型。

--configuration-recorder字段指定nameroleArn以及配置记录器的默认录制频率 (recordingMode)。您也可以使用此字段来覆盖特定资源类型的记录频率。

put-configuration-recorder--recording-group 参数使用以下选项:

  • allSupported=true— Amazon Config 记录所有支持的资源类型的配置更改,不包括全球 IAM 资源类型。 Amazon Config 添加对新资源类型的支持后, Amazon Config 会自动开始记录该类型的资源。

  • includeGlobalResourceTypes=true – 此选项是一个捆绑包,仅适用于全局 IAM 资源类型:IAM 用户、组、角色和客户管理型策略。这些全球 IAM 资源类型只能在 2022 年 2 月之前可用的 Amazon Config 区域 Amazon Config 中进行记录。2022 年 2 月 Amazon Config 之后,您无法在支持的区域中记录全球 IAM 资源类型。无法记录全局 IAM 资源类型的区域列表中包含以下区域:

    • 亚太地区(海得拉巴)

    • 亚太地区(墨尔本)

    • 加拿大西部(卡尔加里)

    • 欧洲(西班牙)

    • 欧洲(苏黎世)

    • 以色列(特拉维夫)

    • 中东(阿联酋)

    重要

    Aurora 全局集群记录在所有已启用的区域中

    AWS::RDS::GlobalCluster资源类型将记录在启用配置记录器的所有支持 Amazon Config 区域,即使设置includeGlobalResourceTypesfalseincludeGlobalResourceTypes 选项是一个捆绑包,仅适用于 IAM 用户、组、角色和客户管理型策略。

    如果您不想在所有已启用的区域中记录 AWS::RDS::GlobalCluster,请使用以下记录策略之一:

    1. 记录所有当前和未来的资源类型,排除项除外 (EXCLUSION_BY_RESOURCE_TYPES),或者

    2. 记录特定的资源类型 (INCLUSION_BY_RESOURCE_TYPES)。

    有关更多信息,请参阅选择将记录的资源

    重要

    includeGlobalResource类型和排除记录策略

    includeGlobalResourceTypes字段对EXCLUSION_BY_RESOURCE_TYPES录制策略没有影响。这意味着,当设置为exclusionByResourceTypesincludeGlobalResourceTypes,全球 IAM 资源类型(IAM 用户、群组、角色和客户托管策略)不会自动添加为排除项。false

    includeGlobalResourceTypes字段只能用于修改该AllSupported字段,因为该字段的默认设置是记录除全球 IAM 资源类型之AllSupported外的所有受支持资源类型的配置更改。要在设置为时AllSupported包括全局 IAM 资源类型true,请确保将设置includeGlobalResourceTypestrue

    要排除EXCLUSION_BY_RESOURCE_TYPES录制策略的全球 IAM 资源类型,您需要手动将其添加到的resourceTypes字段中exclusionByResourceTypes

    注意

    必填字段和可选字段

    includeGlobalResourceTypes 设置为 true 之前,请先将 allSupported 字段设置为 true

    也可以将 RecordingStrategyuseOnly 字段设置为 ALL_SUPPORTED_RESOURCE_TYPES

    注意

    覆盖字段

    如果您在的字段中设置includeGlobalResourceTypesfalse但列出了全球 IAM 资源类型 RecordingGroup,则无论您是否 Amazon Config 将该resourceTypes字段设置为 false,仍会记录这些指定资源类型的配置更改。includeGlobalResourceTypes

    如果您不想记录对全局 IAM 资源类型(IAM 用户、组、角色和客户管理型策略)的配置更改,那么除了将 includeGlobalResourceTypes 字段设置为 false 之外,切勿在 resourceTypes 字段中列出这些内容。

  • recordingStrategy – 指定配置记录器的记录策略。recordingGroup.json 文件指定了 Amazon Config 将记录的资源类型:

    • 如果将的useOnly字段设置RecordingStrategyALL_SUPPORTED_RESOURCE_TYPES,则会 Amazon Config 记录所有支持的资源类型的配置更改,不包括全球 IAM 资源类型。或者,您可以将的allSupported字段设置RecordingGrouptrue。 Amazon Config 添加对新资源类型的支持后, Amazon Config 会自动开始记录该类型的资源。

    • 如果将的useOnly字段设置RecordingStrategyINCLUSION_BY_RESOURCE_TYPES,则仅 Amazon Config 记录您在resourceTypes字段中指定的资源类型的配置更改RecordingGroup

    • 如果将的useOnly字段设置RecordingStrategyEXCLUSION_BY_RESOURCE_TYPES,则会 Amazon Config 记录所有支持的资源类型的配置更改,但您指定要排除在resourceTypes字段中记录的资源类型除外ExclusionByResourceTypes

    注意

    必填字段和可选字段

    当您将 --recording-groupallSupported 字段设置为 true 时,recordingStrategy 字段是可选的。

    当您在 --recording-groupresourceTypes 字段中列出资源类型时,recordingStrategy 字段是可选的。

    如果您在 exclusionByResourceTypesresourceTypes 字段中列出了要从记录中排除的资源类型,recordingStrategy 字段为必填字段。

    注意

    覆盖字段

    如果您对记录策略选择 EXCLUSION_BY_RESOURCE_TYPES,则 exclusionByResourceTypes 字段将覆盖请求中的其他属性。

    例如,即使您将 includeGlobalResourceTypes 设置为 false,全局 IAM 资源类型仍将自动记录在此选项中,除非这些资源类型在 exclusionByResourceTypesresourceTypes 字段中被明确列为排除项。

    注意

    全局资源类型和资源排除记录策略

    默认情况下,如果您选择EXCLUSION_BY_RESOURCE_TYPES录制策略,则在设置配置记录器的区域中 Amazon Config 添加对新资源类型(包括全局资源类型)的支持时,会自动 Amazon Config 开始记录该类型的资源。

    除非特别列为排除项,否则AWS::RDS::GlobalCluster将在启用配置记录器的所有受支持 Amazon Config 区域中自动记录。

    IAM 用户、群组、角色和客户托管策略将记录在您设置配置记录器的区域(如果该区域在 2022 年 2 月之前可用)。 Amazon Config 2022 年 2 月 Amazon 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] }
    注意

    先前存在 Amazon Config 的角色

    如果您使用的是使用 Amazon Config Amazon Security Hub 或之类的 Amazon 服务 Amazon Control Tower,并且已经创建了 Amazon Config 角色,请确保您在设置时使用的 IAM 角色与已创建的 Amazon Config 角色 Amazon Config 保持相同的最低权限。您必须这样做才能使其他 Amazon 服务继续按预期运行。

    例如,如果 Amazon Control Tower 拥有允许 Amazon Config 读取亚马逊简单存储服务 (Amazon S3) Service 对象的 IAM 角色,请确保在设置时使用的 IAM 角色中授予的权限相同。 Amazon Config否则,它可能会干扰 Amazon Control Tower 操作方式。有关的 IAM 角色的更多信息 Amazon Config,请参阅适用于 Ident ity and Access Managem en Amazon Config t。

    注意

    Amazon Config 评估次数多

    与随后的几个月相比,您可能会注意到,在使用 Amazon Config 记录的最初一个月中,您的账户活动有所增加。在初始引导过程中, Amazon Config 会对您账户中您选择 Amazon Config 要记录的所有资源进行评估。

    如果您运行的是临时工作负载,则可能会看到活动增加, Amazon Config 因为它记录了与创建和删除这些临时资源相关的配置更改。临时工作负载 是临时使用在需要时加载和运行的计算资源。示例包括 Amazon Elastic Compute Cloud (Amazon EC2) 竞价型实例、Amazon EMR 任务和 Amazon Auto Scaling。如果您想避免因运行临时工作负载而导致活动增加,则可以在单独的账户中运行这些类型的工作负载,同时将 Amazon Config 关闭,以避免增加配置记录和规则评估。

    注意

    区域可用性

    在指定 Amazon Config 要跟踪的资源类型之前,请检查按区域可用性划分的资源覆盖率,以查看您设置的 Amazon 区域是否支持该资源类型 Amazon Config。如果至少有一个区域支持某种资源类型,则即使您设置的区域不支持指定的资源类型 Amazon Config,您也可以在支持的所有 Amazon 区域中启用该资源类型的记录 Amazon Config。 Amazon Config

put-configuration-recorder 使用 --configuration-recorder 参数的以下字段:

  • name— 配置记录器的名称。 Amazon Config 创建配置记录器时会自动分配 “默认” 的名称。

  • roleARN— 由配置记录器担任 Amazon Config 和使用的 IAM 角色的 Amazon 资源名称 (ARN)。

  • recordingMode— 指定用于记录配置更改的 Amazon Config 默认录制频率。 Amazon Config 支持连续录制每日录制。连续记录可让您在每次发生配置更改时连续记录更改。使用每日记录,您将收到代表过去 24 小时内资源的最新状态的配置项 (CI),前提是它与之前记录的 CI 不同。

    • recordingFrequency— Amazon Config 用于记录配置更改的默认录制频率。

      注意

      Amazon Firewall Manager 依赖于持续录制来监控您的资源。如果您使用的是 Firewall Manager,建议您将记录频率设置为“持续”。

    • recordingModeOverrides – 此字段允许您为记录模式指定覆盖。它是一个 recordingModeOverride 对象数组。recordingModeOverrides 数组中的每个 recordingModeOverride 对象都由三个字段组成:

      • description – 您为覆盖提供的描述。

      • recordingFrequency – 将应用于覆盖中指定的所有资源类型的记录频率。

      • resourceTypes— 以逗号分隔的列表,用于指定覆盖中 Amazon Config 包含哪些资源类型。

注意

必填字段和可选字段

put-configuration-recorderrecordingMode 字段是可选的。默认情况下,配置记录器的记录频率被设置为连续记录。

注意

限制

以下资源类型不支持每日记录:

  • AWS::Config::ResourceCompliance

  • AWS::Config::ConformancePackCompliance

  • AWS::Config::ConfigurationRecorder

对于记录所有当前和未来支持的资源类型 (ALL_SUPPORTED_RESOURCE_TYPES) 记录策略,这些资源类型将设置为“连续记录”。

configurationRecorder.json文件指定nameroleArn以及配置记录器的默认录制频率 (recordingMode)。您也可以使用此字段来覆盖特定资源类型的记录频率。

{ "name": "default", "roleARN": "arn:aws:iam::123456789012:role/config-role", "recordingMode": { "recordingFrequency": CONTINUOUS or DAILY, "recordingModeOverrides": [ { "description": "Description you provide for the override", "recordingFrequency": CONTINUOUS or DAILY, "resourceTypes": [ Comma-separated list of resource types to include in the override ] } ] } }

put-delivery-channel

以下代码示例演示如何使用 PutDeliveryChannel

CLI
Amazon CLI

创建配送渠道

以下命令以 JSON 代码的形式提供传送渠道的设置:

aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

deliveryChannel.json文件指定了配送渠道属性:

{ "name": "default", "s3BucketName": "config-bucket-123456789012", "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic", "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" } }

此示例设置了以下属性:

name-配送渠道的名称。默认情况下, Amazon Config 会default将名称分配给新的交付渠道。您无法使用命令更新传递渠道名称。put-delivery-channel有关更改名称的步骤,请参阅重命名配送渠道。 s3BucketName- Amazon Config 向其发送配置快照和配置历史记录文件的 Amazon S3 存储桶的名称。如果您指定的存储桶属于另一个 Amazon 账户,则该存储桶必须具有授予对 Config Amazon 的访问权限的策略。有关更多信息,请参阅 Amazon S3 存储桶的权限。

snsTopicARN-Amazon SNS 主题的亚马逊资源名称 (ARN), Amazon Config 会向该主题发送有关配置变更的通知。如果您从其他账户选择主题,则该主题必须具有授予对 Config 的访问权限的策略。 Amazon 有关更多信息,请参阅 Amazon SNS 主题的权限。

configSnapshotDeliveryProperties-包含deliveryFrequency属性,该属性设置 Amazon Config 提供配置快照的频率以及它为定期 Config 规则调用评估的频率。

如果命令成功, Amazon Config 将不返回任何输出。要验证您的配送渠道的设置,请运行 describe-delivery-channels 命令。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考PutDeliveryChannel中的。

PowerShell
用于 PowerShell

示例 1:此示例更改了现有配送渠道的 deliveryFrequency 属性。

Write-CFGDeliveryChannel -ConfigSnapshotDeliveryProperties_DeliveryFrequency TwentyFour_Hours -DeliveryChannelName default -DeliveryChannel_S3BucketName config-bucket-NA -DeliveryChannel_S3KeyPrefix my
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考PutDeliveryChannel中的。

start-configuration-recorder

要完成开启 Amazon Config,请使用start-configuration-recorder命令。

$ aws configservice start-configuration-recorder --configuration-recorder-name configRecorderName