了解域空间权限和执行角色 - Amazon SageMaker

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

了解域空间权限和执行角色

Amazon SageMaker 域名是您的团队访问 SageMaker 资源的环境。域简化了机器学习 (ML) 应用程序、资源和域中用户配置文件的权限的管理。您可以通过您的域访问 SageMaker 应用程序,例如基于代码的代码编辑器OSS、Visual Studio Code-开源 JupyterLabRStudio、和 Studio Classic。有关域的更多信息,请参阅Amazon SageMaker 域名概述

对于许多 SageMaker 应用程序,当您在域中启动 SageMaker 应用程序时,将为该应用程序创建一个空间。当用户配置文件创建空间时,该空间假定为 AWS Identity and Access Management (IAM) 角色,用于定义授予该空间的权限。IAM角色是您可以在自己的账户中创建的具有特定权限的IAM身份。IAM角色与IAM用户类似,因为它是 AWS 使用权限策略确定身份可以做什么和不能做什么 AWS。 但是,与其将一个角色与一个人联系在一起,不如让任何需要它的人都能担任。此外,角色没有关联的标准长期凭证(如密码或访问密钥)。相反,当您代入角色时,它会为您提供角色会话的临时安全凭证。

注意

当你启动 Amazon SageMaker Canvas 或时RStudio,它不会创建一个IAM扮演角色的空间。相反,您可以更改与用户配置文件关联的角色来管理他们对应用程序的权限。有关获取 SageMaker 用户配置文件角色的信息,请参阅获取用户执行角色

有关 SageMaker 画布的信息,请参阅设置和管理 Amazon SageMaker Canvas(面向 IT 管理员)

有关信息RStudio,请参阅使用 RStudio 应用程序创建亚马逊 SageMaker 域名

用户可以在共享或私有空间中访问其 SageMaker 应用程序。

共享空间

  • 一个应用程序只能有一个与之关联的空间。域内的所有用户配置文件均可访问共享空间。这允许域中的所有用户配置文件访问应用程序的同一个底层文件存储系统。

  • 共享空间将被授予由空间默认执行角色定义的权限。如果要修改共享空间的执行角色,则必须修改空间的默认执行角色。

    有关获取空间默认执行角色的信息,请参阅获取空间执行角色

    有关修改执行角色的信息,请参阅修改执行角色的权限

  • 有关共享空间的信息,请参阅使用共享空间进行协作

  • 要创建共享空间,请参阅创建共享空间

私人空间

  • 一个应用程序只能有一个与之关联的空间。只有创建私有空间的用户个人资料才能访问私有空间。此空间不能与其他用户共享。

  • 私有空间将扮演创建它的用户配置文件的用户配置文件执行角色。如果要修改私有空间的执行角色,则必须修改用户配置文件的执行角色。

    有关获取用户配置文件的执行角色的信息,请参阅获取用户执行角色

    有关修改执行角色的信息,请参阅修改执行角色的权限

  • 所有支持空间的应用程序也支持私有空间。

  • 默认情况下,已经为每个用户配置文件创建了 Studio Classic 的专用空间。

  • 在 Amazon SageMaker Studio 中创建私人空间
    1. 启动亚马逊 SageMaker Studio.

    2. 在左侧导航窗格中,在 “应用程序” 下选择要运行的应用程序

    3. 选择 + 创建空间

    4. 输入空间的名称,然后选择 “私人”。

    5. 选择 “创建空间”。

SageMaker 执行角色

SageMaker 执行角色是 AWS 分配给在中执行执行的身份的 Id IAM entity and Access Management (IAM) 角色 SageMaker。IAM身份提供对身份的访问权限 AWS account and 表示人类用户或编程工作负载,可以对其进行身份验证,然后授权其在中执行操作 AWS,它授予 SageMaker 访问其他人的权限 AWS 代表您提供的资源。此角色 SageMaker 允许执行诸如启动计算实例、访问存储在 Amazon S3 中的数据和模型项目或向写入日志之类的操作 CloudWatch。 SageMaker 在运行时担任执行角色,并被临时授予角色策略中定义的权限。该角色应包含必要的权限,用于定义身份可以执行的操作以及该身份可以访问的资源。您可以为各种身份分配角色,以提供灵活而精细的方法来管理域内的权限和访问权限。有关域的更多信息,请参阅Amazon SageMaker 域名概述。例如,您可以将IAM角色分配给:

  • 域执行角色,用于向域内的所有用户配置文件授予广泛权限。

  • 空间执行角色,用于授予对域内共享空间的广泛权限。域中的所有用户配置文件都可以访问共享空间,并且将在共享空间中使用该空间的执行角色。

  • 用户配置文件执行角色,用于为特定用户配置文件授予细粒度权限。由用户配置文件创建的私有空间将扮演该用户配置文件的执行角色。

这使您能够向域授予必要的权限,同时仍然保持用户配置文件最低权限的原则,以遵守中的IAM安全最佳实践 AWS IAM Identity Center 用户指南

对执行角色的任何更改或修改可能需要几分钟才能传播。有关更多信息,请分别参见更改您的执行角色修改执行角色的权限

带有执行角色的灵活权限示例

使用IAM角色,您可以在广泛而精细的级别上管理和授予权限。以下示例包括在空间级别和用户级别授予权限。

假设您是一名管理员,正在为数据科学家团队设置一个域。您可以允许域内的用户配置文件完全访问亚马逊简单存储服务 (Amazon S3) Storage Service 存储桶、 SageMaker 运行训练作业以及使用共享空间中的应用程序部署模型。在此示例中,您可以创建具有广泛权限的名为 DataScienceTeamRole “” 的IAM角色。然后,您可以指定 “DataScienceTeamRole” 作为空间的默认执行角色,从而为您的团队授予广泛的权限。当用户配置文件创建共享空间时,该空间将扮演空间的默认执行角色。有关为现有域分配执行角色的信息,请参阅获取空间执行角色

您可以限制用户个人资料的权限,不允许他们更改 Amazon S3 存储桶,而不允许他们更改 Amazon S3 存储桶,而不是允许在自己的私有空间中工作的个人用户个人资料拥有对 Amazon S3 存储桶的完全访问权限。在此示例中,您可以授予他们对 Amazon S3 存储桶的读取权限,以便在他们的私有空间中检索数据、运行 SageMaker 训练作业和部署模型。您可以创建一个名为 “DataScientistRole” 的用户级执行角色,其权限相对较为有限。然后,您可以将 “DataScientistRole” 分配给用户配置文件执行角色,授予在定义的范围内执行其特定数据科学任务所需的权限。当用户配置文件创建私有空间时,该空间将扮演用户执行角色。有关为现有用户配置文件分配执行角色的信息,请参阅获取用户执行角色

有关 SageMaker 执行角色以及为其添加其他权限的信息,请参阅如何使用 SageMaker 执行角色