Contrôle d'accès et blocs-notes SageMaker Studio - Amazon SageMaker

Contrôle d'accès et blocs-notes SageMaker Studio

Amazon SageMaker Studio utilise les autorisations de système de fichiers et de conteneur pour le contrôle d'accès et l'isolation des utilisateurs et des blocs-notes Studio. Il s'agit de l'une des principales différences entre les blocs-notes Studio et les instances de bloc-notes SageMaker. Cette rubrique décrit comment les autorisations sont configurées pour éviter les menaces pour la sécurité, ce que fait SageMaker par défaut et comment le client peut personnaliser les autorisations. Pour de plus amples informations sur les blocs-notes Studio et leur environnement d'exécution, veuillez consulter Utilisation des blocs-notes Amazon SageMaker Studio.

Autorisations des applis SageMaker

Un utilisateur run-as est un utilisateur/groupe POSIX qui est utilisé pour exécuter l'appli JupyterServer et les applis KernelGateway dans le conteneur.

L'utilisateur run-as pour l'appli JupyterServer est sagemaker-user (1000) par défaut. Cet utilisateur dispose d'autorisations sudo pour activer l'installation de dépendances telles que les packages yum.

L'utilisateur run-as pour les applis KernelGateway est racine (0) par défaut. Cet utilisateur est capable d'installer des dépendances en utilisant pip/apt-get/conda.

En raison du remappage d'utilisateur mentionnée précédemment, aucun utilisateur n'est en mesure d'accéder aux ressources ou d'apporter des modifications à l'instance hôte.

Remappage d'utilisateur

SageMaker effectue un remappage d'utilisateur pour mapper un utilisateur à l'intérieur du conteneur à un utilisateur sur l'instance hôte en dehors du conteneur. La plage d'ID utilisateur (0 - 65535) dans le conteneur est mappée à des ID utilisateur non privilégiés supérieurs à 65535 sur l'instance. Par exemple, sagemaker-user (1000) à l'intérieur du conteneur peut mapper à l'utilisateur (200001) sur l'instance, où le nombre entre parenthèses est l'ID utilisateur. Si le client crée un utilisateur/groupe à l'intérieur du conteneur, il ne sera pas privilégié sur l'instance hôte, quel que soit l'ID utilisateur/groupe. L'utilisateur racine du conteneur est également mappé à un utilisateur non privilégié sur l'instance. Pour de plus amples informations, veuillez consulter Isolate containers with a user namespace.

Autorisations d'image personnalisée

Les clients peuvent utiliser leurs propres images SageMaker personnalisées. Ces images peuvent spécifier un autre utilisateur/groupe run-as pour lancer l'appli KernelGateway. Le client peut implémenter un contrôle d'autorisation précis à l'intérieur de l'image, par exemple, pour désactiver l'accès racine ou effectuer d'autres actions. Le même remappage utilisateur s'applique ici. Pour de plus amples informations, veuillez consulter . Importer votre propre image SageMaker.

Isolation du conteneur

Docker conserve une liste des fonctionnalités par défaut que le conteneur peut utiliser. SageMaker n'ajoute pas de fonctionnalités supplémentaires. SageMaker ajoute des règles d'acheminement spécifiques pour bloquer les demandes à Amazon EFS et le service des métadonnées d'instance (IMDS) à partir du conteneur. Les clients ne peuvent pas modifier ces règles d'acheminement à partir du conteneur. Pour de plus amples informations, veuillez consulter Runtime privilege and Linux capabilities.

Accès aux métadonnées de l'appli

Les métadonnées utilisées par les applis en cours d'exécution sont montées sur le conteneur avec une autorisation en lecture seule. Les clients ne sont pas en mesure de modifier ces métadonnées à partir du conteneur. Pour connaître les métadonnées disponibles, veuillez consulter Obtention des métadonnées des blocs-notes et des applications.

Isolation d'utilisateur sur EFS

Lorsque vous effectuez l'onboarding sur Studio, SageMaker crée un volume Amazon Elastic File System (EFS) pour votre domaine qui est partagé par tous les utilisateurs Studio du domaine. Chaque utilisateur obtient son propre répertoire de base privé sur le volume EFS. Ce répertoire de base sert à stocker les blocs-notes, les référentiels Git et d'autres données de l'utilisateur. Pour empêcher d'autres utilisateurs du domaine d'accéder aux données de l'utilisateur, SageMaker crée un ID utilisateur globalement unique pour le profil de l'utilisateur et l'applique en tant qu'ID utilisateur/groupe POSIX pour le répertoire de base de l'utilisateur.

Accès à EBS

Un volume Amazon Elastic Block Store (Amazon EBS) est attaché à l'instance hôte et partagé sur toutes les images. Il est utilisé pour le volume racine des blocs-notes et stocke les données temporaires générées à l'intérieur du conteneur. Le stockage n'est pas conservé lorsque l'instance exécutant les blocs-notes est supprimée. L'utilisateur racine à l'intérieur du conteneur ne peut pas accéder au volume EBS.

Accès à IMDS

Pour des raisons de sécurité, l'accès au service de métadonnées d'instance (IMDS) Amazon Elastic Compute Cloud (Amazon EC2) n'est pas disponible dans SageMaker Studio. Pour de plus amples informations sur IMDS, veuillez consulter Métadonnées d'instance et données utilisateur.