亚马逊 A SageMaker I 是如何使用的 IAM - 亚马逊 SageMaker AI

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

亚马逊 A SageMaker I 是如何使用的 IAM

重要

允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义IAM策略还必须授予向这些资源添加标签的权限。之所以需要为资源添加标签的权限,是因为 Studio 和 Studio Classic 会自动为创建的任何资源添加标签。如果IAM策略允许 Studio 和 Studio Classic 创建资源但不允许标记,则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息,请参阅 提供标记 A SageMaker I 资源的权限

AWS 亚马逊 A SageMaker I 的托管策略授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。

在使用管理IAM对 SageMaker AI 的访问权限之前,您应该了解哪些IAM功能可用于 A SageMaker I。要全面了解 A SageMaker I 和其他 AWS 服务的使用方式IAM,请参阅AWS 《服务授权参考》IAM中的 “之配合使用的服务”。

适用于 Amazon AI 的基于身份的政策 SageMaker

通过使用 IAM 基于身份的策略,您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。 SageMaker AI 支持特定的操作、资源和条件键。要了解您在JSON策略中使用的所有元素,请参阅服务授权参考中的IAMJSON策略元素参考

Amazon A SageMaker I 内部基于资源的政策

支持基于资源的策略:

基于资源的JSON策略是您附加到资源的策略文档。基于资源的策略的示例包括 IAM 角色信任策略和 Amazon S3 桶策略。在支持基于资源的策略的服务中,服务管理员可以使用它们来控制对特定资源的访问。对于在其中附加策略的资源,策略定义指定主体可以对该资源执行哪些操作以及在什么条件下执行。您必须在基于资源的策略中指定主体。委托人可以包括账户、用户、角色、联合用户或 AWS 服务。

要启用跨账户存取,您可以将整个账户或其他账户中的 IAM 实体指定为基于资源的策略中的主体。将跨账户主体添加到基于资源的策略只是建立信任关系工作的一半而已。当委托人和资源位于不同的 AWS 账户中时,可信账户中的IAM管理员还必须向委托人实体(用户或角色)授予访问资源的权限。他们通过将基于身份的策略附加到实体以授予权限。但是,如果基于资源的策略向同一个账户中的主体授予访问权限,则不需要额外的基于身份的策略。有关更多信息,请参阅《IAM用户指南》IAM中的跨账户资源访问权限

注意

AWS Resource Access Manager用于安全共享支持的 SageMaker AI 资源。要查找可共享资源列表,请参阅可共享的 Amazon A SageMaker I 资源。

亚马逊 A SageMaker I 的政策行动

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

JSON策略Action元素描述了可用于在策略中允许或拒绝访问的操作。策略操作通常与关联的 AWS API操作同名。也有一些例外,例如没有匹配API操作的仅限权限的操作。还有一些操作需要在策略中执行多个操作。这些附加操作称为相关操作

在策略中包含操作以授予执行关联操作的权限。

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

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

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

您也可以使用通配符 (*) 指定多个操作。例如,要指定以单词 Describe 开头的所有操作,包括以下操作:

"Action": "sagemaker:Describe*"

要查看 A SageMaker I 操作列表,请参阅《服务授权参考》中的 Amazon A SageMaker I 的操作、资源和条件密钥

Amazon A SageMaker I 的政策资源

支持策略资源:

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

ResourceJSON策略元素指定要应用操作的一个或多个对象。语句必须包含 ResourceNotResource 元素。最佳做法是,使用资源的 Amazon 资源名称 (ARN) 来指定资源。对于支持特定资源类型(称为资源级权限)的操作,您可以执行此操作。

对于不支持资源级权限的操作(如列出操作),请使用通配符(*)指示语句应用于所有资源。

"Resource": "*"

要查看 Amazon A SageMaker I 资源类型及其列表ARNs,请参阅以下参考资料,了解 Amazon A SageMaker I 在《服务授权参考》中定义的操作、资源类型和条件密钥。

要了解您可以为每种资源指定哪些操作,请参阅 Amazon A SageMaker I 定义的操作。ARN

亚马逊 A SageMaker I 的策略条件密钥

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

Condition 元素(或 Condition )中,可以指定语句生效的条件。Condition 元素是可选的。您可以创建使用条件运算符(例如,等于或小于)的条件表达式,以使策略中的条件与请求中的值相匹配。

如果您在一个语句中指定多个 Condition 元素,或在单个 Condition 元素中指定多个键,则 AWS 使用逻辑 AND 运算评估它们。如果您为单个条件键指定多个值,则使用逻辑OR运算来 AWS 评估条件。在授予语句的权限之前必须满足所有的条件。

在指定条件时,您也可以使用占位符变量。例如,仅当 IAM 用户使用其 IAM 用户名进行标记时,您才可为其授予访问资源的权限。有关更多信息,请参阅《IAM 用户指南》中的 IAM 策略元素:变量和标签

AWS 支持全局条件密钥和特定于服务的条件密钥。要查看所有 AWS 全局条件键,请参阅《IAM用户指南》中的AWS 全局条件上下文密钥

SageMaker AI 定义了自己的一组条件键,还支持使用一些全局条件键。要查看所有 AWS 全局条件密钥,请参阅《服务授权参考》中的AWS 全局条件上下文密钥

SageMaker AI 支持许多特定于服务的条件密钥,您可以使用这些条件密钥对以下操作进行精细的访问控制:

要查看 A SageMaker I 条件密钥列表,请参阅《服务授权参考》中的 SageMaker Amazon AI 条件密钥。要了解您可以使用条件键的操作和资源,请参阅 Amazon A SageMaker I 定义的操作

有关使用 SageMaker AI 条件键的示例,请参阅以下内容:使用条件键控制 SageMaker AI 资源的创建

示例

要查看基于 SageMaker AI 身份的策略示例,请参阅。亚马逊 SageMaker AI 基于身份的策略示例

基于 SageMaker AI 标签的授权

您可以向 SageMaker AI 资源附加标签,也可以在请求中将标签传递给 SageMaker AI。要基于标签控制访问,您需要使用 sagemaker:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 条件键在策略的条件元素中提供标签信息。有关为 SageMaker AI 资源添加标签的更多信息,请参阅使用标签控制对 SageMaker AI 资源的访问权限

要查看基于身份的策略(用于根据资源上的标签来限制对该资源的访问)的示例,请参阅使用标签控制对 SageMaker AI 资源的访问权限

SageMaker AI IAM 角色

IAM角色是您的 AWS 账户中具有特定权限的实体。

在 SageMaker AI 中使用临时证书

您可以使用临时凭证进行联合身份登录,担任 IAM 角色或担任跨账户角色。您可以通过调用AssumeRole或之类的 AWS STS API操作来获取临时安全证书GetFederationToken

SageMaker AI 支持使用临时证书。

服务相关角色

SageMaker AI 部分支持服务相关角色。 SageMaker Studio Classic 目前提供服务相关角色。

服务角色

此功能允许服务代表您担任服务角色。此角色允许服务访问其他服务中的资源以代表您完成操作。服务角色显示在您的 IAM 账户中,并由该账户拥有。这意味着 IAM 管理员可以更改此角色的权限。但是,这样做可能会中断服务的功能。

SageMaker AI 支持服务角色。

选择在 SageMaker AI 中IAM扮演的角色

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