加密传输中的数据
Amazon DocumentDB 集群的传输中加密通过集群参数组.中的 TLS 参数进行管理。您可以使用 Amazon DocumentDB或 AWS 管理控制台 (AWS Command Line Interface) 管理 AWS CLI 集群 TLS 设置。有关如何验证和修改当前 TLS 设置的信息,请参阅以下部分。
按照以下步骤操作,使用控制台执行 TLS 加密的管理任务 — 如标识参数组、验证 TLS 值和进行所需修改。
注意
除非您在创建集群时指定了不同的方法,否则将使用默认集群参数组创建集群。无法修改 集群参数组中的参数(例如,tls
已启用/已禁用)。因此,如果您的集群使用的是 default
集群参数组,则需要修改集群以使用非默认集群参数组。首先,您可能需要创建自定义集群参数组。有关更多信息,请参阅 .
确定集群使用的集群参数组。
从 https://console.aws.amazon.com/docdb 打开 Amazon DocumentDB 控制台。
在导航窗格中,选择 Clusters.
提示
如果您在屏幕左侧没有看到导航窗格,请在页面左上角选择菜单图标 ()。
请注意,在“集群”导航窗格中,集群标识符列同时显示集群和实例。实例列在集群下。请参阅下面的屏幕截图以供参考。
选择您感兴趣的集群。
向下滚动到 Cluster details (集群详细信息) 底部并找到 Cluster parameter group (集群参数组)。记下集群参数组的名称。
如果集群的参数组名称为
default
(例如,default.docdb3.6
),则必须创建自定义集群参数组,并将其设置为集群的参数组,然后才能继续。有关更多信息,请参阅下列内容:— 如果没有可以使用的自定义集群参数组,请创建一个。
修改 Amazon DocumentDB集群 — 修改您的集群以使用自定义集群参数组。
确定
tls
集群参数的当前值。从 打开 Amazon DocumentDB 控制台。
在导航窗格中,选择参数组.
在集群参数组列表中,选择您感兴趣的集群参数组的名称。
找到 Cluster parameters (集群参数) 部分。在集群参数列表中,找到
tls
集群参数行。此时,以下四个列很重要:Cluster parameter name (集群参数名称) — 集群参数的名称。对于管理 TLS,需要关注的是
tls
集群参数。Allowed values (允许的值) — 可应用于集群参数的值的列表。
Apply type (应用类型) — 静态或动态。对静态集群参数的更改只能在重启实例时应用。对动态集群参数的更改可以立即应用,也可以在重启实例时应用。
修改
tls
集群参数的值。如果
tls
的值不是必需的,则为此集群参数组修改其值。要更改tls
集群参数的值,请按照以下步骤从上一节继续操作。选择集群参数名称 () 左侧的按钮。
tls
).选择 Edit.
要更改
tls
的值,请在 Modifytls
(修改环境) 对话框中,从下拉列表中选择集群参数所需的值。选择 Modify cluster parameter (修改集群参数). 更改将在重启时应用于每个集群实例。
重启 Amazon DocumentDB 实例。
重启集群的每个实例,以便将更改应用到集群中的所有实例。
从 https://console.aws.amazon.com/docdb 打开 Amazon DocumentDB 控制台。
在导航窗格中,选择 Instances.
要指定待重启的实例,请在实例列表中找到实例,并选择该实例名称左侧的按钮。
选择 Actions (操作),然后选择 Reboot (重启)。通过选择 Reboot 确认您要重启。
按照以下步骤操作,使用 AWS CLI 执行 TLS 加密的管理任务,例如,标识参数组,验证 TLS 值以及进行所需修改。—
注意
除非您在创建集群时指定了不同的内容,否则将使用默认的集群参数组创建集群。无法修改 default
集群参数组中的参数(例如,tls
已启用/已禁用)。因此,如果您的集群使用的是 default
集群参数组,则需要修改集群以使用非默认集群参数组。您可能需要先创建自定义集群参数组。有关更多信息,请参阅 .
确定集群使用的集群参数组。
使用带下列参数的
describe-db-clusters
命令:--db-cluster-identifier
— 必需。所需集群的名称。--query
— 可选。此查询将输出限制为仅显示感兴趣的字段,在本例中为集群名称及其集群参数组名称。
此操作的输出将类似于下文(JSON 格式)。
[
[
"docdb-2019-05-07-13-57-08",
"
custom3-6-param-grp
"]
]
创建 Amazon DocumentDB 集群参数组 — 如果没有可以使用的自定义集群参数组,请创建一个。
— 修改您的集群以使用自定义集群参数组。
确定
tls
集群参数的当前值。要获取有关此集群参数组的更多信息,请使用带以下参数的
describe-db-cluster-parameters
操作:--db-cluster-parameter-group-name
— 必需。使用上一个命令输出中的集群参数组名称。--query
— 可选。此查询将输出限制为仅显示感兴趣的字段,在本例中为ParameterName
、ParameterValue
、AllowedValues
和ApplyType
。
此操作的输出将类似于下文(JSON 格式)。
[
[
"audit_logs",
"disabled",
"enabled,disabled",
"dynamic"
],
[
"tls",
"disabled",
"static"
],
[
"enabled",
"disabled,enabled",
"dynamic"
]
]
修改
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
— 更改仅在重启后应用于实例。您必须分别重启每个集群实例,以便此更改在所有集群实例上生效。
重启您的 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:
此操作的输出将类似于下文(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"
}