Controle de acesso e permissões de configuração para cadernos do SageMaker Studio
O Amazon SageMaker Studio usa permissões de sistema de arquivos e contêiner para controle de acesso e isolamento de usuários e cadernos do Studio. Essa é uma das principais diferenças entre as instâncias de cadernos do Studio e caderno do SageMaker. Este tópico descreve como as permissões são configuradas para evitar ameaças à segurança, o que o SageMaker faz por padrão e como o cliente pode personalizar as permissões. Para obter mais informações sobre cadernos do Studio e seu ambiente runtime, consulte Usar cadernos do Amazon SageMaker Studio Classic.
Permissões da aplicação SageMaker
Um usuário de execução é um usuário/grupo POSIX usado para executar a aplicação JupyterServer e as aplicações KernelGateway dentro do contêiner.
O usuário de execução da aplicação JupyterServer é sagemaker-user (1000) por padrão. Esse usuário tem permissões sudo para permitir a instalação de dependências, como pacotes yum.
O usuário de execução para as aplicações KernelGateway é raiz (0) por padrão. Esse usuário pode instalar dependências usando pip/apt-get/conda.
Devido ao remapeamento do usuário, nenhum usuário pode acessar recursos ou fazer alterações na instância do host.
Remapeamento de usuário
O SageMaker realiza o remapeamento do usuário para mapear um usuário dentro do contêiner para um usuário na instância hospedeira fora do contêiner. O intervalo de IDs de usuário (0 a 65535) no contêiner é mapeado para IDs de usuário sem privilégios acima de 65535 na instância. Por exemplo, sagemaker-user (1000) dentro do contêiner pode mapear para o usuário (200001) na instância, onde o número entre parênteses é o ID do usuário. Se o cliente criar um novo usuário/grupo dentro do contêiner, ele não terá privilégios na instância hospedeira, independentemente do ID do usuário/grupo. O usuário-raiz do contêiner também é mapeado para um usuário sem privilégios na instância. Para obter mais informações, consulte Isolar contêineres com um namespace de usuário
nota
Os arquivos criados pelo usuário sagemaker-user podem parecer pertencentes ao sagemaker-studio (uid 65534). Esse é um efeito colateral de um modo de criação rápida de aplicações em que as imagens de contêiner do SageMaker são pré-extraídas, permitindo que as aplicações sejam iniciados em menos de um minuto. Se sua aplicação exigir que o uid do proprietário do arquivo e o uid do proprietário do processo correspondam, peça ao serviço de atendimento ao cliente que remova o número da sua conta do atributo de pré-extração de imagens.
Permissões de imagem personalizadas
Os clientes podem trazer suas próprias imagens personalizadas do SageMaker. Essas imagens podem especificar um usuário/grupo de execução diferente para iniciar a aplicação KernelGateway. O cliente pode implementar um controle de permissão refinado dentro da imagem, por exemplo, para desativar o acesso raiz ou realizar outras ações. O mesmo remapeamento de usuário se aplica aqui. Para obter mais informações, consulte Traga sua própria imagem do SageMaker.
Isolamento de contêiner
O Docker mantém uma lista dos recursos padrão que o contêiner pode usar. O SageMaker não adiciona recursos adicionais. O SageMaker adiciona regras de rota específicas para bloquear solicitações ao Amazon EFS e serviço de metadados de instância (IMDS) do contêiner. Os clientes não podem alterar essas regras de rota a partir do contêiner. Para obter mais informações, consulte Privilégio de runtime e recursos do Linux
Acesso aos metadados de aplicação
Os metadados usados pelas aplicações em execução são montados no contêiner com permissão somente para leitura. Os clientes não conseguem modificar esses metadados do contêiner. Para obter os metadados disponíveis, consulte Obter metadados de aplicação e caderno do Studio Classic.
Isolamento do usuário no EFS
Quando você se integra ao Studio, o SageMaker cria um volume do Amazon Elastic File System (EFS) para seu domínio, que é compartilhado por todos os usuários do Studio no domínio. Cada usuário obtém seu próprio diretório pessoal privado no volume EFS. Esse diretório inicial é usado para armazenar os cadernos, repositórios Git e outros dados do usuário. Para impedir que outros usuários no domínio acessem os dados do usuário, o SageMaker cria uma ID de usuário globalmente exclusiva para o perfil do usuário e a aplica como uma ID de usuário/grupo POSIX para o diretório inicial do usuário.
Acesso ao EBS
Um volume do Amazon Elastic Block Store (Amazon EBS) é anexado à instância do host e compartilhado em todas as imagens. Ele é usado para o volume raiz dos cadernos e armazena dados temporários que são gerados dentro do contêiner. O armazenamento não persiste quando a instância que executa os cadernos é excluída. O usuário-raiz dentro do contêiner não pode acessar o volume do EBS.
Acesso ao IMDS
Devido a questões de segurança, o acesso ao serviço de metadados de instância (IMDS) do Amazon Elastic Compute Cloud (Amazon EC2) não está disponível no SageMaker Studio. Para obter mais informações sobre o IMDS, consulte Metadados de instância e dados do usuário.