Configurar políticas e permissões para o Studio - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar políticas e permissões para o Studio

Você precisará instalar as políticas e permissões adequadas antes de programar a primeira execução do notebook. Veja a seguir instruções sobre como configurar as seguintes permissões:

  • Relações de confiança, função de execução de trabalhos

  • IAMPermissões adicionais anexadas à função de execução do trabalho

  • (opcional) A política de AWS KMS permissão para usar uma KMS chave personalizada

Importante

Se sua AWS conta pertencer a uma organização com políticas de controle de serviço (SCP) em vigor, suas permissões efetivas são a interseção lógica entre o que é permitido pela SCPs e o que é permitido por sua IAM função e políticas de usuário. Por exemplo, se sua organização SCP especificar que você só pode acessar recursos em us-east-1 eus-west-1, e suas políticas só permitem que você acesse recursos em us-west-1 eus-west-2, em última análise, você só pode acessar recursos emus-west-1. Se você quiser exercer todas as permissões permitidas em sua função e políticas de usuário, sua organização SCPs deve conceder o mesmo conjunto de permissões que suas próprias políticas de IAM usuário e função. Para obter detalhes sobre como determinar as solicitações permitidas, consulte Determinar se uma solicitação é permitida ou negada em uma conta.

Relações de confiança

Para modificar as relações de confiança, conclua as seguintes etapas:

  1. Abra o IAMconsole.

  2. Selecione Funções no painel do lado esquerdo.

  3. Encontre a função de execução do trabalho para seu trabalho do notebook e escolha o nome da função.

  4. Selecione a guia Trust relationships (Relações de confiança).

  5. Escolha Editar política de confiança.

  6. Copie e cole a política a seguir:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  7. Escolha Atualizar política.

IAMPermissões adicionais

Talvez seja necessário incluir IAM permissões adicionais nas seguintes situações:

  • Suas funções de execução no Studio e de notebook são diferentes

  • Você precisa acessar os recursos do Amazon S3 por meio de um endpoint S3 VPC

  • Você deseja usar uma KMS chave personalizada para criptografar seus buckets de entrada e saída do Amazon S3

A discussão a seguir fornece as políticas necessárias para cada caso.

Permissões necessárias se a execução do Studio e as funções de trabalho do notebook forem diferentes

O JSON trecho a seguir é um exemplo de política que você deve adicionar às funções de execução do Studio e do notebook se não usar a função de execução do Studio como função de trabalho do notebook. Revise e modifique essa política se precisar restringir ainda mais os privilégios.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/*", "Condition":{ "StringLike":{ "iam:PassedToService":[ "sagemaker.amazonaws.com", "events.amazonaws.com" ] } } }, { "Effect":"Allow", "Action":[ "events:TagResource", "events:DeleteRule", "events:PutTargets", "events:DescribeRule", "events:PutRule", "events:RemoveTargets", "events:DisableRule", "events:EnableRule" ], "Resource":"*", "Condition":{ "StringEquals":{ "aws:ResourceTag/sagemaker:is-scheduling-notebook-job":"true" } } }, { "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:PutBucketVersioning", "s3:PutEncryptionConfiguration" ], "Resource":"arn:aws:s3:::sagemaker-automated-execution-*" }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Effect":"Allow", "Action":[ "sagemaker:ListTags" ], "Resource":[ "arn:aws:sagemaker:*:*:user-profile/*", "arn:aws:sagemaker:*:*:space/*", "arn:aws:sagemaker:*:*:training-job/*", "arn:aws:sagemaker:*:*:pipeline/*" ] }, { "Effect":"Allow", "Action":[ "sagemaker:AddTags" ], "Resource":[ "arn:aws:sagemaker:*:*:training-job/*", "arn:aws:sagemaker:*:*:pipeline/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:CreateVpcEndpoint", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcs", "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken", "s3:ListBucket", "s3:GetBucketLocation", "s3:GetEncryptionConfiguration", "s3:PutObject", "s3:DeleteObject", "s3:GetObject", "sagemaker:DescribeApp", "sagemaker:DescribeDomain", "sagemaker:DescribeUserProfile", "sagemaker:DescribeSpace", "sagemaker:DescribeStudioLifecycleConfig", "sagemaker:DescribeImageVersion", "sagemaker:DescribeAppImageConfig", "sagemaker:CreateTrainingJob", "sagemaker:DescribeTrainingJob", "sagemaker:StopTrainingJob", "sagemaker:Search", "sagemaker:CreatePipeline", "sagemaker:DescribePipeline", "sagemaker:DeletePipeline", "sagemaker:StartPipelineExecution" ], "Resource":"*" } ] }

Permissões necessárias para acessar os recursos do Amazon S3 por meio de um endpoint do S3 VPC

Se você executar o SageMaker Studio no VPC modo privado e acessar o S3 por meio do VPC endpoint do S3, poderá adicionar permissões à política do VPC endpoint para controlar quais recursos do S3 podem ser acessados pelo endpoint. VPC Adicione as seguintes permissões à sua política de VPC endpoint. Você pode modificar a política se precisar restringir ainda mais as permissões — por exemplo, você pode fornecer uma especificação mais restrita para o campo Principal.

{ "Sid": "S3DriverAccess", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::sagemakerheadlessexecution-*" }

Para obter detalhes sobre como configurar uma política de VPC endpoint do S3, consulte Editar a política de VPC endpoint.

Permissões necessárias para usar uma KMS chave personalizada (opcional)

Por padrão, os buckets de entrada e saída do Amazon S3 são criptografados usando criptografia do lado do servidor, mas você pode especificar uma KMS chave personalizada para criptografar seus dados no bucket de saída do Amazon S3 e no volume de armazenamento anexado à tarefa do notebook.

Se você quiser usar uma KMS chave personalizada, anexe a política a seguir e forneça sua própria KMS chaveARN.

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant" ], "Resource":"your_KMS_key_ARN" } ] }