

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

# 数据保护
<a name="data-protection"></a>

 应该先建立影响安全性的基础实践，再搭建机器学习工作负载的架构。例如，[数据分类](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/data-classification.html)可根据敏感级别划分，而加密手段能够阻止未经授权的访问者，从而保护数据。这些方法有助于避免误操作或履行监管义务等，意义重大。

 SageMaker AI Studio 提供了多种保护静态和传输中数据的功能。但是，如[责任AWS 共担模型](https://aws.amazon.com/compliance/shared-responsibility-model/)中所述，客户有责任保持对 AWS 全球基础设施上托管的内容的控制。本节介绍了客户利用这些功能保护数据安全的方法。

## 保护静态数据
<a name="protect-data-at-rest"></a>

 为了保护您的 SageMaker AI Studio 笔记本以及模型构建数据和模型工件， SageMaker AI 会对笔记本以及训练和批处理转换作业的输出进行加密。 SageMaker 默认情况下，AI 使用适用于 A [mazon S3 的AWS 托管密钥对这些密钥进行](https://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html)加密。此适用于 Amazon S3 的 AWS 托管密钥无法共享以供跨账户访问。对于跨账户访问，请在创建 SageMaker AI 资源时指定您的客户管理的密钥，以便可以共享该密钥以进行跨账户访问。

 使用 SageMaker AI Studio，可以将数据存储在以下位置：
+  **S3 存储桶** — 启用可共享笔记本后， SageMaker AI Studio 会在 S3 存储桶中共享笔记本快照和元数据。
+  **EFSv** olume — SageMaker AI Studio 将一个EFS卷连接到您的域中，用于存储笔记本和数据文件。即使删除域名后，此EFS卷仍会保留。
+  **EBSvol** EBS ume — 连接到运行笔记本电脑的实例。实例运行期间，此卷持续存在。

### 静态加密 AWS KMS
<a name="encryption-at-rest-with-aws-kms"></a>
+  您可以传递[AWS KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys)来加密附加到笔记本、训练、调整、批量转换作业和端点的EBS卷。
+  如果您未指定KMS密钥， SageMaker AI 会使用系统管理KMS的密钥对操作系统 (OS) 卷和 ML 数据卷进行加密。
+  出于合规原因需要使用KMS密钥加密的敏感数据应存储在 ML 存储卷或 Amazon S3 中，这两者都可以使用您指定的KMS密钥进行加密。

## 保护传输中的数据
<a name="protect-data-in-transit"></a>

 SageMaker AI Studio 确保机器学习模型工件和其他系统工件在传输过程中和静态时都经过加密。对 SageMaker AI API 和控制台的请求是通过安全 (SSL) 连接发出的。部分网络内（服务平台内部）传输中数据未加密。其中包括：
+  服务控制面板和训练作业实例（不是客户数据）之间的命令和控制通信。
+  分布式处理和训练作业（网络内）中节点之间的通信。

 您也可以对训练集群中节点之间的通信进行加密。启用容器间流量加密可能会延长训练时间，尤其是在使用分布式深度学习算法的情况下。  

 默认情况下，Amazon SageMaker AI 在亚马逊运行训练作业VPC，以帮助保护您的数据安全。您可以通过配置私有来增加另一个安全级别来保护您的训练容器和数据VPC。此外，您可以将 SageMaker AI Studio 域配置为VPC仅在模式下运行，并将VPC终端节点设置为通过私有网络路由流量，而不会通过 Internet 流出流量。

## 数据保护防护机制
<a name="data-protection-guardrails"></a>

### 加密静态的 SageMaker AI 托管卷
<a name="encrypt-sagemaker-hosting-volumes-at-rest"></a>

 在托管用于在线推理的 SageMaker AI 终端节点期间，使用以下策略强制加密：

```
{
   "Version": "2012-10-17",
   "Statement": [
     {
         "Sid": "Encryption",
         "Effect": "Allow",
         "Action": [
             "sagemaker:CreateEndpointConfig"
         ],
         "Resource": "*",
         "Condition": {
             "Null": {
                 "sagemaker:VolumeKmsKey": "false"
             }      
         }
     }
   ]
 }
```

### 加密模型监控期间使用的 S3 存储桶
<a name="encrypt-s3-buckets-used-during-model-monitoring"></a>

 [模型监控](https://www.dominodatalab.com/data-science-dictionary/model-monitoring)会捕获发送到您的 SageMaker AI 终端节点的数据并将其存储在 S3 存储桶中。设置 Data Capture Config 时需要加密 S3 存储桶。目前对此尚无补偿控制措施。

 除了捕获端点输出外，模型监控服务还会对照预先指定的基线，检查是否出现偏差。输出流量和用于监控偏差的中间存储卷均需加密。

```
{
   "Version": "2012-10-17",
   "Statement": [
     {
         "Sid": "Encryption",
         "Effect": "Allow",
         "Action": [
             "sagemaker:CreateMonitoringSchedule",
             "sagemaker:UpdateMonitoringSchedule"
         ],
         "Resource": "*",
         "Condition": {
             "Null": {
                 "sagemaker:VolumeKmsKey": "false",
                 "sagemaker:OutputKmsKey": "false"
             }      
         }
     }
   ]
 }
```

### 加密 A SageMaker I Studio 域存储卷
<a name="encrypt-a-sagemaker-studio-domain-storage-volume"></a>

 对挂载至 Studio 域的存储卷执行加密操作。此策略要求用户提供对附加到 st CMK udio 域的存储卷进行加密。

```
{
     "Version": "2012-10-17",
     "Statement": [
         {
             "Sid": "EncryptDomainStorage",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:CreateDomain"
             ],
             "Resource": "*",
             "Condition": {
                 "Null": {
                     "sagemaker:VolumeKmsKey": "false"
                 }      
             }
         }
     ]
 }
```

### 加密 S3 中存储的用于共享笔记本的数据
<a name="encrypt-data-stored-in-s3-that-is-used-to-share-notebooks"></a>

 以下策略用于加密存储在存储桶中用于在 SageMaker AI Studio 域中的用户之间共享笔记本的所有数据：

```
{
     "Version": "2012-10-17",
     "Statement": [
         {
             "Sid": "EncryptDomainSharingS3Bucket",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:CreateDomain",
                 "sagemaker:UpdateDomain"
             ],
             "Resource": "*",
             "Condition": {
                 "Null": {
                     "sagemaker:DomainSharingOutputKmsKey": "false"
                 }      
             }
         }
     ]
 }
```

## 限制
<a name="limitations-1"></a>
+  创建域后，您将无法使用自定义 AWS KMS 密钥更新附加的EFS卷存储。
+  一旦创建了训练/处理任务或终端节点配置，就无法使用KMS密钥更新它们。