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

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

访问控制

以下部分介绍 的 AWS Identity and Access Management (IAM) 要求Amazon SageMaker Model Building Pipelines。有关如何实现这些权限的示例,请参阅Prerequisites

管道角色权限

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

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

  • 要将任何角色传递给管道中的SageMaker任务,iam:PassRole要传递的角色的权限。 

  • CreateDescribe 权限。

  • Amazon S3 使用 JsonGet 函数的 权限。您可以使用基于资源的策略和基于身份的策略控制对 Amazon S3 资源的访问。基于资源的策略将应用于您的Amazon S3存储桶并授予对存储桶SageMaker Pipelines的访问权限。基于身份的策略使您的管道能够从您的账户进行Amazon S3调用。有关基于资源的策略和基于身份的策略的更多信息,请参阅基于身份的策略和基于资源的策略

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

管道步骤权限

SageMaker Pipelines 包括运行 SageMaker 作业的步骤。为了使管道步骤运行这些任务,它们需要您的账户中的 IAM 角色,该角色可提供对所需资源的访问权限。此角色由您的管道传递给 SageMaker 服务委托人。有关 IAM 角色的更多信息,请参阅 IAM 角色

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

管道的服务控制策略

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

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

要允许 使用 SageMaker Pipelines 函数Amazon S3访问 VPC JsonGet 外部的 ,请更新组织的 SCP,以确保使用 的角色SageMaker Pipelines可以访问 Amazon S3。为此,请使用委托人标签和条件键,通过管道执行角色为SageMaker Pipelines执行程序使用的角色创建异常。

允许 SageMaker Pipelines 在您的 VPC Amazon S3 外部访问

  1. 按照Tagging IAM users and roles 中的步骤为您的管道执行角色创建唯一标签。

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