加密传输中的数据 - Amazon DocumentDB
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

加密传输中的数据

您可以使用传输层安全性 (TLS) 加密应用程序与 Amazon DocumentDB 集群之间的连接。默认情况下,为新创建的Amazon DocumentDB集群启用传输中加密。可以选择在创建集群时禁用它,也可以稍后禁用。启用传输中加密后,需要使用 TLS 进行安全连接才能连接到集群。有关DocumentDB使用 TLS 连接到 Amazon 的更多信息,请参阅通过编程方式连接到 Amazon DocumentDB

管理 Amazon DocumentDB 集群 TLS 设置

Amazon DocumentDB 集群的传输中加密通过集群参数组.中的 TLS 参数进行管理。您可以使用 Amazon DocumentDB 或 AWS 管理控制台 () AWS Command Line Interface管理AWS CLI集群 TLS 设置。有关如何验证和修改当前 TLS 设置的信息,请参阅以下部分。

按照以下步骤,使用 控制台—为 TLS 加密执行管理任务,例如确定参数组、验证 TLS 值和进行所需的修改。

注意

除非您在创建集群时指定了不同的 ,否则将使用默认集群参数组创建集群。无法修改default集群参数组中的参数(例如,tls已启用/已禁用)。因此,如果您的集群使用default集群参数组,则需要修改集群以使用非默认集群参数组。首先,您可能需要创建自定义集群参数组。有关更多信息,请参阅创建 Amazon DocumentDB 集群参数组.

  1. 确定您的集群正在使用的集群参数组。

    1. https://console.amazonaws.cn/docdb 打开 Amazon DocumentDB 控制台。

    2. 在导航窗格中,选择 Clusters.

      提示

      如果您在屏幕左侧没有看到导航窗格,请在页面左上角选择菜单图标 ()。

    3. 请注意,在 Clusters (集群) 导航窗格中,Cluster Identifier (集群标识符) 列同时显示集群和实例。实例列在 集群下方。请参阅以下屏幕截图作为参考。

    4. 选择您感兴趣的集群。

    5. 向下滚动到 Cluster details (集群详细信息) 底部并找到 Cluster parameter group (集群参数组)。记下集群参数组的名称。

      如果集群的参数组名称为 default (例如default.docdb3.6,),则必须创建自定义集群参数组并将其设置为集群的参数组,然后再继续。有关更多信息,请参阅下列内容:

      1. 创建 Amazon DocumentDB 集群参数组 — 如果没有可以使用的自定义集群参数组,请创建一个。

      2. 修改 Amazon DocumentDB集群 — 修改您的集群以使用自定义集群参数组。

  2. 确定 tls 集群参数的当前值。

    1. https://console.amazonaws.cn/docdb 打开 Amazon DocumentDB 控制台。

    2. 在导航窗格中,选择参数组.

    3. 在集群参数组列表中,选择您感兴趣的集群参数组的名称。

    4. 找到 Cluster parameters (集群参数) 部分。在集群参数列表中,找到tls集群参数行。此时,以下四个列很重要:

      • Cluster parameter name— (集群参数名称) 集群参数的名称。对于管理 TLS,需要关注的是 tls 集群参数。

      • Values — (值) 每个集群参数的当前值。

      • Allowed values— (允许的值) 可应用于集群参数的值的列表。

      • Apply type (应用类型) — 静态动态。对静态集群参数的更改只能在重启实例时应用。对动态集群参数的更改可以立即应用,也可以在重启实例时应用。

  3. 修改 tls 集群参数的值。

    如果 的值tls不是必需的,则为此集群参数组修改其值。要更改 tls 集群参数的值,请按照以下步骤从上一节继续。

    1. 选择集群参数名称 () 左侧的按钮。tls).

    2. 选择 Edit.

    3. 要更改 的值tls,请在 Modify (修改) tls 对话框中,选择所需的下拉列表中集群参数的值。

    4. 选择 Modify cluster parameter (修改集群参数). 更改将在重启时应用于每个集群实例。

  4. 重启 Amazon DocumentDB 实例。

    重启集群的每个实例,以便将更改应用于集群中的所有实例。

    1. https://console.amazonaws.cn/docdb 打开 Amazon DocumentDB 控制台。

    2. 在导航窗格中,选择实例.

    3. 要指定待重启的实例,请在实例列表中找到实例,并选择该实例名称左侧的按钮。

    4. 选择 Actions (操作),然后选择 Reboot (重启)。通过选择 Reboot (重启) 来确认要重启

