IAM 访问管理 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

IAM 访问管理

以下部分介绍了Amazon Identity and Access Management(IAM) 亚马逊的要求 SageMaker 模型构建管道。有关如何实现这些权限的示例,请参阅。先决条件.

管道角色权限

您的管道需要一个传递给的 IAM 管道执行角色 SageMaker 创建管道时的管道。 的角色 SageMaker 正在创建管道的实例必须具有iam:PassRole为了传递管道执行角色的权限。 有关 IAM 角色的更多信息,请参阅IAM 角色.

您的管道执行角色需要以下权限:

  • 要将任何角色传递给 SageMaker 在管道内的工作,iam:PassRole对正在传递的角色的权限。 

  • CreateDescribe管道中每种作业类型的权限。

  • Amazon S3 有权使用JsonGetfunction. 您使用基于资源的策略和基于身份的策略控制对 Amazon S3 资源的访问。基于资源的策略将应用于 Amazon S3 存储桶并授予。 SageMaker 管道访问存储桶。基于身份的策略使您的管道能够从您的账户拨打 Amazon S3 调用。有关基于资源的策略和基于身份的策略的更多信息,请参阅。基于身份的策略和基于资源的策略.

    { "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::<your-bucket-name>/*", "Effect": "Allow" }

管道步骤权限

SageMaker 管道包括运行的步骤 SageMaker 个作业。为了使管道步骤运行这些作业,它们需要在您的账户中拥有 IAM 角色以提供对所需资源的访问权限。此角色被传递给 SageMaker 由你的管道提供服务主体。有关 IAM 角色的更多信息,请参阅IAM 角色.

默认情况下,每个步骤都采用管道执行角色。您可以选择将不同的角色传递给管道中的任何步骤。这可确保每个步骤中的代码无法影响在其他步骤中使用的资源,除非在管道定义中指定的两个步骤之间存在直接关系。在为步骤定义处理器或估算器时,您可以传递这些角色。有关如何在这些定义中包含这些角色的示例,请参阅SageMaker Python SDK 文档.

使用管道进行服务控制策略

服务控制策略 (SCP) 是一种组织策略,可用于管理组织中的权限。SCP 为您组织中的所有账户提供对最大可用权限的集中控制。通过使用 SageMaker 组织内的管道,您可以确保数据科学家管理您的管道执行,而无需与Amazon控制台。 

如果您将 VPC 与 SCP 一起使用限制对 Amazon S3 的访问,则需要采取措施允许管道访问其他 Amazon S3 资源。

允许 SageMaker 使用管道访问 VPC 外的 Amazon S3JsonGet函数,更新组织的 SCP 以确保角色使用 SageMaker 管道可以访问 Amazon S3。要执行此操作,请为正在使用的角色创建例外。 SageMaker 使用委托人标签和条件键通过管道执行角色执行管道执行器。

允许 SageMaker 用于访问您的 VPC 之外的 Amazon S3 的管道

  1. 按照中的步骤为管道执行角色创建唯一标签标记 IAM 用户和角色.

  2. 使用在 SCP 中授予例外Aws:PrincipalTag IAM您创建的标签的条件密钥。有关更多信息,请参阅 。创建、更新和删除服务控制策略.