

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将加密数据源与 CMKs
<a name="encrypted-data-cmk"></a>

本主题包含有关设置 App Studio 并将其连接到使用[AWS KMS 客户托管密钥 (CMK)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) 加密的数据源的信息。

**Contents**
+ [使用加密的托管数据存储表](#encrypted-data-cmk-managed-data)
+ [使用加密的 DynamoDB 表](#encrypted-data-cmk-ddb)

## 使用加密的托管数据存储表
<a name="encrypted-data-cmk-managed-data"></a>

使用以下过程对 App Studio 应用程序中的托管存储实体使用的 DynamoDB 表进行加密。有关托管数据实体的更多信息，请参阅[AWS App Studio 中的管理数据实体](managed-data-entities.md)。

**使用加密的托管数据存储表**

1. 如有必要，在 App Studio 的应用程序中创建托管数据实体。有关更多信息，请参阅 [使用 App Studio 托管数据源创建实体](data-entities-create.md#data-entities-create-managed-data-source)。

1. 通过执行以下步骤，向 `AppStudioManagedStorageDDBAccess` IAM 角色添加具有使用您的 CMK 加密和解密表数据的权限的策略声明：

   1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。
**重要**  
您必须使用用于创建 App Studio 实例的相同帐户。

   1. 在 IAM 控制台的导航窗格中，选择**角色**。

   1. 选择 `AppStudioManagedStorageDDBAccess`。

   1. 在 “**权限策略**” 中，选择 “**添加权限**”，然后选择 “**创建内联策略**”。

   1. 选择 **JSON** 并将内容替换为以下策略，替换以下内容：
      + *111122223333*替换为 AWS 用于设置 App Studio 实例的账户的账号，该**AWS 账号在 App Studio 实例的账户设置中作为账户 ID** 列出。
      + 替换*CMK\$1id*为 CMK ID。要找到它，请参阅[查找密钥 ID 和密钥 ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html)。

1. 通过执行以下步骤对您的 App Studio 托管数据实体使用的 DynamoDB 表进行加密：

   1. 打开亚马逊 DynamoDB 控制台，网址为。[https://console.aws.amazon.com/dynamodbv2/](https://console.aws.amazon.com/dynamodbv2/)

   1. 选择要加密的表。您可以在 App Studio 中相应实体的 “**连接**” 选项卡中找到表名。

   1. 选择**其他设置**。

   1. 在**加密**中，选择**管理加密**。

   1. 选择 “**存储在您的账户中，由您拥有和管理”，然后选择您**的 CMK。

1. 通过重新发布应用程序来测试您的更改，确保在测试和生产环境中都能读取和写入数据，并在其他实体中使用此表可以按预期工作。
**注意**  
默认情况下，任何新添加的托管数据实体都使用 DynamoDB 托管密钥，并且必须按照前面的步骤更新为使用 CMK。

## 使用加密的 DynamoDB 表
<a name="encrypted-data-cmk-ddb"></a>

使用以下步骤配置要在您的 App Studio 应用程序中使用的加密 DynamoDB 表。

**使用加密的 DynamoDB 表**

1. 按照中的说明[步骤 1：创建和配置 DynamoDB 资源](connectors-dynamodb.md#connectors-dynamodb-create-resources)进行以下更改：

   1. 将您的表配置为加密。有关更多信息，请参阅 *Amazon DynamoD* [B 开发者指南中的为新表指定加密密钥](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.tutorial.html#encryption.tutorial-creating)。

1. 按照中的说明进行操作[步骤 2：创建具有相应 DynamoDB 权限的 IAM 策略和角色](connectors-dynamodb.md#connectors-dynamodb-iam)，然后通过添加新的策略声明来更新新角色的权限策略，允许该角色使用您的 CMK 加密和解密表数据，方法是执行以下步骤：

   1. 如有必要，请在 IAM 控制台中导航到您的角色。

   1. 在 “**权限策略**” 中，选择 “**添加权限**”，然后选择 “**创建内联策略**”。

   1. 选择 **JSON** 并将内容替换为以下策略，替换以下内容：
      + *team\$1account\$1id*替换为您的 App Studio 团队标识，该ID可以在您的帐户设置中找到。
      + 替换*CMK\$1id*为 CMK ID。要找到它，请参阅[查找密钥 ID 和密钥 ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html)。

1. 按照中的说明创建连接器，[创建 DynamoDB 连接器](connectors-dynamodb.md#connectors-dynamodb-create-connector)并使用您之前创建的角色。

1. 通过将使用 DynamoDB 连接器和表格的应用程序发布到 “测试” 或 “生产” 来测试配置。确保读取和写入数据正常工作，并且使用此表创建另一个实体也能正常工作。
**注意**  
创建任何新的 DynamoDB 表时，必须按照前面的步骤将其配置为使用 CMK 进行加密。