管理 DynamoDB 中的加密表 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

管理 DynamoDB 中的加密表

可以使用 Amazon Web Services Management Console 或 Amazon Command Line Interface (Amazon CLI) 指定新表的加密密钥,更新 Amazon DynamoDB 现有表的加密密钥。

指定新表的加密密钥

请按照以下步骤,使用 Amazon DynamoDB 控制台或 Amazon CLI 指定新表的加密密钥。

创建加密表(控制台)

  1. 登录 Amazon Web Services Management Console,打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/

  2. 在控制台左侧的导航窗格中,选择 Tables (表)

  3. 选择 Create Table (创建表)。对于 Table name (表名称),输入 Music。对于主键,输入 Artist;对于排序键,输入 SongTitle,两者均为字符串。

  4. Settings(设置)中,请确保选中了 Customize settings(自定义设置)。

    注意

    如果选择 Use default settings (使用默认设置),将使用 Amazon 拥有的密钥 对表进行静态加密,不另行收费。

  5. Encryption at rest(静态加密)下,选择一种加密类型 - Amazon 拥有的密钥、Amazon 托管式密钥 或客户管理的密钥。

    • 为 Amazon DynamoDB 所拥有。Amazon 拥有的密钥,具体来说,为 DynamoDB 所拥有和管理。使用此密钥不会产生额外的费用。

    • Amazon 管理的密钥。密钥别名:aws/dynamodb。密钥存储在您的账户中,由 Amazon Key Management Service(Amazon KMS)托管。会产生 Amazon KMS 费用。

    • 存储在您的账户中,由您自行拥有和管理。客户管理的密钥。密钥存储在您的账户中,由 Amazon Key Management Service(Amazon KMS)托管。会产生 Amazon KMS 费用。

      注意

      如果您选择自行拥有和管理密钥,请确保正确设置 KMS 密钥策略。有关更多信息,包括示例,请参阅客户管理的密钥的密钥策略

  6. 选择 Create table(创建表)以创建加密表。要确认加密类型,请选择 Overview(概述)选项卡并查看 Additional details(其他详细信息)部分。

创建加密表(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 状态设置为 ENABLEDSSEType 设置为 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 状态设置为 ENABLEDSSEType 设置为 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 托管式密钥 和客户托管密钥之间更新现有表的加密密钥。

更新加密密钥(控制台)

  1. 登录 Amazon Web Services Management Console,打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/

  2. 在控制台左侧的导航窗格中,选择 Tables (表)

  3. 选择要更新的表。

  4. 选择 Actions(操作)下拉菜单,然后选择 Update settings(更新设置)选项。

  5. 转至 Additional settings(其他设置)选项卡。

  6. Encryption(加密)下,选择 Manage encryption(管理加密)。

  7. 选择一个加密类型:

    • Owned by Amazon DynamoDB(由 Amazon DynamoDB 拥有)。Amazon KMS 密钥由 DynamoDB 拥有和管理。使用此密钥不会产生额外的费用。

    • Amazon 管理的密钥 密钥别名:aws/dynamodb。密钥存储在您的账户中,由 Amazon Key Management Service(Amazon KMS)托管。会产生 Amazon KMS 费用。

    • 存储在您的账户中,由您自行拥有和管理。密钥存储在您的账户中,由 Amazon Key Management Service(Amazon KMS)托管。会产生 Amazon KMS 费用。

      注意

      如果您选择自行拥有和管理密钥,请确保正确设置 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 状态设置为 ENABLEDSSEType 设置为 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 状态设置为 ENABLEDSSEType 设置为 KMS

    "SSEDescription": { "SSEType": "KMS", "Status": "ENABLED", "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234", }