本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
先决条件
在设置 Amazon 之前 Amazon CLI,您需要创建一个 Amazon S3 存储桶、一个 Amazon SNS 主题和一个将附加策略作为先决条件的 IAM 角色。然后,您可以使用 Amazon CLI 为指定存储桶、主题和角色 Amazon Config。请按照以下步骤设置 Amazon Config 的先决条件。
创建 Amazon S3 存储桶
如果您的账户中已存在 Amazon S3 存储桶,并且您想使用该存储桶,请跳过此步骤并转至 创建 Amazon SNS 主题。
创建存储桶
通过 https://console.aws.amazon.com/s3/
打开 Amazon S3 控制台。 -
选择创建桶。
-
在 Bucket name(桶名称)中,输入符合 DNS 标准的桶名称。
桶名称必须满足以下要求:
-
在所有 Amazon S3 中是唯一的。
-
长度必须介于 3 到 63 个字符之间。
-
不包含大写字符。
-
以小写字母或数字开头。
创建存储桶后,便无法再更改其名称。请确保您选择的存储桶名称在 Amazon S3 中所有现有存储桶名称中唯一。有关存储桶命名规则和约定的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的存储桶约束和限制。
重要
避免在存储桶名称中包含敏感信息。存储桶名称会显示在指向存储桶中的对象的 URL 中。
-
-
在区域中,选择您想要存储桶所在的 Amazon 区域。
请选择一个靠近您的区域可最大程度地减少延迟和成本以及满足法规要求。在某一区域存储的对象将一直留在该区域,除非您特意将其转移到其他区域。有关 Amazon S3 Amazon 区域的列表,请参阅中的Amazon 服务终端节点Amazon Web Services 一般参考。
-
在 Bucket settings for Block Public Access(阻止公有访问的桶设置)中,请选择要应用于桶的 Block Public Access(阻止公有访问)设置。
我们建议您将所有设置保持为启用状态,除非您知道您需要为您的使用案例关闭其中一个或多个设置,例如托管公共网站。您为存储桶启用的阻止公有访问设置也将为您在存储桶上创建的所有访问点启用。有关屏蔽公共访问权限的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用 Amazon S3 屏蔽公共访问权限。
-
(可选)如果要启用 S3 对象锁定:
-
请选择 Advanced settings (高级设置),然后阅读显示的消息。
重要
您只能在创建存储桶时为其启用 S3 对象锁定。如果您为存储桶启用了对象锁定,则以后无法禁用它。启用对象锁定还会启用存储桶的版本控制。为存储桶启用对象锁定后,必须先配置对象锁定设置,然后才能保护存储桶中的任何对象。有关配置对象保护的更多信息,请参阅使用 Amazon S3 控制台配置 S3 对象锁定。
-
如果要启用对象锁定,请在文本框中输入 enable 并选择 Confirm (确认)。
有关 S3 对象锁定功能的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用 Amazon S3 对象锁定以锁定对象。
-
-
选择创建存储桶。
使用 Amazon 软件开发工具包创建存储桶时,必须创建一个客户端,然后使用该客户端发送创建存储桶的请求。作为最佳做法,您应在同一 Amazon Web Services 区域 中创建客户端和桶。如果您在创建客户端或桶时未指定区域,Amazon S3 将使用默认区域美国东部(弗吉尼亚北部)。
要创建用于访问双栈端点的客户端,必须指定。 Amazon Web Services 区域有关更多信息,请参阅 Amazon S3 双堆栈端点。有关可用区域的列表 Amazon Web Services 区域,请参阅中的区域和终端节点Amazon Web Services 一般参考。
创建客户端时,区域映射到特定于区域的端点。客户端使用此端点与 Amazon S3 进行通信:s3.
。如果您的区域是在 2019 年 3 月 20 日之后启动的,则您的客户端和存储桶必须位于同一区域。不过,您可以使用美国东部(弗吉尼亚北部)区域中的客户端在 2019 年 3 月 20 日之前启动的任何区域中创建存储桶。有关更多信息,请参阅传统端点。<region>
.amazonaws.com
这些 Amazon SDK 代码示例执行以下任务:
-
通过明确指定 Amazon Web Services 区域 创建客户端 – 在本示例中,客户端使用
s3.us-west-2.amazonaws.com
终端节点与 Amazon S3 通信。您可以指定任意 Amazon Web Services 区域。有关列表 Amazon Web Services 区域,请参阅《Amazon 一般参考》中的区域和终端节点。 -
通过仅指定桶名称来发送创建桶请求 — 客户端向 Amazon S3 发送请求,请求在您创建客户端的区域中创建桶。
-
检索有关桶位置的信息 — Amazon S3 将桶位置信息存储在与桶关联的位置子资源中。
您也可以使用 Amazon Command Line Interface (Amazon CLI) 创建 S3 存储桶。有关更多信息,请参阅《Amazon CLI 命令参考》中的 create-bucket。
有关的信息 Amazon CLI,请参阅什么是 Amazon Command Line Interface? 在《Amazon Command Line Interface 用户指南》中。
注意
您也可以使用另一个账户中的 Amazon S3 存储桶,但您可能需要为该存储桶创建策略以便向 Amazon Config 授予访问权限。有关向 Amazon S3 存储桶授予权限的信息,请参阅 Amazon Config 传送渠道的 Amazon S3 存储桶的权限,然后转至 创建 Amazon SNS 主题。
创建 Amazon SNS 主题
如果您的账户中已经存在 Amazon SNS 主题并且您想要使用该主题,请跳过本步骤并转至 创建 IAM 角色。
创建 Amazon SNS 主题
通过 https://console.aws.amazon.com/sns/v3/home
打开 Amazon SNS 控制台。 -
请执行以下操作之一:
-
如果 Amazon Web Services 账户 之前未在您的下创建过任何主题,请阅读主页上对 Amazon SNS 的描述。
-
如果 Amazon Web Services 账户 之前已在您的下方创建过主题,请在导航面板上选择主题。
-
-
在 Topics(主页)页面上,选择 Create topic(创建主题)。
-
在 Create topic(创建主题)页面上,在 Details(详细信息)部分中,执行以下操作:
-
对于 Type(类型),选择主题类型(标准或者FIFO)。
-
输入主题的名称。对于 FIFO 主题,将 .fifo 添加到名称的末尾。
-
(可选)输入主题的显示名称。
-
(可选)对于 FIFO 主题,您可以选择基于内容的消息重复数据删除以启用默认的消息重复数据删除。有关更多信息,请参阅 FIFO 主题的消息重复数据删除。
-
-
(可选)展开加密部分并执行以下操作。有关更多信息,请参阅静态加密。
-
选择 Enable encryption(启用加密)。
-
指定客户主密钥 (CMK)。有关更多信息,请参阅关键术语。
对于每个 CMK 类型,都会显示 Description (描述)、Account (账户) 和 CMK ARN。
重要
如果您不是 CMK 的拥有者,或者您登录的账户没有
kms:ListAliases
和kms:DescribeKey
权限,则无法在 Amazon SNS 控制台上查看有关 CMK 的信息。要求 CMK 拥有者授予您这些权限。有关更多信息,请参阅 Amazon Key Management Service 开发人员指南中的 Amazon KMS API 权限:操作和资源参考。
-
默认情况下,Amazon SNS(默认)别名/aws/sns 的 Amazon 托管 CMK 处于选中状态。
注意
记住以下内容:
-
首次使用为主题 Amazon KMS 指定适用于 Amazon SNS 的 Amazon 托管 CMK 时,会为 Amazon SNS 创建 Amazon 托管 CMK。 Amazon Web Services Management Console
-
或者,在启用 SSE 的情况下首次对主题使用
Publish
操作时, Amazon KMS 会为 Amazon SNS 创建 Amazon 托管 CMK。
-
-
要使用 Amazon 账户中的自定义 CMK,请选择客户主密钥 (CMK) 字段,然后从列表中选择自定义 CMK。
注意
有关创建自定义 CMK 的说明,请参阅 Amazon Key Management Service 开发人员指南中的创建密钥
-
要使用来自 Amazon 您的账户或其他账户的自定义 CMK ARN,请将其输入客户主密钥 (CM K) 字段。 Amazon
-
-
-
(可选)默认情况下,只有主题拥有者才能发布或订阅主题。要配置其他访问权限,请展开访问策略部分。有关更多信息,请参阅 Amazon SNS 中的 Identity and Access Management 和用于 Amazon SNS 访问控制的示例案例。
注意
使用控制台创建主题时,默认策略使用
aws:SourceOwner
条件键。此密钥类似于aws:SourceAccount
。 -
(可选)要配置 Amazon SNS 重试失败消息传输尝试的方式,请展开 Delivery retry policy (HTTP/S)(传输重试策略 (HTTP/S))部分。有关更多信息,请参阅 Amazon SNS 消息传输重试。
-
(可选)要配置 Amazon SNS 如何记录向其发送的消息 CloudWatch,请展开传送状态记录部分。有关更多信息,请参阅 Amazon SNS 消息传输状态。
-
(可选)要将元数据标签添加到主题中,请展开标签部分,输入一个键和值(可选),然后选择添加标签。有关更多信息,请参阅 Amazon SNS 主题标记。
-
选择创建主题。
主题已创建并显示
MyTopic
页面。主题的名称、ARN、(可选)显示名称和主题所有者的 Amazon 账户 ID 将显示在 Details(详细信息)部分中。
-
将主题 ARN 复制到剪贴板,例如:
arn:aws:sns:us-east-2:123456789012:MyTopic
使用电子邮件地址订阅 Amazon SNS 主题
通过 https://console.aws.amazon.com/sns/v3/home
打开 Amazon SNS 控制台。 -
在左侧导航窗格中,选择订阅。
-
在 Subscriptions(订阅)页面上,选择 Create subscription(创建订阅)。
-
在 Create subscription(创建订阅)页上的 Details(详细信息)部分中,执行以下操作:
-
对于 Topic ARN(主题 ARN),选择主题的 Amazon Resource Name (ARN)。
-
对于 Protocol(协议),选择终端节点类型。可用的终端节点类型包括:
-
对于 Endpoint(终端节点),输入终端节点值,例如电子邮件地址或 Amazon SQS 队列的 ARN。
-
仅限 Firehose 终端节点:对于订阅角色 ARN,请指定您为写入 Firehose 交付流而创建的 IAM 角色的 ARN。有关更多信息,请参阅将 Firehose 传输流订阅 Amazon SNS 的先决条件主题。
-
(可选)对于 Firehose、Amazon SQS、HTTP/S 终端节点,您还可以启用原始消息传输。有关更多信息,请参阅 Amazon SNS 原始消息传输。
-
(可选)要配置筛选策略,请展开 Subscription filter policy(订阅筛选策略)部分。有关更多信息,请参阅 Amazon SNS 订阅筛选策略。
-
(可选)要为订阅配置死信队列,请展开 Redrive policy (dead-letter queue)(重新驱动策略(死信队列))部分。有关更多信息,请参阅 Amazon SNS 死信队列 (DLQ)。
-
选择创建订阅。
控制台将创建订阅并打开订阅的 Details(详细信息)页面。
-
要使用 S Amazon DK,必须使用您的凭据对其进行配置。有关更多信息,请参阅 Amazon 开发工具包和工具参考指南中的共享配置和凭证文件。
以下代码示例显示如何创建 Amazon SNS 主题。
您也可以使用 Amazon Command Line Interface (Amazon CLI) 创建 Amazon SNS 主题。有关更多信息,请参阅《Amazon CLI 命令参考》中的 create-topic。
有关的信息 Amazon CLI,请参阅什么是 Amazon Command Line Interface? 在《Amazon Command Line Interface 用户指南》中。
注意
您也可以使用另一个账户中的 Amazon SNS 主题,但在这种情况下,您可能需要为该主题创建策略以便向 Amazon Config 授予访问权限。有关向 Amazon SNS 主题授予访问权限的信息,请参阅 Amazon SNS 主题的权限,然后转至 创建 IAM 角色。
创建 IAM 角色
您可以使用 IAM 控制台创建一个 IAM 角色,该角色授予访问您的 Amazon S3 存储桶、访问您的 Amazon SNS 主题以及获取支持 Amazon 资源的配置详细信息的 Amazon Config 权限。当您使用控制台创建 IAM 角色时, Amazon Config 会自动为您将必需权限附加到该角色。
注意
如果您使用的是使用的 Amazon 服务 Amazon Config (例如 Sec Amazon urity Hub 或 Cont Amazon rol Tower),并且已经创建了角色,则应确保在设置时使用的 IAM 角色与已创建的 Amazon Config 角色 Amazon Config 保持相同的最低权限,以便其他 Amazon 服务继续按预期运行。 Amazon Config
例如,如果 Cont Amazon rol Tower 有一个 Amazon Config 允许读取 Amazon S3 对象的 IAM 角色,则应保证在设置时使用的 IAM 角色中授予的权限相同 Amazon Config。否则,它可能会干扰 Amazon 控制塔的运行。
有关的 IAM 角色的更多信息 Amazon Config,请参阅 Ident Amazon ity and Access 管理。
为 Amazon 服务创建角色
登录 Amazon Web Services Management Console 并打开 IAM 控制台,网址为 https://console.aws.amazon.com/iam/
。 -
在 IAM 控制台的导航窗格中,选择角色,然后选择创建角色。
-
对于选择可信实体,选择 Amazon 服务。
-
选择你想要的用例 Amazon Config:Config-可自定义、Config-Organizations、Con fig 或 Config-Conformance Packs。然后选择下一步。
-
在命名、查看和创建页面上,查看有关您的角色的详细信息,然后选择创建角色。
要使用 S Amazon DK,必须使用您的凭据对其进行配置。有关更多信息,请参阅 Amazon 开发工具包和工具参考指南中的共享配置和凭证文件。
以下代码示例演示了如何创建 IAM 角色。
您也可以使用 Amazon Command Line Interface (Amazon CLI) 创建 IAM 角色。有关更多信息,请参阅《Amazon CLI 命令参考》中的 create-role。然后,您可以使用attach-role-policy命令将策略附加到该角色。
有关的信息 Amazon CLI,请参阅什么是 Amazon Command Line Interface? 在《Amazon Command Line Interface 用户指南》中。