

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

# Amazon A SageMaker I 如何与 IAM 配合使用
<a name="security_iam_service-with-iam"></a>

**重要**  
允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义 IAM 策略还必须授予向这些资源添加标签的权限。之所以需要为资源添加标签的权限，是因为 Studio 和 Studio Classic 会自动为创建的任何资源添加标签。如果 IAM 策略允许 Studio 和 Studio Classic 创建资源但不允许标记，则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息，请参阅 [提供标记 A SageMaker I 资源的权限](security_iam_id-based-policy-examples.md#grant-tagging-permissions)。  
[Amazon 亚马逊 A SageMaker I 的托管策略](security-iam-awsmanpol.md)授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。

在使用 IAM 管理对 A SageMaker I 的访问权限之前，您应该了解哪些可用于 A SageMaker I 的 IAM 功能。要全面了解 A SageMaker I 和其他 Amazon 服务如何与 IAM 配合使用，请参阅《[Amazon 服务授权参考》中的 “与 IAM 配合](https://docs.amazonaws.cn/service-authorization/latest/reference/reference_aws-services-that-work-with-iam.html)*使用的服务*”。

**Topics**
+ [适用于 Amazon AI 的基于身份的政策 SageMaker](#security_iam_service-with-iam-id-based-policies)
+ [Amazon A SageMaker I 内部基于资源的政策](#security_iam_service-with-iam-resource-based-policies)
+ [亚马逊 A SageMaker I 的政策行动](#security_iam_service-with-iam-id-based-policies-actions)
+ [Amazon A SageMaker I 的政策资源](#security_iam_service-with-iam-id-based-policies-resources)
+ [亚马逊 A SageMaker I 的策略条件密钥](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [基于 SageMaker AI 标签的授权](#security_iam_service-with-iam-tags)
+ [SageMaker AI IAM 角色](#security_iam_service-with-iam-roles)

## 适用于 Amazon AI 的基于身份的政策 SageMaker
<a name="security_iam_service-with-iam-id-based-policies"></a>

通过使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。 SageMaker AI 支持特定的操作、资源和条件键。要了解 JSON 策略中使用的所有元素，请参阅*服务授权参考*中的 [IAM JSON 策略元素参考](https://docs.amazonaws.cn/service-authorization/latest/reference/reference_policies_elements.html)。

## Amazon A SageMaker I 内部基于资源的政策
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**支持基于资源的策略：**否 

基于资源的策略是附加到资源的 JSON 策略文档。基于资源的策略的示例包括 IAM *角色信任策略*和 Amazon S3 *存储桶策略*。在支持基于资源的策略的服务中，服务管理员可以使用它们来控制对特定资源的访问。对于在其中附加策略的资源，策略定义指定主体可以对该资源执行哪些操作以及在什么条件下执行。您必须在基于资源的策略中[指定主体](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements_principal.html)。委托人可以包括账户、用户、角色、联合用户或 Amazon 服务。

要启用跨账户访问，您可以将整个账户或其他账户中的 IAM 实体指定为基于资源的策略中的主体。将跨账户委托人添加到基于资源的策略只是建立信任关系工作的一半而已。当主体和资源位于不同的 Amazon 账户中时，受信任账户中的 IAM 管理员还必须授予主体实体（用户或角色）访问资源的权限。他们通过将基于身份的策略附加到实体以授予权限。但是，如果基于资源的策略向同一个账户中的主体授予访问权限，则不需要额外的基于身份的策略。有关更多信息，请参阅*《IAM 用户指南》*中的 [IAM 中的跨账户资源访问](https://docs.amazonaws.cn//IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

**注意**  
[Amazon Resource Access Manager](https://docs.amazonaws.cn/ram/latest/userguide/what-is.html)用于安全共享支持的 SageMaker AI 资源。要查找可共享资源列表，请参阅可[共享的 Amazon A SageMaker I](https://docs.amazonaws.cn/ram/latest/userguide/shareable.html#shareable-sagemaker) 资源。

## 亚马逊 A SageMaker I 的政策行动
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理员可以使用 Amazon JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

 SageMaker AI 中的策略操作在操作前使用以下前缀:`sagemaker:`. 例如，要授予某人使用 SageMaker A `CreateTrainingJob` I API 操作运行 A SageMaker I 训练作业的权限，您需要将该`sagemaker:CreateTrainingJob`操作包含在他们的策略中。策略声明必须包含`Action`或`NotAction`元素。 SageMaker AI 定义了自己的一组操作，这些操作描述了您可以使用此服务执行的任务。

要在单个语句中指定多项操作，请使用逗号将它们隔开，如下所示：

```
"Action": [
      "sagemaker:action1",
      "sagemaker:action2"
]
```

您也可以使用通配符 （\$1) 指定多个操作。例如，要指定以单词 `Describe` 开头的所有操作，包括以下操作：

```
"Action": "sagemaker:Describe*"
```



要查看 A SageMaker I 操作列表，请参阅*服务授权参考*中的 [Amazon A SageMaker I 的操作、资源和条件密钥](https://docs.amazonaws.cn/service-authorization/latest/reference/list_amazonsagemaker.html)。

## Amazon A SageMaker I 的政策资源
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>



**支持策略资源：**是

管理员可以使用 Amazon JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Resource` JSON 策略元素指定要向其应用操作的一个或多个对象。语句必须包含 `Resource` 或 `NotResource` 元素。作为最佳实践，请使用其 [Amazon 资源名称（ARN）](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference-arns.html)指定资源。对于支持特定资源类型（称为*资源级权限*）的操作，您可以执行此操作。

对于不支持资源级权限的操作（如列出操作），请使用通配符（\$1）指示语句应用于所有资源。

```
"Resource":  "*"
```

要查看 Amazon A SageMaker I 资源类型及其列表 ARNs，请参阅以下参考资料，了解 Amazon A SageMaker I 在《*服务授权参考*》中定义的操作、资源类型和条件密钥。
+ [亚马逊 SageMaker AI](https://docs.amazonaws.cn/service-authorization/latest/reference/list_amazonsagemaker.html)
+ [Amazon SageMaker 地理空间功能](https://docs.amazonaws.cn/service-authorization/latest/reference/list_amazonsagemakergeospatialcapabilities.html)
+ [Amazon G SageMaker round Truth 合成](https://docs.amazonaws.cn/service-authorization/latest/reference/list_amazonsagemakergroundtruthsynthetic.html)
+ [带有 Amazon SageMaker AI MLflow](https://docs.amazonaws.cn/service-authorization/latest/reference/list_amazonsagemakerwithmlflow.html)

要了解您可以使用哪些操作来指定每种资源的 ARN，请参阅 [Ama SageMaker zon AI 定义的操作](https://docs.amazonaws.cn/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)。

## 亚马逊 A SageMaker I 的策略条件密钥
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

管理员可以使用 Amazon JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Condition` 元素根据定义的条件指定语句何时执行。您可以创建使用[条件运算符](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。要查看所有 Amazon 全局条件键，请参阅 *IAM 用户指南*中的[Amazon 全局条件上下文密钥](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

SageMaker AI 定义了自己的一组条件键，还支持使用一些全局条件键。要查看所有 Amazon 全局条件密钥，请参阅《*服务授权参考*》中的[Amazon 全局条件上下文密钥](https://docs.amazonaws.cn/service-authorization/latest/reference/reference_policies_condition-keys.html)。



SageMaker AI 支持许多特定于服务的条件密钥，您可以使用这些条件密钥对以下操作进行精细的访问控制：
+ [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateProcessingJob.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateProcessingJob.html)
+ [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateTrainingJob.html)
+ [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateModel.html)
+ [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateEndpointConfig.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)
+ [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateTransformJob.html)
+ [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)
+ [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateLabelingJob.html)
+ [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)
+ [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html)

要查看 A SageMaker I 条件密钥列表，请参阅《*服务授权参考*》中的 [ SageMaker Amazon AI 条件密](https://docs.amazonaws.cn/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-policy-keys)钥。要了解您可以使用条件键的操作和资源，请参阅 [Amazon A SageMaker I 定义的操作](https://docs.amazonaws.cn/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)。

有关使用 SageMaker AI 条件键的示例，请参阅以下内容：[使用条件键控制 SageMaker AI 资源的创建](security_iam_id-based-policy-examples.md#sagemaker-condition-examples)。

### 示例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



要查看基于 SageMaker AI 身份的策略示例，请参阅。[亚马逊 SageMaker AI 基于身份的策略示例](security_iam_id-based-policy-examples.md)

## 基于 SageMaker AI 标签的授权
<a name="security_iam_service-with-iam-tags"></a>

您可以向 SageMaker AI 资源附加标签，也可以在请求中将标签传递给 SageMaker AI。要基于标签控制访问，您需要使用 `sagemaker:ResourceTag/key-name``aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.amazonaws.cn/service-authorization/latest/reference/reference_policies_elements_condition.html)中提供标签信息。有关为 SageMaker AI 资源添加标签的更多信息，请参阅[使用标签控制对 SageMaker AI 资源的访问权限](security_iam_id-based-policy-examples.md#access-tag-policy)。

要查看基于身份的策略（用于根据资源上的标签来限制对该资源的访问）的示例，请参阅 [使用标签控制对 SageMaker AI 资源的访问权限](security_iam_id-based-policy-examples.md#access-tag-policy)。

## SageMaker AI IAM 角色
<a name="security_iam_service-with-iam-roles"></a>

I [AM 角色](https://docs.amazonaws.cn/service-authorization/latest/reference/id_roles.html)是您的 Amazon 账户中具有特定权限的实体。

### 在 SageMaker AI 中使用临时证书
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

可以使用临时凭证进行联合身份验证登录，分派 IAM 角色或分派跨账户角色。您可以通过调用[AssumeRole](https://docs.amazonaws.cn/STS/latest/APIReference/API_AssumeRole.html)或之类的 Amazon STS API 操作来获取临时安全证书[GetFederationToken](https://docs.amazonaws.cn/STS/latest/APIReference/API_GetFederationToken.html)。

SageMaker AI 支持使用临时证书。

### 服务关联角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

SageMaker AI 部分支持[服务相关角色](https://docs.amazonaws.cn/service-authorization/latest/reference/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。 SageMaker Studio Classic 目前提供服务相关角色。

### 服务角色
<a name="security_iam_service-with-iam-roles-service"></a>

此功能允许服务代表您担任[服务角色](https://docs.amazonaws.cn/service-authorization/latest/reference/id_roles_terms-and-concepts.html#iam-term-service-role)。此角色允许服务访问其他服务中的资源以代表您完成操作。服务角色显示在 IAM 账户中，并归该账户所有。这意味着，IAM 管理员可以更改该角色的权限。但是，这样做可能会中断服务的功能。

SageMaker AI 支持服务角色。

### 在 A SageMaker I 中选择 IAM 角色
<a name="security_iam_service-with-iam-roles-choose"></a>

在 SageMaker AI 中创建笔记本实例、处理作业、训练作业、托管端点或批量转换作业资源时，必须选择一个角色才能允许 SageMaker A SageMaker I 代表您访问 AI。如果您之前创建过服务角色或服务相关角色， SageMaker AI 会为您提供角色列表供您选择。选择一个允许访问所需 Amazon 操作和资源的角色非常重要。有关更多信息，请参阅 [如何使用 SageMaker AI 执行角色](sagemaker-roles.md)。