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

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

对于许多 SageMaker 应用程序,当您在域中启动 SageMaker 应用程序时,会为应用程序创建一个空间。当用户配置文件创建一个空间时,该空间会承担一个 AWS Identity and Access Management (IAM) 角色,该角色定义了授予该空间的权限。下一页提供了有关空间类型和定义空间权限的执行角色的信息。

IAM 角色是可在账户中创建的一种具有特定权限的 IAM 身份。IAM 角色类似于 IAM 用户,因为它是一个 AWS 身份,具有确定其在 AWS 中可执行和不可执行的操作的权限策略。但是,角色旨在让需要它的任何人代入,而不是唯一地与某个人员关联。此外,角色没有关联的标准长期凭证(如密码或访问密钥)。相反,当您代入角色时,它会为您提供角色会话的临时安全凭证。

注意

当您启动 Amazon SageMaker Canvas 或 RStudio 时,它不会创建一个承担 IAM 角色的空间。取而代之的是更改与用户配置文件相关的角色,以管理应用程序的权限。有关获取 SageMaker 用户配置文件角色的信息,请参阅 获取用户执行角色

有关 SageMaker Canvas,请参阅 Amazon SageMaker Canvas 设置和权限管理(针对 IT 管理员)

关于 RStudio,请参阅 使用 RStudio 应用程序创建 Amazon SageMaker 域

用户可在共享或专用空间内访问其 SageMaker 应用程序。

共享空间

  • 一个应用程序只能有一个相关空间。域内的所有用户配置文件都可以访问共享空间。这样,域中的所有用户配置文件都能访问应用程序的同一基础文件存储系统。

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

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

    有关修改执行角色的信息,请参阅 修改执行角色(管理控制台)的权限

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

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

专用空间

  • 一个应用程序只能有一个相关空间。专用空间只能由创建该空间的用户配置文件访问。该空间不能与其他用户共享。

  • 专用空间将承担创建它的用户配置文件的用户配置文件执行角色。如果要修改专用空间的执行角色,必须修改用户配置文件的执行角色。

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

    有关修改执行角色的信息,请参阅 修改执行角色(管理控制台)的权限

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

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

SageMaker 执行角色

SageMaker 执行角色是一个 AWS 身份和访问管理 (IAM) 角色,分配给在 SageMaker 中执行任务的 IAM 身份。一个 IAM 身份提供对 AWS 账户的访问权限,代表一个人工用户或程序工作负载,可以对其进行身份验证,然后授权其在 AWS 中执行操作,并授予 SageMaker 代表您访问其他 AWS 资源的权限。该角色允许 SageMaker 执行各种操作,如启动计算实例、访问存储在 Amazon S3 中的数据和模型构件,或将日志写入 CloudWatch。SageMaker 在运行时承担执行角色,并临时授予该角色策略中定义的权限。角色应包含必要的权限,以定义身份可执行的操作和身份可访问的资源。您可以为各种身份分配角色,从而以灵活、细化的方式管理域内的权限和访问。有关域的更多信息,请参阅 Amazon SageMaker 域概述。例如,您可以将 IAM 角色分配给:

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

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

  • 用户配置文件执行角色,为特定用户配置文件授予精细权限。用户配置文件创建的专用空间将承担该用户配置文件的执行角色。

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

对执行角色的任何更改或修改都可能需要几分钟的时间来传播。更多信息,请分别参阅 更改您的执行角色修改执行角色(管理控制台)的权限

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

通过 IAM 角色,您可以管理和授予广泛和精细的权限。下面的示例包括授予空间级和用户级权限。

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

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

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