Amazon Database Migration Service 中的基础设施安全性 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon Database Migration Service 中的基础设施安全性

作为一项托管式服务,Amazon Database Migration Service 受 Amazon 全球网络安全保护。有关 Amazon 安全服务以及 Amazon 如何保护基础架构的信息,请参阅 Amazon 云安全。要按照基础设施安全最佳实践设计您的 Amazon 环境,请参阅《安全性支柱 Amazon Well‐Architected Framework》中的基础设施保护

您可以使用 Amazon 发布的 API 调用通过网络访问 Amazon DMS。客户端必须支持以下内容:

  • 传输层安全性协议(TLS) 我们要求使用 TLS 1.2,建议使用 TLS 1.3。

  • 具有完全向前保密(PFS)的密码套件,例如 DHE(Ephemeral Diffie-Hellman)或 ECDHE(Elliptic Curve Ephemeral Diffie-Hellman)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。

此外,必须使用访问密钥 ID 和与 IAM 委托人关联的秘密访问密钥来对请求进行签名。或者,您可以使用 Amazon Security Token Service (Amazon STS) 生成临时安全凭证来对请求进行签名。

您可以从任何网络位置调用这些 API 操作。Amazon DMS 还支持基于资源的访问策略,可以在其中指定对操作和资源的限制,例如,基于源 IP 地址的限制。此外,可以使用 Amazon DMS 策略控制来自特定 Amazon VPC 端点或特定虚拟私有云 (VPC) 的访问。事实上,这隔离了在 Amazon 网络中仅从特定 VPC 到给定 Amazon DMS 资源的网络访问。有关将基于资源的访问策略与 Amazon DMS 结合使用的更多信息(包括示例),请参阅 使用资源名称和标签进行精细访问控制

要将与 Amazon DMS 的通信限制在单个 VPC 内,您可以创建一个允许通过 Amazon PrivateLink 连接到 Amazon DMS 的 VPC 接口端点。Amazon PrivateLink 可协助确保对 Amazon DMS 及其关联结果的任何调用,限制在为其创建接口端点的特定 VPC 内。然后,您可以将此接口端点的 URL 指定为使用 Amazon CLI 或 SDK 运行的每一个 Amazon DMS 命令的选项。这样做有助于确保您与 Amazon DMS 的整个通信始终限制在 VPC 内,并且对公共互联网是不可见的。

创建接口端点以在单个 VPC 中访问 DMS
  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择端点。将打开创建端点页面,您可以在其中创建从 VPC 到 Amazon DMS 的接口端点。

  3. 选择Amazon服务,然后搜索并为服务名称选择一个值,在本例中 Amazon DMS 为以下形式。

    com.amazonaws.region.dms

    此处,region 指的是 Amazon DMS 运行的 Amazon 区域,例如 com.amazonaws.us-west-2.dms

  4. 对于 VPC,选择要从其中创建接口端点的 VPC,例如 vpc-12abcd34

  5. 可用区子网 ID 选择值。这些值应该表示所选 Amazon DMS 端点可以运行的位置,例如 us-west-2a (usw2-az1)subnet-ab123cd4

  6. 选择启用 DNS 名称,以创建带有 DNS 名称的端点。此 DNS 名称由端点 ID (vpce-12abcd34efg567hij) 和随机字符串 (ab12dc34) 组成,中间用连字符连接。它们与服务名称之间用点分隔开,服务名称采用反向点分隔,并增加了 vpce (dms.us-west-2.vpce.amazonaws.com)。

    例如,vpce-12abcd34efg567hij-ab12dc34.dms.us-west-2.vpce.amazonaws.com

  7. 对于安全组,选择要用于端点的组。

    设置安全组时,请确保允许来自安全组内部的出站 HTTPS 调用。有关更多信息,请参阅《Amazon VPC 用户指南》中的创建安全组

  8. 对于策略,选择完全访问权限或自定义值。例如,您可以选择类似以下代码的自定义策略,限制端点对某些操作和资源的访问权限。

    { "Statement": [ { "Action": "dms:*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": [ "dms:ModifyReplicationInstance", "dms:DeleteReplicationInstance" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-west-2:<account-id>:rep:<replication-instance-id>", "Principal": "*" } ] }

    此处的示例策略允许任何 Amazon DMS API 调用,但删除或修改特定复制实例除外。

现在,您可以将使用在步骤 6 中创建的 DNS 名称形成的 URL,指定为选项。您可以使用创建的接口端点,为每个 Amazon DMS CLI 命令或 API 操作指定此选项,以访问服务实例。例如,可以在此 VPC 中运行 DMS CLI 命令 DescribeEndpoints,如下所示。

$ aws dms describe-endpoints --endpoint-url https://vpce-12abcd34efg567hij-ab12dc34.dms.us-west-2.vpce.amazonaws.com

如果启用私有 DNS 选项,则不必在请求中指定端点 URL。

有关创建和使用 VPC 接口端点(包括启用私有 DNS 选项)的更多信息,请参阅《Amazon VPC 用户指南》中的接口 VPC 端点 (Amazon PrivateLink)