按照以下步骤,使用 执行 TLS 加密的管理任务AWS CLI—,例如识别参数组、验证 TLS 值和进行所需的修改。

注意

除非您在创建集群时指定了不同的 ,否则将使用默认集群参数组创建集群。无法修改default集群参数组中的参数(例如,tls已启用/已禁用)。因此,如果您的集群使用default集群参数组,则需要修改集群以使用非默认集群参数组。您可能需要先创建自定义集群参数组。有关更多信息,请参阅创建 Amazon DocumentDB 集群参数组.

  1. 确定您的集群正在使用的集群参数组。

    使用带以下参数的 describe-db-clusters 命令:

    • --db-cluster-identifier — 必需。所需集群的名称。

    • --query — 可选。一个查询,该查询将输出限制为仅感兴趣的字段,在本例中为集群名称及其集群参数组名称。

    aws docdb describe-db-clusters \ --db-cluster-identifier docdb-2019-05-07-13-57-08 \ --query 'DBClusters[*].[DBClusterIdentifier,DBClusterParameterGroup]'

    此操作的输出将类似于下文(JSON 格式)。

    [ [ "docdb-2019-05-07-13-57-08", "custom3-6-param-grp" ] ]

    如果集群的参数组名称为 default (例如default.docdb3.6,),则您必须具有自定义集群参数组,并使其成为集群的参数组,然后才能继续。有关更多信息,请参阅以下主题:

    1. 创建 Amazon DocumentDB 集群参数组 — 如果没有可以使用的自定义集群参数组,请创建一个。

    2. 修改 Amazon DocumentDB集群 — 修改您的集群以使用自定义集群参数组。

  2. 确定集群tls参数的当前值。

    要获取有关此集群参数组的更多信息,请使用带以下参数的 describe-db-cluster-parameters 操作:

    • --db-cluster-parameter-group-name — 必需。使用上一个命令输出中的集群参数组名称。

    • --query — 可选。一个查询,用于将输出限制为仅感兴趣的字段,在本例中为 ParameterNameParameterValueAllowedValuesApplyType

    aws docdb describe-db-cluster-parameters \ --db-cluster-parameter-group-name custom3-6-param-grp \ --query 'Parameters[*].[ParameterName,ParameterValue,AllowedValues,ApplyType]'

    此操作的输出将类似于下文(JSON 格式)。

    [ [ "audit_logs", "disabled", "enabled,disabled", "dynamic" ], [ "tls", "disabled", "disabled,enabled", "static" ], [ "ttl_monitor", "enabled", "disabled,enabled", "dynamic" ] ]
  3. 修改 tls 集群参数的值。

    如果 的值tls不是必需的,则为此集群参数组修改其值。要更改 tls 集群参数的值,请使用带以下参数的 modify-db-cluster-parameter-group 操作。

    • --db-cluster-parameter-group-name — 必需。要修改的集群参数组的名称。不能是 default.* 集群参数组。

    • --parameters — 必需。要修改的集群参数组的参数列表。

      • ParameterName — 必需。要修改的集群参数的名称。

      • ParameterValue — 必需。此集群参数的新值。必须是集群参数的 之一。AllowedValues.

        • enabled — 集群仅接受使用 TLS 的安全连接。

        • disabled — 集群不接受使用 TLS 的安全连接。

      • ApplyMethod — 何时应用此修改。对于静态集群参数(如 tle),此值必须为 pending-reboot

        • pending-reboot — 更改仅在重启后应用于实例。您必须分别重启每个集群实例,以便此更改在所有集群实例上生效。

    以下代码禁用 tls,在重启时将更改应用于每个数据库实例。

    aws docdb modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name custom3-6-param-grp \ --parameters "ParameterName=tls,ParameterValue=disabled,ApplyMethod=pending-reboot"

    以下代码启用 tls,在重启时将更改应用于每个数据库实例。

    aws docdb modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name custom3-6-param-grp \ --parameters "ParameterName=tls,ParameterValue=enabled,ApplyMethod=pending-reboot"

    此操作的输出将类似于下文(JSON 格式)。

    { "DBClusterParameterGroupName": "custom3-6-param-grp" }
  4. 重启您的Amazon DocumentDB实例。

    重启集群的每个实例,以便将更改应用于集群中的所有实例。要重启Amazon DocumentDB实例,请使用带以下参数的 reboot-db-instance 操作:

    • --db-instance-identifier — 必需。要重启的实例的标识符。

    以下代码将重启实例 sample-db-instance.

    对于 Linux、macOS 或 Unix:

    aws docdb reboot-db-instance \ --db-instance-identifier sample-db-instance

    对于 Windows:

    aws docdb reboot-db-instance ^ --db-instance-identifier sample-db-instance

    此操作的输出将类似于下文(JSON 格式)。

    { "DBInstance": { "AutoMinorVersionUpgrade": true, "PubliclyAccessible": false, "PreferredMaintenanceWindow": "fri:09:32-fri:10:02", "PendingModifiedValues": {}, "DBInstanceStatus": "rebooting", "DBSubnetGroup": { "Subnets": [ { "SubnetStatus": "Active", "SubnetAvailabilityZone": { "Name": "us-east-1a" }, "SubnetIdentifier": "subnet-4e26d263" }, { "SubnetStatus": "Active", "SubnetAvailabilityZone": { "Name": "us-east-1c" }, "SubnetIdentifier": "subnet-afc329f4" }, { "SubnetStatus": "Active", "SubnetAvailabilityZone": { "Name": "us-east-1e" }, "SubnetIdentifier": "subnet-b3806e8f" }, { "SubnetStatus": "Active", "SubnetAvailabilityZone": { "Name": "us-east-1d" }, "SubnetIdentifier": "subnet-53ab3636" }, { "SubnetStatus": "Active", "SubnetAvailabilityZone": { "Name": "us-east-1b" }, "SubnetIdentifier": "subnet-991cb8d0" }, { "SubnetStatus": "Active", "SubnetAvailabilityZone": { "Name": "us-east-1f" }, "SubnetIdentifier": "subnet-29ab1025" } ], "SubnetGroupStatus": "Complete", "DBSubnetGroupDescription": "default", "VpcId": "vpc-91280df6", "DBSubnetGroupName": "default" }, "PromotionTier": 2, "DBInstanceClass": "db.r5.4xlarge", "InstanceCreateTime": "2018-11-05T23:10:49.905Z", "PreferredBackupWindow": "00:00-00:30", "KmsKeyId": "arn:aws:kms:us-east-1:012345678901:key/0961325d-a50b-44d4-b6a0-a177d5ff730b", "StorageEncrypted": true, "VpcSecurityGroups": [ { "Status": "active", "VpcSecurityGroupId": "sg-77186e0d" } ], "EngineVersion": "3.6.0", "DbiResourceId": "db-SAMPLERESOURCEID", "DBInstanceIdentifier": "sample-cluster-instance-00", "Engine": "docdb", "AvailabilityZone": "us-east-1a", "DBInstanceArn": "arn:aws:rds:us-east-1:012345678901:db:sample-cluster-instance-00", "BackupRetentionPeriod": 1, "Endpoint": { "Address": "sample-cluster-instance-00.corcjozrlsfc.us-east-1.docdb.amazonaws.com", "Port": 27017, "HostedZoneId": "Z2R2ITUGPM61AM" }, "DBClusterIdentifier": "sample-cluster" } }

    实例重启需要几分钟时间。只有在实例状态为 available (可用). 时,才能使用实例。您可以使用控制台或 监控实例状态。AWS CLI. 有关更多信息,请参阅监控 Amazon DocumentDB 实例的状态.