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

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

访问控制和 SageMaker Studio 笔记本

Amazon SageMaker Studio 使用文件系统和容器权限来控制和隔离 Studio 用户和笔记本电脑。这是 Studio 笔记本电脑和 SageMaker 笔记本实例之间的主要区别之一。本主题介绍如何设置权限以避免安全威胁、SageMaker 默认执行的操作以及客户如何自定义权限。有关 Studio 笔记本及其运行时环境的更多信息,请参阅。使用 Amazon SageMaker Studio 笔记本.

SageMaker 应用程序权限

A以用户身份运行是 POSIX 用户/组,用于在容器内运行 JupyterServer 应用程序和核网关应用程序。

默认情况下,JupyterServer 应用程序的运行身份用户是用户 (1000)。此用户具有 sudo 权限,可以启用依赖关系(如 yum 软件包)的安装。

默认情况下,内核网关应用程序的运行身份用户是根用户 (0)。此用户可以使用 PIP/ apt-get/conda 安装依赖关系。

由于前面提到的用户重新映射,任何用户都无法访问资源或对主机实例进行更改。

用户重新映射

SageMaker 执行用户重映射,将容器内的用户映射到容器外主机实例上的用户。容器中的用户 ID 范围 (0-65535) 映射到实例上大于 65535 的非特权用户 ID。例如,容器内的 sagemaker 用户 (1000) 可能映射到实例上的用户 (200001),其中括号中的数字是用户 ID。如果客户在容器内创建新的用户/组,则无论用户/组 ID 如何,它都不会在主机实例上拥有特权。容器的 root 用户也映射到实例上的非特权用户。有关更多信息,请参阅 。使用用户命名空间隔离容器.

自定义映像权限

客户可自带自己的 SageMaker 图像。这些映像可以指定不同的运行作为用户/组来启动 KernelGateway 应用程序。客户可以在映像内部实施精细的权限控制,例如,禁用 root 访问或执行其他操作。此处适用相同的用户重新映射。有关更多信息,请参阅自带 SageMaker 映像

容器隔离

Docker 保留容器可以使用的默认功能列表。SageMaker 不会添加其他功能。SageMaker 添加了特定的路由规则来阻止向亚马逊 EFS 和实例元数据服务(IMDS) 从容器中。客户无法从容器更改这些路由规则。有关更多信息,请参阅 。运行时权限和 Linux 功能.

应用程序的元数据

正在运行的应用程序使用的元数据将以只读权限挂载到容器中。客户无法从容器修改此元数据。有关可用元数据,请参阅获取笔记本和应用程序元数据.

EFS 上的用户隔离

登录到 Studio 时,SageMaker 会为您的域创建一个 Amazon Elastic File System (EFS) 卷,该卷由域中的所有 Studio 用户共享。每个用户都可以在 EFS 卷上获取自己的专用主目录。此主目录用于存储用户的笔记本电脑、Git 存储库和其他数据。为防止域中的其他用户访问用户的数据,SageMaker 会为用户的配置文件创建一个全局唯一的用户 ID,并将其作为用户主目录的 POSIX 用户/组 ID 应用。

EBS 的访问

Amazon Elastic Block Store (Amazon EBS) 卷附加到主机实例并在所有映像之间共享。它用于笔记本的根卷,并存储容器内生成的临时数据。当运行笔记本的实例被删除时,存储不会保留。容器内的 root 用户无法访问 EBS 卷。

IMDS 访问

出于安全考虑,SageMaker Studio 中无法访问 Amazon Elastic Compute Cloud (Amazon EC2) 实例元数据服务 (IMDS)。有关 IMDS 的更多信息,请参阅实例元数据和用户数据.