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á.
Execute um trabalho de etiquetagem do Amazon SageMaker Ground Truth em uma Amazon Virtual Private Cloud
O Ground Truth oferece suporte às seguintes funcionalidades na Amazon VPC.
-
Você pode usar políticas de bucket do Amazon S3 para controlar o acesso a buckets de endpoints da Amazon VPC específicos ou VPCs específicas. Se você iniciar um trabalho de rotulagem e seus dados de entrada estiverem localizados em um bucket do Amazon S3 restrito aos usuários em sua VPC, você poderá adicionar uma política de bucket para também conceder permissão ao endpoint da Ground Truth para acessar o bucket. Para saber mais, consulte Permita que o Ground Truth acesse buckets Amazon S3 restritos à VPC.
-
Você pode iniciar um trabalho automatizado de rotulagem de dados em sua VPC. Você usa uma configuração de VPC para especificar sub-redes e grupos de segurança de VPC. SageMaker usa essa configuração para iniciar os trabalhos de treinamento e inferência usados para rotulagem automatizada de dados em sua VPC. Para saber mais, consulte Criar um trabalho de rotulagem automatizada em uma VPC.
Talvez você queira usar essas opções de qualquer uma das formas a seguir.
-
Você pode usar esses dois métodos para iniciar um trabalho de rotulagem usando um bucket Amazon S3 protegido por VPC com rotulagem automática de dados ativada.
-
Você pode iniciar um trabalho de rotulagem usando qualquer tipo de trabalho integrado usando um bucket protegido por VPC.
-
Você pode iniciar um fluxo de trabalho de rotulagem personalizado usando um bucket protegido por VPC. O Ground Truth interage com suas funções do Lambda de pré-anotação e pós-anotação usando um endpoint. AWS PrivateLink
Recomendamos que você revise Pré-requisitos para executar um trabalho de rotulagem do Ground Truth em uma VPC antes de criar um trabalho de rotulagem em uma Amazon VPC.
Pré-requisitos para executar um trabalho de rotulagem do Ground Truth em uma VPC
Analise os pré-requisitos a seguir antes de criar um trabalho de rotulagem Ground Truth em uma Amazon VPC.
-
Se você for um novo usuário do Ground Truth, consulte Conceitos básicos para saber como criar um trabalho de rotulagem.
-
Se seus dados de entrada estiverem localizados em um bucket Amazon S3 protegido por VPC, seus operadores devem acessar o portal do operador a partir de sua VPC. Os trabalhos de etiquetagem baseados em VPC exigem o uso de uma equipe de trabalho privada. Para saber mais sobre como criar uma equipe de trabalho privada, consulte Usar uma força de trabalho privada.
-
Os pré-requisitos a seguir são específicos para iniciar um trabalho de etiquetagem em sua VPC.
-
Use as instruções em Criar um endpoint da VPC do Amazon S3. Os contêineres de treinamento e inferência usados no fluxo de trabalho automatizado de rotulagem de dados usam esse endpoint para se comunicar com seus buckets no Amazon S3.
-
Consulte Automatizar rotulagem de dados para saber mais sobre esse recurso. Observe que a rotulagem automática de dados é compatível com os seguintes tipos de tarefa integrados: classificação de imagem (rótulo único), segmentação de semântica de imagem, caixa delimitadora e classificação de texto (rótulo único). Os trabalhos de rotulagem de streaming não são compatíveis com a rotulagem de dados automatizada.
-
-
Revise a seção Segurança e permissões do Ground Truth e verifique se você atendeu às condições a seguir.
O usuário que está criando o trabalho de rotulagem tem todas as permissões necessárias
Você criou uma função de execução do IAM com as permissões obrigatórias. Se você não precisar de permissões ajustadas para seu caso de uso, recomendamos que use as políticas gerenciadas do IAM descritas em Conceder permissões gerais para começar a usar o Ground Truth.
Permita que sua VPC tenha acesso aos buckets
sagemaker-labeling-data-
eregion
sm-bxcb-
S3. Esses são buckets S3 regionalizados de propriedade do sistema que são acessados do portal do operador durante a execução do trabalho. Usamos esses buckets para interagir com os dados gerenciados pelo sistema.region
-saved-task-states
Permita que o Ground Truth acesse buckets Amazon S3 restritos à VPC
As seções a seguir fornecem detalhes sobre as permissões que o Ground Truth exige para iniciar trabalhos de rotulagem usando buckets do Amazon S3 que têm acesso restrito à sua VPC e endpoints da VPC. Para aprender como restringir o acesso a um bucket do Amazon S3 para uma VPC, consulte Controle do acesso de endpoints da VPC com políticas de bucket no Guia do usuário do Amazon Simple Storage Service. Para saber como adicionar uma política a um bucket do S3, consulte Adicionar uma política do bucket usando o console do Amazon S3.
nota
Modificar as políticas nos buckets existentes pode fazer com que os trabalhos IN_PROGRESS
do Ground Truth falhem. Recomendamos que você inicie novos trabalhos usando um novo bucket. Se quiser continuar usando o mesmo bucket, realize um dos procedimentos a seguir.
Aguarde a conclusão de um trabalho
IN_PROGRESS
.Encerre o trabalho usando o console ou o AWS CLI.
Você pode restringir o acesso dos usuários ao bucket do Amazon S3 em sua VPC usando um endpoint AWS PrivateLink
, de <bucket-name>
e do endpoint <vpc>
somente. Quando modificar essa política, substitua todo o <vpc-endpoint>
texto em itálico vermelho pelos
seus recursos e especificações.
nota
A política a seguir nega que todas as entidades, exceto usuários em uma VPC, executem as ações listadas em Action
. Se você não incluir ações nessa lista, elas ainda poderão ser acessadas por qualquer entidade que tenha acesso a esse bucket e permissão para realizar essas ações. Por exemplo, se um usuário tiver permissão para executar GetBucketLocation
em seu bucket do Amazon S3, a política abaixo não impede o usuário de realizar essa ação fora da sua VPC.
{ "Version": "2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::
<bucket-name>
", "arn:aws:s3:::<bucket-name>
/*" ], "Condition": { "StringNotEquals": { "aws:sourceVpce": [ "<vpc-endpoint>
", "<vpc>
" ] } } } ] }
O Ground Truth deve ser capaz de realizar as seguintes ações do Amazon S3 nos buckets do S3 que você usa para configurar o trabalho de rotulagem.
"s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:GetBucketLocation"
Você pode fazer isso adicionando um endpoint do Ground Truth à política do bucket, como a mencionada anteriormente. A tabela a seguir inclui endpoints do serviço Ground Truth para cada AWS região. Adicione um endpoint na mesma região AWS que você usa para executar seu trabalho de rotulagem à sua política do bucket.
AWS Região | Ponto final do Ground Truth |
---|---|
us-east-2 | vpce-02569ba1c40aad0bc |
us-east-1 | vpce-08408e335ebf95b40 |
us-west-2 | vpce-0ea07aa498eb78469 |
ca-central-1 | vpce-0d46ea4c9ff55e1b7 |
eu-central-1 | vpce-0865e7194a099183d |
eu-west-2 | vpce-0bccd56798f4c5df0 |
eu-west-1 | vpce-0788e7ed8628e595d |
ap-south-1 | vpce-0d7fcda14e1783f11 |
ap-southeast-2 | vpce-0b7609e6f305a77d4 |
ap-southeast-1 | vpce-0e7e67b32e9efed27 |
ap-northeast-2 | vpce-007893f89e05f2bbf |
ap-northeast-1 | vpce-0247996a1a1807dbd |
Por exemplo, as seguintes restrições GetObject
e PutObject
ações de política em:
Um bucket do Amazon S3 para usuários em uma VPC (
<vpc>
)Um endpoint da VPC (
)<vpc-endpoint>
Um endpoint de serviço Ground Truth (
)<ground-truth-endpoint>
{ "Version": "2012-10-17", "Id": "1", "Statement": [ { "Sid": "DenyAccessFromNonGTandCustomerVPC", "Effect": "Deny", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::
<bucket-name>
", "arn:aws:s3:::<bucket-name>
/*" ], "Condition": { "ForAllValues:StringNotEquals": { "aws:sourceVpce": [ "<vpc-endpoint>
", "<ground-truth-endpoint>
" ], "aws:SourceVpc": "<vpc>
" } } } ] }
Se quiser que um usuário tenha permissão para iniciar um trabalho de rotulagem usando o console Ground Truth, você também deve adicionar o ARN do usuário à política do bucket usando a condição aws:PrincipalArn
. Esse usuário também deve ter permissão para realizar as seguintes ações do Amazon S3 no bucket que você usa para iniciar o trabalho de rotulagem.
"s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:GetBucketCors", "s3:PutBucketCors", "s3:ListAllMyBuckets",
O código a seguir é um exemplo de uma política do bucket que restringe a permissão para realizar as ações listadas Action
no bucket do S3 <bucket-name>
ao seguinte.
<role-name>
Os endpoints da VPC listados em
aws:sourceVpce
Usuários dentro da VPC chamados
<vpc>
{ "Version": "2012-10-17", "Id": "1", "Statement": [ { "Sid": "DenyAccessFromNonGTandCustomerVPC", "Effect": "Deny", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::
<bucket-name>
/*", "arn:aws:s3:::<bucket-name>
" ], "Condition": { "ForAllValues:StringNotEquals": { "aws:sourceVpce": [ "<vpc-endpoint>
", "<ground-truth-endpoint>
" ], "aws:PrincipalArn": "arn:aws:iam::<aws-account-id>
:role/<role-name>
", "aws:SourceVpc": "<vpc>
" } } } ] }
nota
Os endpoints da interface Amazon VPC e os buckets protegidos do Amazon S3 que você usa para dados de entrada e saída devem estar localizados na mesma AWS região que você usa para criar o trabalho de rotulagem.
Depois de conceder permissão ao Ground Truth para acessar seus buckets do Amazon S3, você pode usar um dos tópicos em Criar um trabalho de rotulagem para iniciar um trabalho de rotulagem. Especifique os buckets Amazon S3 restritos a VPC para seus buckets de dados de entrada e saída.
Criar um trabalho de rotulagem automatizada em uma VPC
Para criar um trabalho automatizado de rotulagem de dados usando uma Amazon VPC, forneça uma configuração de VPC usando o console Ground Truth ou a operação de API CreateLabelingJob
. SageMaker usa as sub-redes e os grupos de segurança que você fornece para iniciar os trabalhos de treinamento e inferências usados para rotulagem automática.
Importante
Antes de iniciar um trabalho automatizado de rotulagem de dados com uma configuração de VPC, certifique-se de ter criado um endpoint de VPC do Amazon S3 usando a VPC que deseja usar para o trabalho de rotulagem. Para saber como, consulte Criar um endpoint da VPC no Amazon S3.
Além disso, se você criar um trabalho automatizado de rotulagem de dados usando um bucket Amazon S3 restrito a VPC, deverá seguir as instruções em Permita que o Ground Truth acesse buckets Amazon S3 restritos à VPC para dar permissão ao Ground Truth para acessar o bucket.
Use os procedimentos a seguir para aprender como adicionar uma configuração de VPC à sua solicitação de trabalho de rotulagem.
Adicione uma configuração de VPC a um trabalho de rotulagem de dados automatizada (console):
-
Siga as instruções em Criar um trabalho de rotulagem (Console) e conclua cada etapa do procedimento, até a etapa 15.
-
Na seção Operadores, marque a caixa de seleção ao lado de Ativar rotulagem de dados automatizada.
-
Maximize a seção Configuração da VPC do console selecionando a seta.
-
Especifique a Virtual Private Cloud (VPC) que deseja usar no seu trabalho de rotulagem de dados automatizada.
-
Escolha a lista suspensa em Sub-redes e selecione uma ou mais sub-redes.
-
Escolha a lista suspensa em Grupos de segurança e selecione um ou mais grupos.
-
Conclua todas as etapas restantes do procedimento em Criar um trabalho de rotulagem (Console).
Adicione uma configuração de VPC a um trabalho de rotulagem de dados automatizada (console):
Para configurar um trabalho de rotulagem usando a operação de API do Ground Truth, CreateLabelingJob
, siga as instruções em Criar um trabalho de rotulagem de dados automatizada (API) para configurar sua solicitação. Além dos parâmetros descritos nesta documentação, você deve incluir um parâmetro VpcConfig
em LabelingJobResourceConfig
para especificar uma ou mais sub-redes e grupos de segurança usando o esquema a seguir.
"LabelingJobAlgorithmsConfig": { "InitialActiveLearningModelArn": "
string
", "LabelingJobAlgorithmSpecificationArn": "string
", "LabelingJobResourceConfig": { "VolumeKmsKeyId": "string
", "VpcConfig": { "SecurityGroupIds": [ "string
" ], "Subnets": [ "string
" ] } } }
Veja a seguir um exemplo de uma solicitação do AWS Python SDK (Boto3)texto em itálico vermelho
pelos recursos e especificações do seu trabalho de rotulagem. Para saber mais sobre a CreateLabelingJob
operação, consulte o tutorial Create a Labeling Job (API) e a documentação da CreateLabelingJob API.
import boto3 client = boto3.client(service_name='sagemaker') response = client.create_labeling_job( LabelingJobName=
"example-labeling-job"
, LabelAttributeName="label"
, InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri':"s3://bucket/path/manifest-with-input-data.json"
} } }, "LabelingJobAlgorithmsConfig": { "LabelingJobAlgorithmSpecificationArn": "arn:aws:sagemaker:us-east-1:027400017018:labeling-job-algorithm-specification/tasktype
", "LabelingJobResourceConfig": { "VpcConfig": { "SecurityGroupIds": [ "sg-01233456789
", "sg-987654321
" ], "Subnets": [ "subnet-e0123456
", "subnet-e7891011
" ] } } }, OutputConfig={ 'S3OutputPath':"s3://bucket/path/file-to-store-output-data"
, 'KmsKeyId':"string"
}, RoleArn="arn:aws:iam::*:role/*
, LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json"
, StoppingConditions={ 'MaxHumanLabeledObjectCount':123
, 'MaxPercentageOfInputDatasetLabeled':123
}, HumanTaskConfig={ 'WorkteamArn':"arn:aws:sagemaker:region:*:workteam/private-crowd/*"
, 'UiConfig': { 'UiTemplateS3Uri':"s3://bucket/path/custom-worker-task-template.html"
}, 'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414
:function:PRE-tasktype
", 'TaskKeywords': [ "Images
", "Classification
", "Multi-label
" ], 'TaskTitle':"Add task title here"
, 'TaskDescription':"Add description of task here for workers"
, 'NumberOfHumanWorkersPerDataObject':1
, 'TaskTimeLimitInSeconds':3600
, 'TaskAvailabilityLifetimeInSeconds':21600
, 'MaxConcurrentTaskCount':1000
, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414
:function:ACS-tasktype
" }, Tags=[ { 'Key':"string"
, 'Value':"string"
}, ] )