

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

# 中的基础设施安全 AWS Database Migration Service
<a name="infrastructure-security"></a>

作为一项托管服务 AWS Database Migration Service ，受 AWS 全球网络安全的保护。有关 AWS 安全服务以及如何 AWS 保护基础设施的信息，请参阅[AWS 云安全](https://aws.amazon.com/security/)。要使用基础设施安全的最佳实践来设计您的 AWS 环境，请参阅 S * AWS ecurity Pillar Well-Architected Fram* ework 中的[基础设施保护](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)。

您可以使用 AWS 已发布的 API 调用 AWS DMS 通过网络进行访问。客户端必须支持以下内容：
+ 传输层安全性协议（TLS）。我们要求使用 TLS 1.2，建议使用 TLS 1.3。
+ 具有完全向前保密（PFS）的密码套件，例如 DHE（临时 Diffie-Hellman）或 ECDHE（临时椭圆曲线 Diffie-Hellman）。大多数现代系统（如 Java 7 及更高版本）都支持这些模式。

您可以从任何网络位置调用这些 API 操作。 AWS DMS 还支持基于资源的访问策略，该策略可以根据源 IP 地址指定对操作和资源的限制。此外，您还可以使用 AWS DMS 策略来控制来自特定 Amazon VPC 终端节点或特定虚拟私有云 (VPCs) 的访问。实际上，这可以将对给定 AWS DMS 资源的网络访问与网络中的特定 VPC 隔离开来。 AWS 有关使用基于资源的访问策略的更多信息（包括示例） AWS DMS，请参阅[使用资源名称和标签进行精细访问控制](CHAP_Security.FineGrainedAccess.md)。

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

**创建接口端点以在单个 VPC 中访问 DMS**

1. 登录 AWS 管理控制台 并打开 Amazon VPC 控制台，网址为[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)。

1. 在导航窗格中，选择**端点**。这将打开**创建终端节点**页面，您可以在其中创建从 VPC 到的接口终端节点 AWS DMS。

1. 选择**AWS 服务**，然后搜索并选择**服务名称**的值，在本例 AWS DMS 中为以下表单。

   ```
   com.amazonaws.region.dms
   ```

   例如，这里*`region`*指定了 AWS DMS 运行的 AWS 区域`com.amazonaws.us-west-2.dms`。

1. 对于 **VPC**，选择要从其中创建接口端点的 VPC，例如 `vpc-12abcd34`。

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

1. 选择**启用 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`。

1. 对于**安全组**，选择要用于端点的组。

   设置安全组时，请确保允许来自安全组内部的出站 HTTPS 调用。有关更多信息，请参阅《Amazon VPC 用户指南》中的[创建安全组](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups)**。

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

   ```
   {
     "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": "*"
       }
     ]
   }
   ```

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

现在，您可以将使用在步骤 6 中创建的 DNS 名称形成的 URL，指定为选项。您可以使用创建的接口终端节点为每个 AWS 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* [终端节点 (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)。