Control de acceso y establecimiento de permisos para los cuadernos de SageMaker Studio - Amazon SageMaker AI

Control de acceso y establecimiento de permisos para los cuadernos de SageMaker Studio

Amazon SageMaker Studio utiliza permisos de contenedores y sistemas de archivos para el control de acceso y el aislamiento de los usuarios y cuadernos de Studio. Esta es una de las principales diferencias entre los cuadernos de Studio y las instancias de cuaderno de SageMaker. En este tema se describe cómo se configuran los permisos para evitar amenazas a la seguridad, qué hace SageMaker AI de forma predeterminada y cómo el cliente puede personalizar los permisos. Para obtener más información sobre los cuadernos de Studio y su entorno de tiempo de ejecución, consulte Uso de cuadernos de Amazon SageMaker Studio Classic.

Permisos de la aplicación de SageMaker AI

Un usuario Ejecutar como es un usuario/grupo POSIX que se utiliza para ejecutar la aplicación JupyterServer y las aplicaciones KernelGateway dentro del contenedor.

El usuario Ejecutar como de la aplicación JupyterServer es sagemaker-user (1000) de forma predeterminada. Este usuario tiene permisos de sudo para permitir la instalación de dependencias, como los paquetes yum.

El usuario Ejecutar como de las aplicaciones de KernelGateway es raíz (0) de forma predeterminada. Este usuario puede instalar dependencias mediante pip/apt-get/conda.

Debido a la reasignación de usuarios, ninguno de los usuarios puede acceder a los recursos ni realizar cambios en la instancia host.

Reasignación de usuarios

SageMaker AI realiza una reasignación de usuarios para asignar un usuario dentro del contenedor a un usuario de la instancia host situada fuera del contenedor. El rango de ID de usuario (0 - 65535) del contenedor se asigna a los ID de usuario no privilegiados superiores a 65535 en la instancia. Por ejemplo, el sagemaker-user (1000) del contenedor podría asignarse al usuario (200001) de la instancia, donde el número entre paréntesis es el ID de usuario. Si el cliente crea un nuevo usuario o grupo dentro del contenedor, no tendrá privilegios en la instancia host, independientemente del ID de usuario o grupo. El usuario raíz del contenedor también se asigna a un usuario sin privilegios de la instancia. Para obtener más información, consulte Isolate containers with a user namespace.

nota

Puede parecer que los archivos creados por el usuario sagemaker-user son propiedad de sagemaker-studio (uid 65534). Este es un efecto secundario de un modo de creación rápida de aplicaciones, en el que las imágenes del contenedor de SageMaker AI se extraen previamente, lo que permite que las aplicaciones se inicien en menos de un minuto. Si su aplicación requiere que el uid del propietario del archivo y el uid del propietario del proceso coincidan, pida al servicio de atención al cliente que elimine su número de cuenta de la característica de extracción previa de imágenes.

Permisos de imagen personalizados

Los clientes pueden traer sus propias imágenes personalizadas de SageMaker. Estas imágenes pueden especificar un usuario/grupo de ejecución diferente para iniciar la aplicación KernelGateway. El cliente puede implementar un control de permisos detallado dentro de la imagen, por ejemplo, para deshabilitar el acceso raíz o realizar otras acciones. En este caso, se aplica la misma reasignación de usuarios. Para obtener más información, consulte Personalización de imágenes de Amazon SageMaker Studio Classic.

Aislamiento de contenedores

Docker mantiene una lista de las capacidades predeterminadas que puede usar el contenedor. SageMaker AI no agrega capacidades adicionales. SageMaker AI agrega reglas de ruta específicas para bloquear las solicitudes a Amazon EFS y al servicio de metadatos de instancias (IMDS) desde el contenedor. Los clientes no pueden cambiar estas reglas de ruta desde el contenedor. Para obtener más información, consulte Runtime privilege and Linux capabilities.

Acceso a los metadatos de la aplicación

Los metadatos que utilizan las aplicaciones en ejecución se montan en el contenedor con un permiso de solo lectura. Los clientes no pueden modificar estos metadatos desde el contenedor. Para ver los metadatos disponibles, consulte Obtención de metadatos de cuadernos y aplicaciones de Amazon SageMaker Studio Classic.

Aislamiento de usuarios en EFS

Cuando se incorpora a Studio, SageMaker AI crea un volumen de Amazon Elastic File System (EFS) para su dominio que comparten todos los usuarios de Studio del dominio. Cada usuario obtiene su propio directorio principal privado en el volumen EFS. Este directorio principal se usa para almacenar los cuadernos del usuario, los repositorios de Git y otros datos. Para evitar que otros usuarios del dominio accedan a los datos del usuario, SageMaker AI crea un ID de usuario único global para el perfil del usuario y lo aplica como ID de usuario/grupo POSIX para el directorio principal del usuario.

Acceso a EBS

Se asocia un volumen de Amazon Elastic Block Store (Amazon EBS) a la instancia host y se comparte en todas las imágenes. Se usa para el volumen raíz de los cuadernos y almacena los datos temporales que se generan dentro del contenedor. El almacenamiento no se conserva cuando se elimina la instancia en la que se ejecutan los cuadernos. El usuario raíz que se encuentra dentro del contenedor no puede acceder al volumen de EBS.

Acceso a IMDS

Por motivos de seguridad, el acceso al servicio de metadatos de instancias (IMDS) de Amazon Elastic Compute Cloud (Amazon EC2) no está disponible en SageMaker Studio. Para obtener más información sobre IMDS, consulte Metadatos de instancia y datos de usuario.