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á.
Como usar funções de execução de SageMaker IA
A Amazon SageMaker AI realiza operações em seu nome usando outros AWS serviços. Você deve conceder permissões de SageMaker IA para usar esses serviços e os recursos sobre os quais eles atuam. Você concede essas permissões à SageMaker AI usando uma função de execução AWS Identity and Access Management (IAM). Para obter mais informações sobre perfis do IAM, consulte Perfis do IAM.
Para criar e usar um perfil de execução, você pode usar os seguintes procedimentos:
Criar perfil de execução
Use o procedimento a seguir para criar um perfil de execução com a política gerenciada do IAM AmazonSageMakerFullAccess
, anexada. Se seu caso de uso exigir permissões mais granulares, use outras seções nesta página para criar um perfil de execução que atenda às suas necessidades comerciais. Você pode criar uma função de execução usando o console de SageMaker IA ou AWS CLI o.
Importante
A política gerenciada do IAM, AmazonSageMakerFullAccess
, usada no procedimento a seguir, somente concede ao perfil de execução permissão para realizar determinadas ações do Amazon S3 em buckets ou objetos com SageMaker
, Sagemaker
, sagemaker
ou aws-glue
no nome. Para saber como adicionar uma política adicional a um perfil de execução para conceder acesso a outros buckets e objetos do Amazon S3, consulte. Adicionar permissões adicionais do Amazon S3 a uma função de execução de SageMaker IA
nota
Você pode criar uma função de execução diretamente ao criar um domínio de SageMaker IA ou uma instância de notebook.
-
Para obter informações sobre como criar um domínio de SageMaker IA, consulteGuia para se configurar com o Amazon SageMaker AI.
-
Para obter informações sobre como criar uma instância de caderno, consulte Crie uma instância do Amazon SageMaker Notebook para o tutorial.
Para criar uma nova função de execução a partir do console de SageMaker IA
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
Escolha Perfis e, em seguida, selecione Criar perfil.
-
Mantenha o AWS serviço como o tipo de entidade confiável e, em seguida, use a seta para baixo para encontrar a SageMaker IA em casos de uso de outros AWS serviços.
-
Escolha SageMaker AI — Execução e, em seguida, escolha Avançar.
-
A política gerenciada pelo IAM
AmazonSageMakerFullAccess
é anexada automaticamente ao perfil. Para visualizar as permissões incluídas nessa política, escolha o sinal de mais (+) ao lado do nome da política. Escolha Próximo. -
Insira um Nome do perfil e uma Descrição.
-
(Opcional) Adicione outras permissões e tags ao perfil.
-
Selecione Criar perfil.
-
Na seção Perfis do console do IAM, encontre o perfil que você acabou de criar. Se necessário, use a caixa de texto para pesquisar o perfil usando o nome do perfil.
-
Na página de resumo do perfil, anote o ARN.
Para criar um novo perfil de execução a partir do console do AWS CLI
Antes de criar uma função de execução usando o AWS CLI, certifique-se de atualizá-la e configurá-la seguindo as instruções em e(Opcional) Configure o AWS CLI, em seguida, continue com as instruções emConfiguração personalizada usando o AWS CLI.
Depois de criar uma função de execução, você pode associá-la a um domínio de SageMaker IA, a um perfil de usuário ou a uma instância do notebook Jupyter.
-
Para saber como associar uma função de execução a um domínio de SageMaker IA existente, consulteEditar configurações de domínio.
-
Para saber como associar um perfil de execução a um perfil do usuário existente, consulte Adicionar perfis de usuário.
-
Para saber como associar um perfil de execução a uma instância de caderno existente, consulte Atualizar uma instância de caderno.
Você também pode aprovar o ARN de um perfil de execução para sua chamada de API. Por exemplo, usando o Amazon SageMaker Python SDK
import sagemaker, boto3 from sagemaker import image_uris sess = sagemaker.Session() region = sess.boto_region_name bucket = sess.default_bucket() prefix = "sagemaker/DEMO-xgboost-churn" container = sagemaker.image_uris.retrieve("xgboost", region, "1.7-1") xgb = sagemaker.estimator.Estimator( container,
execution-role-ARN
, instance_count=1, instance_type="ml.m4.xlarge", output_path="s3://{}/{}/output".format(bucket, prefix), sagemaker_session=sess, ) ...
Adicionar permissões adicionais do Amazon S3 a uma função de execução de SageMaker IA
Quando você usa um recurso de SageMaker IA com recursos no Amazon S3, como dados de entrada, a função de execução especificada na sua solicitação (por exemploCreateTrainingJob
) é usada para acessar esses recursos.
Se você anexar a política gerenciada do IAM, AmazonSageMakerFullAccess
, a um perfil de execução, esse perfil terá permissão para realizar determinadas ações do Amazon S3 em buckets ou objetos comSageMaker
, Sagemaker
, sagemaker
ou aws-glue
no nome. Ele também terá permissão para realizar as seguintes ações em qualquer recurso do Amazon S3:
"s3:CreateBucket", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketCors", "s3:PutBucketCors"
Para conceder a um perfil de execução permissões para acessar um ou mais buckets específicos no Amazon S3, você pode anexar ao perfil uma política semelhante à seguinte: Essa política concede a um perfil do IAM permissão para realizar todas as ações que o AmazonSageMakerFullAccess
permite, mas restringe esse acesso aos buckets amzn-s3-demo-bucket1 e amzn-s3-demo-bucket2. Consulte a documentação de segurança do recurso de SageMaker IA específico que você está usando para saber mais sobre as permissões do Amazon S3 necessárias para esse recurso.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket1/*
", "arn:aws:s3:::amzn-s3-demo-bucket2/*
" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketCors", "s3:PutBucketCors" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1
", "arn:aws:s3:::amzn-s3-demo-bucket2
" ] } ] }
Obtenha um perfil de execução
Você pode usar o console de SageMaker IA
Tópicos
Obtenha um perfil de execução de domínio
Veja a seguir instruções sobre como encontrar o perfil de execução do seu domínio.
Encontre o perfil de execução anexado ao seu domínio
-
Abra o console de SageMaker IA https://console.aws.amazon.com/sagemaker/
-
No painel de navegação à esquerda, escolha Domínios em Configurações de administrador.
-
Escolha o link correspondente ao seu domínio.
-
Escolha a guia Configurações do domínio.
-
Na seção Configurações gerais, o ARN do perfil de execução está listado em Perfil de execução.
O nome do perfil de execução vem depois da última
/
no ARN do perfil de execução.
Obtenha um perfil de execução de espaço
Veja a seguir instruções sobre como encontrar o perfil de execução do seu espaço.
Encontre o perfil de execução anexado ao seu espaço
-
Abra o console de SageMaker IA https://console.aws.amazon.com/sagemaker/
-
No painel de navegação à esquerda, escolha Domínios em Configurações de administrador.
-
Escolha o link correspondente ao seu domínio.
-
Escolha a guia Gerenciamento de espaço.
-
Na seção Detalhes, o ARN do perfil de execução está listado em Perfil de execução.
O nome do perfil de execução vem depois da última
/
no ARN do perfil de execução.
nota
O código a seguir deve ser executado em um ambiente de SageMaker IA, como qualquer outro IDEs no Amazon SageMaker Studio. Você receberá um erro se for executado get_execution_role
fora de um ambiente de SageMaker IA.
O comando do get_execution_role
from sagemaker import get_execution_role role = get_execution_role() print(role)
O nome do perfil de execução vem depois da última /
no ARN do perfil de execução.
Obtenha um perfil de execução
Veja a seguir instruções sobre como encontrar o perfil de execução de um usuário.
Encontre o perfil de execução anexado a um usuário
-
Abra o console de SageMaker IA https://console.aws.amazon.com/sagemaker/
-
No painel de navegação à esquerda, escolha Domínios em Configurações de administrador.
-
Escolha o link correspondente ao seu domínio.
-
Escolha a guia Perfis de usuário.
-
Escolha o link correspondente ao seu usuário.
-
Na seção Detalhes, o ARN do perfil de execução está listado em Perfil de execução.
O nome do perfil de execução vem depois da última
/
no ARN do perfil de execução.
nota
Para usar os exemplos a seguir, você deve ter o AWS Command Line Interface (AWS CLI) instalado e configurado. Para mais informações, consulte Conceitos básicos da AWS CLI no Guia do usuário do AWS Command Line Interface para Version 2.
O comando get-caller-identity
aws sts get-caller-identity
O nome do perfil de execução vem depois da última /
no ARN do perfil de execução.
Mudar o perfil de execução
Uma função de execução é uma função do IAM que uma identidade de SageMaker IA (como um usuário, espaço ou domínio de SageMaker IA) assume. A alteração do perfil do IAM altera as permissões de todas as identidades que assumem esse perfil.
Quando você altera um perfil de execução, o perfil de execução do espaço correspondente também muda. Os efeitos da alteração podem levar algum tempo para se propagar.
-
Quando você altera o perfil de execução de um usuário, os espaços privados criados por esse usuário assumem o perfil de execução alterado.
-
Quando você altera o perfil de execução padrão de um espaço, os espaços compartilhados no domínio assumem o perfil de execução alterado.
Para obter mais informações sobre perfis de execução e espaços, consulte Compreendendo as permissões de espaço e os perfis de execução do domínio.
Você pode alterar o perfil de execução de uma identidade para um perfil diferente do IAM usando uma das instruções a seguir.
Se, em vez disso, você quiser modificar uma função que uma identidade está assumindo, consulte Modificar as permissões para o perfil de execução.
Tópicos
Alterar o perfil de execução padrão do domínio
Veja a seguir instruções sobre como alterar o perfil de execução padrão do seu domínio.
Alterar o perfil de execução padrão anexado ao seu domínio
-
Abra o console de SageMaker IA https://console.aws.amazon.com/sagemaker/
-
No painel de navegação à esquerda, escolha Domínios em Configurações de administrador.
-
Escolha o link correspondente ao seu domínio.
-
Escolha a guia Configurações do domínio.
-
Na seção Configurações gerais, escolha Editar.
-
Na seção Permissões, em Perfil de execução padrão, expanda a lista suspensa.
-
Na lista suspensa, você pode escolher um perfil existente, inserir um ARN do perfil do IAM personalizado ou criar um novo perfil.
Se você quiser criar uma nova função, poderá escolher a opção Criar função usando o assistente de criação.
-
Escolha “Avançar” nas etapas a seguir e selecione “Enviar” na última etapa.
Alterar o perfil de execução padrão do espaço
Veja a seguir instruções sobre como alterar o perfil de execução padrão do seu espaço. A alteração desse perfil de execução mudará o perfil assumido por todos os espaços compartilhados no domínio.
Alterar o perfil de execução padrão do espaço para quando você criar um novo espaço
-
Abra o console de SageMaker IA https://console.aws.amazon.com/sagemaker/
-
No painel de navegação à esquerda, escolha Domínios em Configurações de administrador.
-
Escolha o link correspondente ao seu domínio.
-
Escolha a guia Configurações do domínio.
-
Na seção Configurações gerais, escolha Editar.
-
Na seção Permissões, em Perfil de execução padrão de espaço, expanda a lista suspensa.
-
Na lista suspensa, você pode escolher um perfil existente, inserir um ARN do perfil do IAM personalizado ou criar um novo perfil.
Se você quiser criar uma nova função, poderá escolher a opção Criar função usando o assistente de criação.
-
Escolha Avançar nas etapas a seguir e selecione Enviar na última etapa.
Alterar o perfil de execução do perfil de usuário
Veja a seguir instruções sobre como alterar o perfil de execução de um usuário. A alteração desse perfil de execução mudará o perfil assumido por todos os espaços privados criados por esse usuário.
Alterar o perfil de execução anexado a um usuário
-
Abra o console de SageMaker IA https://console.aws.amazon.com/sagemaker/
-
No painel de navegação à esquerda, escolha Domínios em Configurações de administrador.
-
Escolha o link correspondente ao seu domínio.
-
Escolha a guia Perfis de usuário.
-
Escolha o link correspondente ao nome do perfil do usuário.
-
Selecione Editar.
-
Na lista suspensa, você pode escolher um perfil existente, inserir um ARN do perfil do IAM personalizado ou criar um novo perfil.
Se você quiser criar uma nova função, poderá escolher a opção Criar função usando o assistente de criação.
-
Escolha Avançar nas etapas a seguir e selecione Enviar na última etapa.
Modificar as permissões para o perfil de execução
Você pode modificar as permissões existentes para a função de execução de uma identidade (como um usuário, espaço ou domínio de SageMaker IA). Isso é feito localizando o perfil apropriado do IAM que a identidade está assumindo e, em seguida, modificando esse perfil do IAM. O seguinte fornecerá instruções sobre como fazer isso por meio do console:
Quando você modifica um perfil de execução, o perfil de execução do espaço correspondente também muda. Os efeitos da mudança podem não ser imediatos.
-
Quando você modifica o perfil de execução de um usuário, os espaços privados criados por esse usuário assumem o perfil de execução modificado.
-
Quando você modifica o perfil de execução padrão de um espaço, os espaços compartilhados no domínio assumem o perfil de execução modificado.
Para obter mais informações sobre perfis de execução e espaços, consulte Compreendendo as permissões de espaço e os perfis de execução do domínio.
Se, em vez disso, você quiser alterar uma função que uma identidade está assumindo, consulte Mudar o perfil de execução.
Para modificar as permissões para seus perfis de execução
-
Primeiro, obtenha o nome da identidade que você gostaria de modificar.
-
Para modificar um perfil que uma identidade está assumindo, consulte Como modificar uma função no Guia do usuário do AWS Identity and Access Management .
Para obter mais informações e instruções sobre como adicionar permissões a identidades do IAM, consulte Adicionar ou remover permissões de identidade no Guia do usuário do AWS Identity and Access Management .
Perfis de aprovação
Ações como passar uma função entre serviços são uma função comum na SageMaker IA. Você pode encontrar mais detalhes sobre ações, recursos e chaves de condição para SageMaker IA na Referência de autorização de serviço.
Você passa a função (iam:PassRole
) ao fazer estas chamadas de API: CreateAutoMLJob
, CreateCompilationJob
, CreateDomain
, CreateFeatureGroup
, CreateFlowDefiniton
, CreateHyperParameterTuningJob
, CreateImage
, CreateLabelingJob
, CreateModel
, CreateMonitoringSchedule
, CreateNotebookInstance
, CreateProcessingJob
, CreateTrainingJob
, CreateUserProfile
, RenderUiTemplate
, UpdateImage
e UpdateNotebookInstance
.
Você anexa a seguinte política de confiança à função do IAM, que concede permissões principais à SageMaker IA para assumir a função, e é a mesma para todas as funções de execução:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
As permissões que você precisa conceder ao perfil variam de acordo com a API chamada. As seções a seguir explicam essas permissões.
nota
Em vez de gerenciar permissões criando uma política de permissões, você pode usar a política de AmazonSageMakerFullAccess
permissões AWS gerenciadas. As permissões nessa política são bastante amplas, para permitir qualquer ação que você queira realizar na SageMaker IA. Para obter uma listagem da política, incluindo informações sobre os motivos para adicionar muitas das permissões, consulte AWS política gerenciada: AmazonSageMakerFullAccess. Se você preferir criar políticas personalizadas e gerenciar permissões para definir o escopo das permissões somente para as ações que você precisa executar com o perfil de execução, consulte os tópicos a seguir.
Importante
Se você estiver enfrentando problemas, consulte Solução de problemas de identidade e acesso ao Amazon SageMaker AI.
Para obter mais informações sobre os perfis do IAM, consulte Perfis do IAM na Referência de autorização de serviço.
Tópicos
CreateAutoMLJob e API CreateAuto MLJob V2: permissões da função de execução
Anexe a seguinte política de permissões mínimas ao perfil de execução se quiser passar uma solicitação de API CreateAutoMLJob
ou CreateAutoMLJobV2
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "sagemaker:DescribeEndpointConfig", "sagemaker:DescribeModel", "sagemaker:InvokeEndpoint", "sagemaker:ListTags", "sagemaker:DescribeEndpoint", "sagemaker:CreateModel", "sagemaker:CreateEndpointConfig", "sagemaker:CreateEndpoint", "sagemaker:DeleteModel", "sagemaker:DeleteEndpointConfig", "sagemaker:DeleteEndpoint", "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "s3:GetObject", "s3:PutObject", "s3:ListBucket", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*" } ] }
Se você especificar uma VPC privada para o seu trabalho de AutoML, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Se sua entrada for criptografada usando criptografia do lado do servidor com uma chave AWS gerenciada pelo KMS (SSE-KMS), adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }
Se você especificar uma chave do KMS na configuração de saída do seu trabalho de AutoML, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }
Se você especificar uma chave do KMS de volume na configuração de recursos do seu trabalho de AutoML, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }
CreateDomain API: permissões da função de execução
A função de execução para domínios com o IAM Identity Center e a função de usuário/execução para domínios IAM precisam das seguintes permissões quando você passa uma chave gerenciada pelo AWS KMS cliente como KmsKeyId
na solicitação da API. CreateDomain
As permissões são aplicadas durante a chamada da API CreateApp
.
Anexe a seguinte política de permissões a um perfil de execução se quiser aprovar o perfil em uma solicitação de API CreateDomain
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "arn:aws:kms:
region
:account-id
:key/kms-key-id
" } ] }
Como alternativa, se as permissões forem especificadas em uma política do KMS, você poderá anexar a seguinte política ao perfil:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
account-id
:role/ExecutionRole
" ] }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" } ] }
CreateImage e UpdateImage APIs: Permissões da função de execução
Anexe a seguinte política de permissões a um perfil de execução se quiser passar o perfil em uma solicitação de API CreateImage
ou UpdateImage
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" } ] }
CreateNotebookInstance API: permissões da função de execução
As permissões concedidas ao perfil de execução para chamar a API CreateNotebookInstance
dependem do que você pretende fazer com a instância de caderno. Se você planeja usá-la para invocar a SageMaker IA APIs e transmitir a mesma função ao chamar o CreateTrainingJob
e CreateModel
APIs, anexe a seguinte política de permissões à função:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:*", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability", "ecr:SetRepositoryPolicy", "ecr:CompleteLayerUpload", "ecr:BatchDeleteImage", "ecr:UploadLayerPart", "ecr:DeleteRepositoryPolicy", "ecr:InitiateLayerUpload", "ecr:DeleteRepository", "ecr:PutImage", "ecr:CreateRepository", "cloudwatch:PutMetricData", "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents", "s3:CreateBucket", "s3:ListBucket", "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "robomaker:CreateSimulationApplication", "robomaker:DescribeSimulationApplication", "robomaker:DeleteSimulationApplication", "robomaker:CreateSimulationJob", "robomaker:DescribeSimulationJob", "robomaker:CancelSimulationJob", "ec2:CreateVpcEndpoint", "ec2:DescribeRouteTables", "elasticfilesystem:DescribeMountTargets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:*:*:*sagemaker*", "arn:aws:codecommit:*:*:*SageMaker*", "arn:aws:codecommit:*:*:*Sagemaker*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "sagemaker.amazonaws.com" } } } ] }
Para restringir as permissões, limite-as a recursos específicos do Amazon S3 e do Amazon ECR. Basta restringir o "Resource": "*"
, da seguinte forma:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:*", "ecr:GetAuthorizationToken", "cloudwatch:PutMetricData", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::inputbucket" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::
inputbucket
/object1
", "arn:aws:s3:::outputbucket
/path
", "arn:aws:s3:::inputbucket
/object2
", "arn:aws:s3:::inputbucket
/object3
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": [ "arn:aws:ecr:region
::repository/my-repo1
", "arn:aws:ecr:region
::repository/my-repo2
", "arn:aws:ecr:region
::repository/my-repo3
" ] } ] }
Se você planeja acessar outros recursos, como o Amazon DynamoDB ou o Amazon Relational Database Service, adicione permissões relevantes a essa política.
Na política anterior, você define o escopo da política da seguinte forma:
-
Defina o escopo da permissão
s3:ListBucket
ao bucket específico definido comoInputDataConfig.DataSource.S3DataSource.S3Uri
em uma solicitaçãoCreateTrainingJob
. -
Defina o escopo das permissões
s3:GetObject
,s3:PutObject
es3:DeleteObject
da seguinte forma:-
Defina o escopo para os seguintes valores especificados em uma solicitação
CreateTrainingJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Defina o escopo para os seguintes valores especificados em uma solicitação
CreateModel
:PrimaryContainer.ModelDataUrl
SuplementalContainers.ModelDataUrl
-
-
Defina o escopo das permissões
ecr
da seguinte forma:-
Defina o escopo para o valor
AlgorithmSpecification.TrainingImage
especificado em uma solicitaçãoCreateTrainingJob
. -
Defina o escopo para o valor
PrimaryContainer.Image
especificado em uma solicitaçãoCreateModel
:
-
As ações cloudwatch
e logs
são aplicáveis a recursos "*". Para obter mais informações, consulte CloudWatch Recursos e operações no Guia do CloudWatch usuário da Amazon.
CreateHyperParameterTuningJob API: permissões da função de execução
Anexe a seguinte política de permissões a um perfil de execução se quiser passar o perfil em uma solicitação de API CreateHyperParameterTuningJob
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "s3:GetObject", "s3:PutObject", "s3:ListBucket", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*" } ] }
Em vez de especificar"Resource": "*"
, você pode definir o escopo dessas permissões para recursos específicos do Amazon S3, Amazon ECR e Amazon CloudWatch Logs:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
inputbucket
" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::inputbucket
/object
", "arn:aws:s3:::outputbucket
/path
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:region
::repository/my-repo
" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs*" } ] }
Se o contêiner de treinamento associado ao trabalho de ajuste de hiperparâmetros precisar acessar outras fontes de dados, como recursos do DynamoDB ou do Amazon RDS, adicione permissões relevantes a essa política.
Na política anterior, você define o escopo da política da seguinte forma:
-
Defina o escopo da permissão
s3:ListBucket
a um bucket específico definido comoInputDataConfig.DataSource.S3DataSource.S3Uri
em uma solicitaçãoCreateTrainingJob
. -
Defina o escopo das permissões
s3:GetObject
es3:PutObject
para os seguintes objetos especificados na configuração dos dados de entrada e saída em uma solicitaçãoCreateHyperParameterTuningJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Defina o escopo das permissões do Amazon ECR para o caminho do registro (
AlgorithmSpecification.TrainingImage
) especificado em uma solicitaçãoCreateHyperParameterTuningJob
. -
Defina o escopo das permissões do Amazon CloudWatch Logs para registrar um grupo de trabalhos de SageMaker treinamento.
As ações cloudwatch
são aplicáveis a recursos "*". Para obter mais informações, consulte CloudWatch Recursos e operações no Guia do CloudWatch usuário da Amazon.
Se você especificar uma VPC privada para o seu trabalho de ajuste de hiperparâmetros, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Se sua entrada for criptografada usando criptografia do lado do servidor com uma chave AWS gerenciada pelo KMS (SSE-KMS), adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }
Se você especificar uma chave KMS na configuração de saída do seu trabalho de ajuste de hiperparâmetros, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }
Se você especificar uma chave KMS de volume na configuração de recursos do seu trabalho de ajuste de hiperparâmetros, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }
CreateProcessingJob API: permissões da função de execução
Anexe a seguinte política de permissões a um perfil de execução se quiser passar o perfil em uma solicitação de API CreateProcessingJob
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "s3:GetObject", "s3:PutObject", "s3:ListBucket", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*" } ] }
Em vez de especificar "Resource": "*"
, você poderia definir o escopo destas permissões para recursos específicos do Amazon S3 e do Amazon ECR:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
inputbucket
" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::inputbucket
/object
", "arn:aws:s3:::outputbucket
/path
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:region
::repository/my-repo
" } ] }
Se CreateProcessingJob.AppSpecification.ImageUri
precisar acessar outras fontes de dados, como os recursos do DynamoDB ou do Amazon RDS, adicione permissões relevantes a essa política.
Na política anterior, você define o escopo da política da seguinte forma:
-
Defina o escopo da permissão
s3:ListBucket
a um bucket específico definido comoProcessingInputs
em uma solicitaçãoCreateProcessingJob
. -
Defina como escopo das permissões
s3:GetObject
es3:PutObject
os objetos que serão obtidos por download ou dos quais será feito upload noProcessingInputs
e noProcessingOutputConfig
em uma solicitaçãoCreateProcessingJob
. -
Defina o escopo das permissões do Amazon ECR para o caminho do registro (
AppSpecification.ImageUri
) especificado em uma solicitaçãoCreateProcessingJob
.
As ações cloudwatch
e logs
são aplicáveis a recursos "*". Para obter mais informações, consulte CloudWatch Recursos e operações no Guia do CloudWatch usuário da Amazon.
Se você especificar uma VPC privada para o trabalho de processamento, adicione as seguintes permissões: Não defina o escopo da política com nenhuma condição ou filtro de recursos. Caso contrário, as verificações de validação que ocorrem durante a criação do trabalho de processamento falharão.
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Se sua entrada for criptografada usando criptografia do lado do servidor com uma chave AWS gerenciada pelo KMS (SSE-KMS), adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }
Se você especificar uma chave do KMS na configuração de saída do trabalho de processamento, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }
Se você especificar uma chave do KMS de volume na configuração de recursos do trabalho de processamento, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }
CreateTrainingJob API: permissões da função de execução
Anexe a seguinte política de permissões a um perfil de execução se quiser passar o perfil em uma solicitação de API CreateTrainingJob
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "s3:GetObject", "s3:PutObject", "s3:ListBucket", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*" } ] }
Em vez de especificar "Resource": "*"
, você poderia definir o escopo destas permissões para recursos específicos do Amazon S3 e do Amazon ECR:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
inputbucket
" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::inputbucket
/object
", "arn:aws:s3:::outputbucket
/path
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:region
::repository/my-repo
" } ] }
Se CreateTrainingJob.AlgorithSpecifications.TrainingImage
precisar acessar outras fontes de dados, como os recursos do DynamoDB ou do Amazon RDS, adicione permissões relevantes a essa política.
Na política anterior, você define o escopo da política da seguinte forma:
-
Defina o escopo da permissão
s3:ListBucket
a um bucket específico definido comoInputDataConfig.DataSource.S3DataSource.S3Uri
em uma solicitaçãoCreateTrainingJob
. -
Defina o escopo das permissões
s3:GetObject
es3:PutObject
para os seguintes objetos especificados na configuração dos dados de entrada e saída em uma solicitaçãoCreateTrainingJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Defina o escopo das permissões do Amazon ECR para o caminho do registro (
AlgorithmSpecification.TrainingImage
) especificado em uma solicitaçãoCreateTrainingJob
.
As ações cloudwatch
e logs
são aplicáveis a recursos "*". Para obter mais informações, consulte CloudWatch Recursos e operações no Guia do CloudWatch usuário da Amazon.
Se você especificar uma VPC privada para o seu trabalho de treinamento, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Se sua entrada for criptografada usando criptografia do lado do servidor com uma chave AWS gerenciada pelo KMS (SSE-KMS), adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }
Se você especificar uma chave KMS na configuração de saída do seu trabalho de treinamento, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }
Se você especificar uma chave KMS de volume na configuração de recursos do seu trabalho de treinamento, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }
CreateModel API: permissões da função de execução
Anexe a seguinte política de permissões a um perfil de execução se quiser passar o perfil em uma solicitação de API CreateModel
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "s3:GetObject", "s3:ListBucket", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*" } ] }
Em vez de especificar "Resource": "*"
, você pode definir o escopo destas permissões para recursos específicos do Amazon S3 e do Amazon ECR:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
inputbucket
/object
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": [ "arn:aws:ecr:region
::repository/my-repo
", "arn:aws:ecr:region
::repository/my-repo
" ] } ] }
Se CreateModel.PrimaryContainer.Image
precisar acessar outras fontes de dados, como os recursos do Amazon DynamoDB ou do Amazon RDS, adicione permissões relevantes a essa política.
Na política anterior, você define o escopo da política da seguinte forma:
-
Defina o escopo das permissões do S3 para os objetos especificados em
PrimaryContainer.ModelDataUrl
em uma solicitaçãoCreateModel
. -
Defina o escopo das permissões do Amazon ECR para um caminho do registro específico definido como
PrimaryContainer.Image
eSecondaryContainer.Image
em uma solicitaçãoCreateModel
.
As ações cloudwatch
e logs
são aplicáveis a recursos "*". Para obter mais informações, consulte CloudWatch Recursos e operações no Guia do CloudWatch usuário da Amazon.
nota
Se você planeja usar o recurso de proteções de implantação de SageMaker IA para implantação de modelos na produção, certifique-se de que sua função de execução tenha permissão para realizar a cloudwatch:DescribeAlarms
ação em seus alarmes de reversão automática.
Se você especificar uma VPC privada para o seu modelo, adicione as seguintes permissões:
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }