

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

# 亚马逊 A SageMaker I 推理优化中的安全性
<a name="inference-recommendations-security"></a>

云安全 AWS 是重中之重。作为 AWS 客户，您可以受益于专为满足大多数安全敏感型组织的要求而构建的数据中心和网络架构。

安全是双方 AWS 的共同责任。[责任共担模式](https://aws.amazon.com/compliance/shared-responsibility-model/)将其描述为云*的* 安全性和云*中* 的安全性：
+ **云安全** — AWS 负责保护在 AWS 云中运行 AWS 服务的基础架构。 AWS 还为您提供可以安全使用的服务。 Third-party 作为[AWS 合规计划](https://aws.amazon.com/compliance/programs/)的一部分，审计师定期测试和验证我们安全的有效性。要了解适用于 Amazon A SageMaker I 的合规计划，请参阅[合规计划范围内的AWS 服务](https://aws.amazon.com/compliance/services-in-scope/)。
+ **云端安全**-您的责任由您使用的 AWS 服务决定。您还需要对其它因素负责，包括您的数据的敏感性、您公司的要求以及适用的法律法规。

本文档可帮助您了解在使用 SageMaker AI 推理优化功能（包括 AI 基准测试作业、AI 推荐作业和 AI 工作负载配置）时如何应用责任分担模型。

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

[责任 AWS 共担模型](https://aws.amazon.com/compliance/shared-responsibility-model/)适用于 Amazon A SageMaker I 推理优化中的数据保护。如本模型所述 AWS ，负责保护运行所有 AWS 云的全球基础架构。您负责维护对托管在此基础结构上的内容的控制。

出于数据保护目的，我们建议您保护 AWS 账户凭证，并使用 AWS IAM 身份中心或 AWS 身份和访问管理 (IAM) 设置个人用户。这样，每个用户只获得履行其工作职责所需的权限。还建议您通过以下方式保护数据：
+ 对每个账户使用多重身份验证（MFA）。
+ 用于 SSL/TLS 与 AWS 资源通信。我们要求使用 TLS 1.2，建议使用 TLS 1.3。
+ 使用设置 API 和用户活动日志 AWS CloudTrail。
+ 使用 AWS 加密解决方案以及 AWS 服务中的所有默认安全控制。
+ 使用高级托管安全服务（例如 Amazon Macie），它有助于发现和保护存储在 Amazon S3 中的敏感数据。

强烈建议您切勿将机密信息或敏感信息（如您客户的电子邮件地址）放入标签或自由格式文本字段（如**名称**字段）。

### SageMaker AI 推理优化存储哪些数据
<a name="inference-optimization-data-stored"></a>

SageMaker AI 推理优化存储以下类型的数据：
+ **作业元数据**-创建 AI 基准测试任务或 AI 推荐作业时，该服务会存储作业配置元数据，例如作业名称、状态、创建时间戳和资源配置参数。
+ **工作负载配置**-创建 AI 工作负载配置时，该服务会存储您提供的配置参数，包括基准参数、数据集配置和标签。
+ **基准测试结果和建议** — 诸如绩效指标、成本估算和部署建议之类的 Job 输出作为任务元数据存储在服务中。

SageMaker AI 推理优化不会存储您的模型权重、训练数据或推理结果。您的模型工件和基准测试输出文件仍保留在您 AWS 账户中的 Amazon S3 存储桶中。

### 静态加密
<a name="inference-optimization-encryption-rest"></a>

SageMaker 默认情况下，AI 推理优化会加密所有存储的静态数据。任务元数据和工作负载配置存储在 Amazon DynamoDB 中，并进行静态加密。您无需采取任何措施即可启用静态加密。

### 传输中加密
<a name="inference-optimization-encryption-transit"></a>

SageMaker AI 推理优化使用 TLS 对传输中的所有数据进行加密。使用 TLS 1.2 或更高版本通过 HTTPS 向该服务发出的 API 请求。

 SageMaker 人工智能推理优化与其他 AWS 服务（例如亚马逊 Dynam AWS oDB、Lambda、Amazon S AWS 3 和 Secrets Manager）之间的所有通信都使用连接。 TLS-encrypted 

### 互联网络流量隐私
<a name="inference-optimization-traffic-privacy"></a>

SageMaker AI 推理优化 API 端点可通过 HTTPS 通过公共互联网进行访问。您可以使用适用于 SageMaker AI API 的 VPC 终端节点，将您的 VPC 和 SageMaker AI API 之间的流量保持在 AWS 网络内，而无需通过公共互联网。

当您为 AI 基准测试任务提供 VPC 配置时，该服务会在您指定的 VPC 子网和安全组内创建资源。

## 身份和访问管理
<a name="inference-optimization-iam"></a>

Amazon SageMaker AI 推理优化使用 AWS 身份和访问管理 (IAM) 来控制对其资源和操作的访问权限。

### SageMaker AI 推理优化如何与 IAM 配合使用
<a name="inference-optimization-iam-how"></a>

SageMaker 人工智能推理优化可通过 SageMaker AI API 进行访问。所有 API 调用均使用 IAM 进行身份验证和授权。

推理优化 API 使用以下 IAM 操作命名空间：
+ `sagemaker:CreateAIWorkloadConfig`
+ `sagemaker:DescribeAIWorkloadConfig`
+ `sagemaker:ListAIWorkloadConfigs`
+ `sagemaker:DeleteAIWorkloadConfig`
+ `sagemaker:CreateAIBenchmarkJob`
+ `sagemaker:DescribeAIBenchmarkJob`
+ `sagemaker:ListAIBenchmarkJobs`
+ `sagemaker:StopAIBenchmarkJob`
+ `sagemaker:DeleteAIBenchmarkJob`
+ `sagemaker:CreateAIRecommendationJob`
+ `sagemaker:DescribeAIRecommendationJob`
+ `sagemaker:ListAIRecommendationJobs`
+ `sagemaker:StopAIRecommendationJob`
+ `sagemaker:DeleteAIRecommendationJob`

### 执行角色
<a name="inference-optimization-execution-roles"></a>

在创建 AI 基准测试任务或 AI 推荐任务时，您需要提供一个 IAM 执行角色 (`RoleArn`)。该服务扮演此角色在您的 AWS 账户中执行操作，例如：
+ 创建和管理 SageMaker AI 训练作业、端点和优化作业
+ 从 Amazon S3 读取模型工件
+ 将基准测试结果写入 Amazon S3
+ 从 Secrets Manager 访问 AWS 密钥

执行角色必须具有允许 SageMaker AI 服务担任该角色的信任策略。有关创建 SageMaker AI 执行角色的更多信息，请参阅 [SageMaker AI 角色](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html)。

### 资源隔离
<a name="inference-optimization-resource-isolation"></a>

SageMaker AI 推理优化可强制执行账户级隔离。每个作业和工作负载配置的范围均限于创建它的 AWS 帐户。您无法访问或修改属于其他 AWS 账户的资源。

该服务创建的所有 SageMaker AI 资源（训练作业、终端节点、优化任务）都是使用您的执行角色在您的 AWS 账户中创建的，并受您账户的 IAM 策略和服务配额的约束。

## 安全最佳实践
<a name="inference-optimization-best-practices"></a>

以下最佳实操是一般准则，并不代表完整的安全解决方案。这些最佳实操可能不适合您的环境或不满足您的环境要求，请将其视为有用的考虑因素而不是惯例。

### 预防性最佳实践
<a name="inference-optimization-preventative"></a>
+ **对 IAM 策略使用最低权限。**仅授予用户和执行角色所需的最低权限。避免在 IAM 策略中使用通配符 (`*`) 操作或资源。
+ **为不同的工作负载使用不同的执行角色。**为基准作业和推荐任务创建专用 IAM 执行角色，而不是在所有工作负载之间共享一个角色。
+ **使用 S AWS ecrets Manager 获取敏感值。**当您的工作负载规格需要诸如 Hugging Face 访问令牌之类的敏感值时，请使用`secrets`该字段通过 ARN AWS 引用 Secrets Manager 机密，而不是将其作为纯文本参数传递。
+ **限制执行角色信任策略。**在执行角色信任策略中使用`aws:SourceAccount`和`aws:SourceArn`条件以防止出现混乱的副手问题。
+ **将 Amazon S3 权限的范围限定为特定的存储桶。**对用于模型工件`s3:GetObject`和基准测试输出的特定 Amazon S3 存储桶和前缀进行限制和`s3:PutObject`权限。
+ **启用 Amazon S3 存储桶加密。**确保用于模型工件和基准测试结果的 Amazon S3 存储桶已启用服务器端加密。
+ **使用标签进行访问控制。**将标签应用于您的 AI 工作负载配置、基准测试作业和推荐作业。您可以在 IAM 策略中使用基于标签的条件来控制对特定资源的访问权限。

### 检测性最佳实践
<a name="inference-optimization-detective"></a>
+ **启用 AWS CloudTrail。** CloudTrail 提供在您的账户中进行的所有 SageMaker AI API 调用的记录，包括推理优化操作。
+ **使用 Amazon 进行监控 CloudWatch。**使用 Amazon CloudWatch 指标和警报来监控您的基准和推荐任务的状态和性能。
+ **查看 IAM 访问分析器的调查结果。**使用 IAM Access Analyzer 来识别授予对您的 A SageMaker I 资源过于宽泛的访问权限的 IAM 策略。
+ **启用 Amazon S3 访问日志。**在用于模型项目和基准测试结果的 Amazon S3 存储桶上启用服务器访问日志以跟踪访问模式。