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

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

访问控制

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

管道角色权限

您的管道需要 IAM 管道执行角色,当您创建管道时,该角色将传递给 SageMaker 管道。 创建管道的 SageMaker 实例的角色必须具有iam:PassRole权限,以便将其传递给管道执行角色。 有关 IAM 角色的更多信息,请参阅IAM 角色.

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

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

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

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

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

工作流步骤权限

SageMaker 管道包括运行 SageMaker 作业的步骤。为了使管道步骤能够运行这些作业,它们需要您的账户中的 IAM 角色来提供所需资源的访问权限。此角色将通过您的管道传递给 SageMaker 服务承担者。有关 IAM 角色的更多信息,请参阅IAM 角色.

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

带有管道的服务控制策略

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

如果您使用的 VPC 与 SCP 限制了对 Amazon S3 的访问,则需要采取步骤允许管道访问其他 Amazon S3 资源。

允许 SageMaker 管道通过JsonGet函数,请更新组织的 SCP,以确保使用 SageMaker 管道的角色可以访问 Amazon S3。为此,请为 SageMaker Pipeline 执行程序正在使用主体标签和条件键通过管道执行角色使用的角色创建例外。

允许 SageMaker 管道访问 VPC 外的 Amazon S3

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

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