

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

# 使用以下方式加密您的 SageMaker 画布数据 AWS KMS
<a name="canvas-kms"></a>

在使用 Amazon SageMaker Canvas 时，您可能有想要加密的数据，例如您的私人公司信息或客户数据。 SageMaker Canvas AWS Key Management Service 用于保护您的数据。 AWS KMS 是一项服务，您可以使用它来创建和管理用于加密数据的加密密钥。有关的更多信息 AWS KMS，请参阅[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)《*AWS KMS 开发人员指南》*。

Amazon SageMaker Canvas 为您提供了多种加密数据的选项。 SageMaker Canvas 在应用程序中为诸如构建模型和生成见解之类的任务提供默认加密。您还可以选择对存储在 Amazon S3 中的数据进行加密，以保护静态数据。 SageMaker Canvas 支持导入加密数据集，因此您可以建立加密的工作流程。以下各节介绍如何在使用 C SageMaker anvas 构建模型时使用 AWS KMS 加密来保护数据。

## 在 C SageMaker anvas 中加密你的数据
<a name="canvas-kms-app-data"></a>

使用 SageMaker Canvas，您可以使用两个不同的 AWS KMS 加密密钥在 SageMaker Canvas 中加密数据，您可以在使用标准域[设置设置域名](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html)时指定这些密钥。这些密钥是在以下域设置步骤中指定的：
+ **步骤 3：配置应用程序 -（可选）**- 在配置 **Canvas 存储配置**部分时，您可以指定**加密密钥**。这是 SageMaker Canvas 用于长期存储模型对象和数据集的 KMS 密钥，这些对象和数据集存储在为您的域提供的 Amazon S3 存储桶中。如果使用 [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html)API 创建 Canvas 应用程序，请使用`S3KMSKeyId`字段指定此密钥。
+ **第 6 步：配置存储** — SageMaker Canvas 使用一个密钥来加密为您的 Canvas 应用程序创建的 Amazon SageMaker Studio 私有空间，其中包括临时应用程序存储、可视化和计算任务（例如构建模型）。您可以使用默认的 AWS 托管密钥，也可以指定自己的托管密钥。如果您指定 AWS KMS 密钥，则存储在`/home/sagemaker-user`目录中的数据将使用您的密钥进行加密。如果您未指定 AWS KMS 密钥，则使用 AWS 托管密钥对内部`/home/sagemaker-user`数据进行加密。无论您是否指定 AWS KMS 密钥，工作目录之外的所有数据都使用 AWS 托管密钥进行加密。要了解有关 Studio 空间和 Canvas 应用程序存储空间的更多信息，请参阅 [将 SageMaker Canvas 应用程序数据存储在你自己的 SageMaker AI 空间中](canvas-spaces-setup.md)。如果使用 [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html)API 创建 Canvas 应用程序，请使用`KmsKeyID`字段指定此密钥。

前面的密钥可以是相同的 KMS 密钥，也可以是不同的 KMS 密钥。

### 先决条件
<a name="canvas-kms-app-data-prereqs"></a>

要将您自己的 KMS 密钥用于上述任何一种目的，必须首先授予用户的 IAM 角色使用该密钥的权限。然后，您可以在设置域时指定 KMS 密钥。

向您的角色授予使用密钥的权限的最简单方法是修改密钥策略。使用以下过程授予角色必要的权限。

