管理 DynamoDB 中的加密表
可以使用 Amazon Web Services Management Console 或 Amazon Command Line Interface (Amazon CLI) 指定新表的加密密钥,更新 Amazon DynamoDB 现有表的加密密钥。
指定新表的加密密钥
请按照以下步骤,使用 Amazon DynamoDB 控制台或 Amazon CLI 指定新表的加密密钥。
创建加密表(控制台)
登录 Amazon Web Services Management Console,打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/
。 -
在控制台左侧的导航窗格中,选择 Tables (表)。
-
选择 Create Table (创建表)。对于 Table name (表名称),输入
Music
。对于主键,输入Artist
;对于排序键,输入SongTitle
,两者均为字符串。 -
在 Table settings (表设置) 中,确保未选择 Use default settings (使用默认设置)。
注意 如果选择 Use default settings (使用默认设置),将使用 Amazon 拥有的密钥 对表进行静态加密,不另行收费。
-
在 Encryption at rest (静态加密) 下,选择加密类型:
-
默认值 – Amazon 拥有的密钥。此密钥归 DynamoDB 拥有(不另外收费)。
-
KMS – 客户托管密钥。此密钥存储在您的账户中,由您创建、拥有和管理(Amazon KMS 收取费用)。
-
KMS – Amazon 托管式密钥。密钥存储在您的账户中,由 Amazon Key Management Service 管理(收取 Amazon KMS 费用)。
-
-
选择 Create (创建) 以创建加密表。要确认加密类型,请检查 Overview (概述) 选项卡的表详细信息。
创建加密表 (Amazon CLI)
使用 Amazon CLI 创建一个表,具有默认的 Amazon 拥有的密钥、Amazon 托管式密钥 或适用于 Amazon DynamoDB 的客户托管密钥。
创建包含默认 Amazon 拥有的密钥 的加密表
-
如下所示创建
Music
加密表。aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5
注意 现在使用 DynamoDB 服务账户中默认的 Amazon 拥有的密钥 加密此表。
创建包含适用于 DynamoDB 的 Amazon 托管式密钥 加密表
-
如下所示创建
Music
加密表。aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --sse-specification Enabled=true,SSEType=KMS
表说明的
SSEDescription
状态设置为ENABLED
,SSEType
设置为KMS
。"SSEDescription": { "SSEType": "KMS", "Status": "ENABLED", "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234", }
创建包含适用于 DynamoDB 的客户托管密钥的加密表
-
如下所示创建
Music
加密表。aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
表说明的
SSEDescription
状态设置为ENABLED
,SSEType
设置为KMS
。"SSEDescription": { "SSEType": "KMS", "Status": "ENABLED", "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234", }
更新加密密钥
还可以随时使用 DynamoDB 控制台或 Amazon CLI,在 Amazon 拥有的密钥、Amazon 托管式密钥 和客户托管密钥之间更新现有表的加密密钥。
更新加密密钥(控制台)
登录 Amazon Web Services Management Console,打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/
。 -
在控制台左侧的导航窗格中,选择 Tables (表)。
-
选择要更新的表,然后选择概述选项卡。
-
选择管理加密。
-
选择加密类型。
-
默认值 – Amazon 拥有的密钥。此密钥归 DynamoDB 拥有(不另外收费)。
-
KMS – 客户托管密钥。此密钥存储在您的账户中,由您创建、拥有和管理(Amazon KMS 收取费用)。
-
KMS – Amazon 托管式密钥。密钥存储在您的账户中,由 Amazon Key Management Service 管理(收取 Amazon KMS 费用)。
然后,选择 Save (保存) 更新加密表。要确认加密类型,请检查 Overview (概述) 选项卡下的表详细信息。
-
更新加密密钥 (Amazon CLI)
以下示例介绍如何使用 Amazon CLI 更新加密表。
更新包含默认的 Amazon 拥有的密钥 的加密表
-
如下面的示例所示更新
Music
加密表。aws dynamodb update-table \ --table-name Music \ --sse-specification Enabled=false
注意 现在使用 DynamoDB 服务账户中默认的 Amazon 拥有的密钥 加密此表。
更新包含适用于 DynamoDB 的 Amazon 托管式密钥 的加密表
-
如下面的示例所示更新
Music
加密表。aws dynamodb update-table \ --table-name Music \ --sse-specification Enabled=true
表说明的
SSEDescription
状态设置为ENABLED
,SSEType
设置为KMS
。"SSEDescription": { "SSEType": "KMS", "Status": "ENABLED", "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234", }
更新包含适用于 DynamoDB 的客户管理密钥的加密表
-
如下面的示例所示更新
Music
加密表。aws dynamodb update-table \ --table-name Music \ --sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
表说明的
SSEDescription
状态设置为ENABLED
,SSEType
设置为KMS
。"SSEDescription": { "SSEType": "KMS", "Status": "ENABLED", "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234", }