管理 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. 在控制台左侧的导航窗格中,选择

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

  4. 设置中,请确保选中了自定义设置

    注意

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

  5. 静态加密下,选择一种加密类型 - 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. 选择创建表以创建加密表。要确认加密类型,请选择概述选项卡并查看其他详细信息部分。

创建加密表(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. 在控制台左侧的导航窗格中,选择

  3. 选择要更新的表。

  4. 选择操作下拉菜单,然后选择更新设置选项。

  5. 转至其他设置选项卡。

  6. 加密下,选择管理加密

  7. 选择一个加密类型:

    • 归 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 密钥策略。有关更多信息,请参阅客户管理型密钥的密钥策略

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

更新加密密钥(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", }