Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
使用 Amazon Command Line Interface v2 处理 DynamoDB 表加密
以下代码示例演示了如何管理 DynamoDB 表的加密选项。
创建具有默认加密的表。
创建具有客户托管式 CMK 的表。
更新表加密设置。
描述表加密。
- Bash
-
- Amazon CLI 及 Bash 脚本
-
创建具有默认加密的表。
# Create a table with default encryption (AWS owned key)
aws dynamodb create-table \
--table-name CustomerData \
--attribute-definitions \
AttributeName=CustomerID,AttributeType=S \
--key-schema \
AttributeName=CustomerID,KeyType=HASH \
--billing-mode PAY_PER_REQUEST \
--sse-specification Enabled=true,SSEType=KMS
创建具有客户托管式 CMK 的表。
# Step 1: Create a customer managed key in KMS
aws kms create-key \
--description "Key for DynamoDB table encryption" \
--key-usage ENCRYPT_DECRYPT \
--customer-master-key-spec SYMMETRIC_DEFAULT
# Store the key ID for later use
KEY_ID=$(aws kms list-keys --query "Keys[?contains(KeyArn, 'Key for DynamoDB')].KeyId" --output text)
# Step 2: Create a table with the customer managed key
aws dynamodb create-table \
--table-name SensitiveData \
--attribute-definitions \
AttributeName=RecordID,AttributeType=S \
--key-schema \
AttributeName=RecordID,KeyType=HASH \
--billing-mode PAY_PER_REQUEST \
--sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=$KEY_ID
更新表加密。
# Update a table to use a different KMS key
aws dynamodb update-table \
--table-name CustomerData \
--sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=$KEY_ID
描述表加密。
# Describe the table to see encryption settings
aws dynamodb describe-table \
--table-name CustomerData \
--query "Table.SSEDescription"
有关 Amazon SDK 开发人员指南和代码示例的完整列表,请参阅 结合使用 DynamoDB 与 Amazon SDK。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。