了解域空间权限和执行角色 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

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

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

注意

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

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

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

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

这使您能够向域授予必要的权限,同时仍保持用户配置文件最低权限的原则,以遵守用户指南中 IAM 中的安全最佳实践。Amazon 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 执行角色