1. 打开 [AWS KMS 管理控制台](https://console.aws.amazon.com/kms/)。

1. 在**密钥策略**部分中，选择**切换到策略视图**。

1. 修改密钥的策略，向 IAM 角色授予 `kms:GenerateDataKey` 和 `kms:Decrypt` 操作权限。此外，如果您要修改用于加密 Studio 空间中 Canvas 应用程序存储空间的密钥政策，请执行 `kms:CreateGrant` 操作。您可以添加类似于以下内容的声明：

   ```
   {
     "Sid": "ExampleStmt",
     "Action": [
       "kms:CreateGrant", #this permission is only required for the key that encrypts your SageMaker Canvas application storage
       "kms:Decrypt",
       "kms:GenerateDataKey"
     ],
     "Effect": "Allow",
     "Principal": {
       "AWS": "<arn:aws:iam::111122223333:role/Jane>"
     },
     "Resource": "*"
   }
   ```

1. 选择**保存更改**。

比较不可取的方法是修改用户的 IAM 角色，以授予用户使用或管理 KMS 密钥的权限。如果使用这种方法，KMS 密钥策略还必须允许通过 IAM 进行访问管理。要了解如何通过用户的 IAM 角色授予 KMS 密钥权限，请参阅《AWS KMS 开发人员指南》**中的[在 IAM 策略声明中指定 KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)。

### 在 C SageMaker anvas 应用程序中加密您的数据
<a name="canvas-kms-app-data-app"></a>

您可以在 SageMaker Canvas 中使用的第一个 KMS 密钥用于加密存储在亚马逊弹性区块存储 (Amazon EBS) 卷和 SageMaker 人工智能在您的域中创建的亚马逊弹性文件系统中的应用程序数据。 SageMaker Canvas 在使用计算实例构建模型和生成见解时创建的底层应用程序和临时存储系统中使用此密钥对您的数据进行加密。 SageMaker 每当 Canvas 向其他 AWS 服务（例如 Autopilot）启动任务来处理您的数据时， SageMaker Canvas 就会将密钥传递给其他服务。

您可以通过在 `CreateDomain` API 调用中设置 `KmsKeyID` 或在管理控制台中进行标准域设置来指定此密钥。如果您未指定自己的 KMS 密钥， SageMaker AI 将使用默认 AWS 托管 KMS 密钥在 SageMaker Canvas 应用程序中加密您的数据。

要通过控制台指定您自己的 KMS 密钥以在 SageMaker Canvas 应用程序中使用，请先使用**标准**设置设置您的 SageMaker Amazon AI 域。使用以下过程完成域的**网络和存储部分**。

1. 填写所需的 Amazon VPC 设置。

1. 对于**加密密钥**，请选择**输入 KMS 密钥 ARN**。

1. 对于 **KMS ARN**，请输入 KMS 密钥的 ARN，其格式应类似于以下内容：`arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

### 加密保存在亚马逊 S3 中的 SageMaker 画布数据
<a name="canvas-kms-app-data-s3"></a>

您可以指定的第二个 KMS 密钥用于存储 SageMaker Canvas 存储到 Amazon S3 的数据。此 KMS 密钥是在 `CreateDomain` API 调用的`S3KMSKeyId`字段中指定的，或者在 SageMaker AI 控制台中进行标准域设置时指定的。 SageMaker Canvas 会将您的输入数据集、应用程序和模型数据以及输出数据的副本保存到您账户的该地区的默认 SageMaker AI S3 存储桶中。此存储桶的命名模式为`s3://sagemaker-{Region}-{your-account-id}`， SageMaker Canvas 将数据存储在该`Canvas/`文件夹中。





1. 打开**启用笔记本资源共享**。

1. 对于**可共享笔记本资源的 S3 位置**，请保留默认的 Amazon S3 路径。请注意， SageMaker Canvas 不使用此 Amazon S3 路径；此 Amazon S3 路径用于 Studio Classic 笔记本电脑。

1. 对于**加密密钥**，请选择**输入 KMS 密钥 ARN**。

1. 对于 **KMS ARN**，请输入 KMS 密钥的 ARN，其格式应类似于以下内容：`arn:aws:kms:us-east-1:111122223333:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

## 从 Amazon S3 导入加密数据集
<a name="canvas-kms-datasets"></a>

用户可能拥有使用 KMS 密钥加密的数据集。虽然上一节向您展示了如何加密 SageMaker Canvas 中的数据和存储到 Amazon S3 中的数据，但如果您想从 Amazon S3 中导入已使用加密的数据，则必须向用户的 IAM 角色授予额外权限 AWS KMS。

要向您的用户授予从 Amazon S3 将加密数据集导入 SageMaker Canvas 的权限，请将以下权限添加到您用于用户个人资料的 IAM 执行角色。

```
      "kms:Decrypt",
      "kms:GenerateDataKey"
```

要了解如何编辑角色的 IAM 权限，请参阅《IAM 用户指南》**中的[添加和删除 IAM 身份权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。有关 KMS 密钥的更多信息，请参阅《AWS KMS 开发人员指南》**中的 [AWS Key Management Service中的密钥策略](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)。

## FAQs
<a name="canvas-kms-faqs"></a>

有关C SageMaker anvas AWS KMS 支持的常见问题解答，请参阅以下常见问题解答。

### 问：C SageMaker anvas 会保留我的 KMS 密钥吗？
<a name="canvas-kms-faqs-1"></a>

答：不是。 SageMaker Canvas 可能会暂时缓存您的密钥或将其传递给其他 AWS 服务（例如自动驾驶），但是 SageMaker Canvas 不会保留您的 KMS 密钥。

### 问：我在设置域时指定了一个 KMS 密钥。为什么我的数据集无法在 SageMaker Canvas 中导入？
<a name="canvas-kms-faqs-2"></a>

答：用户的 IAM 角色可能没有使用该 KMS 密钥的权限。要授予用户权限，请参阅 [先决条件](#canvas-kms-app-data-prereqs)。另一个可能的错误是，您的 Amazon S3 存储桶上的存储桶策略要求使用特定的 KMS 密钥，而该密钥与您在域中指定的 KMS 密钥不匹配。确保为 Amazon S3 存储桶和域指定相同的 KMS 密钥。

### 问：如何为我的账户找到该地区的默认 SageMaker AI Amazon S3 存储桶？
<a name="canvas-kms-faqs-3"></a>

答：默认 Amazon S3 存储桶遵循命名模式 `s3://sagemaker-{Region}-{your-account-id}`。此存储桶中的`Canvas/`文件夹用于存储您的 SageMaker Canvas 应用程序数据。

### 问：我能否更改用于存储 C SageMaker anvas 数据的默认 A SageMaker I Amazon S3 存储桶？
<a name="canvas-kms-faqs-4"></a>

答：不是， SageMaker AI 会为你创建这个存储桶。

### 问：C SageMaker anvas 在默认 SageMaker AI Amazon S3 存储桶中存储了什么？
<a name="canvas-kms-faqs-5"></a>

答： SageMaker Canvas 使用默认的 SageMaker AI Amazon S3 存储桶来存储您的输入数据集、模型工件和模型输出的副本。

### 问：在 C SageMaker anvas 中使用 KMS 密钥支持哪些用例？
<a name="canvas-kms-faqs-6"></a>

答：使用 SageMaker Canvas，您可以使用自己的加密密钥来构建回归、二进制和多类分类以及时间序列预测模型，以及对模型进行批量推理。 AWS KMS 