Amazon DynamoDB
开发人员指南 (API 版本 2012-08-10)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

管理加密的表

您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 在 Amazon DynamoDB 中创建加密表和更新加密密钥。

创建加密表

执行以下步骤,使用 Amazon DynamoDB 控制台或 AWS CLI 创建加密表。

创建加密表(控制台)

  1. 登录 AWS 管理控制台 并通过以下网址打开 DynamoDB 控制台:https://console.amazonaws.cn/dynamodb/

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

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

  4. Table settings (表设置) 中,确保未选择 (使用默认设置)

    
              控制台中表设置的屏幕截图,显示“Use default settings (使用默认设置)”复选框。

    注意

    如果选择使用默认设置,则将使用 AWS 拥有的客户主密钥 (CMK) 对表进行静态加密,不另行收费。

  5. Encryption at rest (静态加密) 下,选择加密类型:

    • Default (默认) – AWS 拥有的 CMK。此密钥归 DynamoDB 拥有(不另外收费)。

    • KMS – AWS 托管的 CMK。密钥存储在您的账户中,由 AWS Key Management Service (AWS KMS) 托管(收取 AWS KMS 费用)。

    
              控制台中加密设置的控制台屏幕截图,显示 2 个加密类型单选按钮。
  6. 选择 Create (创建) 以创建加密表。要确认加密类型,请检查 Overview (概述) 选项卡上的表详细信息。

创建加密表 (AWS CLI)

使用 AWS CLI 创建一个表,其中包含默认的 AWS 拥有的 CMK 或适用于 DynamoDB (aws/dynamodb) 的 AWS 托管 CMK。

创建包含 AWS 拥有的默认 CMK 的加密表

  • 按如下所示创建 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 服务账户中默认的 AWS 拥有的 CMK 进行加密。

创建包含适用于 DynamoDB 的 AWS 托管 CMK 的加密表

  • 按如下所示创建 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,并且 SSETypeKMS

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

更新加密密钥

此外,您还可以使用 DynamoDB 控制台或 AWS CLI 将加密表从 AWS 拥有的 CMK 更新为 AWS 托管的 CMK,反之亦然。

更新加密密钥(控制台)

  1. 登录 AWS 管理控制台 并通过以下网址打开 DynamoDB 控制台:https://console.amazonaws.cn/dynamodb/

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

  3. 选择要更新的表,然后选择 Overview (概述) 选项卡。

  4. 选择 Manage Encryption (管理加密)

    
              控制台中的显示默认加密的表设置的屏幕截图。
  5. 选择加密类型。

    
              控制台中加密设置的屏幕截图,显示加密类型单选按钮。
    • Default (默认) – AWS 拥有的 CMK。此密钥归 DynamoDB 拥有(不另外收费)。

    • KMS – AWS 托管的 CMK。密钥存储在您的账户中,由 AWS KMS 托管(收取 AWS KMS 费用)。

    然后,选择保存来更新加密的表。要确认加密类型,请检查 Overview (概述) 选项卡下的表详细信息。

更新加密密钥 (AWS CLI)

以下几个示例介绍如何使用 AWS CLI 更新加密表。

更新包含默认的 AWS 拥有 CMK 的加密表

  • 更新 Music 加密表,如以下示例所示。

    aws dynamodb update-table \ --table-name Music \ --sse-specification Enabled=false

    注意

    此表现在使用 DynamoDB 服务账户中默认的 AWS 拥有的 CMK 进行加密。

更新适用于 DynamoDB 的 AWS 托管 CMK 的加密表

  • 更新 Music 加密表,如以下示例所示。

    aws dynamodb update-table \ --table-name Music \ --sse-specification Enabled=true

    表说明的 SSEDescription 状态设置为 ENABLED,并且 SSETypeKMS

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