管理 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(自定义设置)。

    注意

    如果选择 “使用默认设置”,则对表进行静态加密, Amazon 拥有的密钥 无需支付额外费用。

  5. 在 “静态加密” 下,选择加密类型- 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 DynamoDB 的默认 Amazon 拥有的密钥 Amazon 托管式密钥、或客户托管密钥的表。 Amazon CLI

使用默认值创建加密表 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 拥有的密钥 服务帐号中的默认值进行加密。

使用 Amazon 托管式密钥 适用于 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

    表说明的 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 拥有的密钥 服务帐号中的默认值进行加密。

使用 Amazon 托管式密钥 适用于 DynamoDB 的更新加密表
  • 如下面的示例所示更新 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", }