Permissões e segurança na Amazon Augmented AI - 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á.

Permissões e segurança na Amazon Augmented AI

Ao usar o Amazon Augmented AI (Amazon A2I) para criar um fluxo de trabalho de revisão humana para seu aplicativo de ML/AI, você cria e configura recursos na SageMaker Amazon, como uma força de trabalho humana e modelos de tarefas de trabalhadores. Para configurar e iniciar um loop humano, você integra o Amazon A2I a outros AWS serviços, como o Amazon Textract ou o Amazon Rekognition, ou usa o Amazon Augmented AI Runtime. API Para criar um fluxo de trabalho de revisão humana e iniciar um ciclo humano, você deve anexar determinadas políticas à sua função AWS Identity and Access Management (IAM) ou usuário. Especificamente:

  • Ao iniciar um loop humano usando dados de entrada de imagem em ou após 12 de janeiro de 2020, você deve adicionar uma política de CORS cabeçalho ao bucket do Amazon S3 que contém seus dados de entrada. Para saber mais, consulte CORSRequisito de permissão.

  • Ao criar uma definição de fluxo, você precisa fornecer uma função que concede permissão ao Amazon A2I para acessar o Amazon S3, tanto para ler objetos que são renderizados em uma interface de tarefa humana quanto para gravar os resultados da revisão humana.

    Essa função também deve ter uma política de confiança anexada para dar SageMaker permissão para assumir a função. Isso permite que o Amazon A2I execute ações de acordo com as permissões que você anexa à função.

    Consulte Adicionar permissões à IAM função usada para criar uma definição de fluxo para obter políticas de exemplo que você pode modificar e anexar à função que você usa para criar uma definição de fluxo. Essas são as políticas associadas à IAM função criada na seção de fluxos de trabalho de revisão humana da área Amazon A2I do console. SageMaker

  • Para criar e iniciar loops humanos, você usa uma API operação de um tipo de tarefa incorporado (como DetectModerationLabel ouAnalyzeDocument) ou a API operação Amazon A2I Runtime StartHumanLoop em um aplicativo de ML personalizado. Você precisa anexar a política AmazonAugmentedAIFullAccess gerenciada ao usuário que invoca essas API operações para conceder permissão a esses serviços para usar as operações A2I da Amazon. Para saber como, consulte Crie um usuário que possa invocar operações API A2I da Amazon.

    Essa política não concede permissão para invocar as API operações do AWS serviço associadas aos tipos de tarefas incorporados. Por exemplo, AmazonAugmentedAIFullAccess não concede permissão para chamar a operação Amazon Rekognition ou a DetectModerationLabel API operação Amazon Textract. AnalyzeDocument API Você pode usar a política mais geral, AmazonAugmentedAIIntegratedAPIAccess, para conceder essas permissões. Para obter mais informações, consulte Crie um usuário com permissões para invocar as operações do Amazon A2I, do Amazon Textract e do Amazon Rekognition API. Essa é uma boa opção quando você deseja conceder a um usuário amplas permissões para usar o Amazon A2I e as operações de AWS serviços API integrados.

    Se você quiser configurar permissões mais granulares, consulte Exemplos de políticas baseadas em identidade do Amazon Rekognition e Exemplos de políticas baseadas em identidade do Amazon Textract para obter políticas baseadas em identidade que podem ser usadas para conceder permissão para usar esses serviços individuais.

  • Para visualizar seu modelo de interface de usuário de tarefa de trabalho personalizado, você precisa de uma IAM função com permissões para ler objetos do Amazon S3 que são renderizados em sua interface de usuário. Consulte um exemplo de política em Habilitar visualizações do modelo de tarefa de operador .

CORSRequisito de permissão

No início de 2020, navegadores amplamente usados, como Chrome e Firefox, mudaram seu comportamento padrão de rotação de imagens com base nos metadados da imagem, chamados EXIF de dados. Anteriormente, as imagens eram exibidas nos navegadores exatamente como eram armazenadas no disco, geralmente sem rotação. Após a alteração, as imagens agora giram de acordo com um metadado da imagem chamado valor de orientação. Isso tem implicações importantes para toda a comunidade de machine learning (ML). Por exemplo, se a EXIF orientação não for considerada, os aplicativos usados para anotar imagens podem exibir imagens em orientações inesperadas e resultar em rótulos incorretos.

A partir do Chrome 89, não é mais AWS possível impedir automaticamente a rotação de imagens porque o grupo de padrões da web W3C decidiu que a capacidade de controlar a rotação de imagens viola a Política de Mesma Origem da Web. Portanto, para garantir que os trabalhadores humanos anotem suas imagens de entrada em uma orientação previsível ao enviar solicitações para criar um loop humano, você deve adicionar uma política de CORS cabeçalho aos buckets do S3 que contêm suas imagens de entrada.

Importante

Se você não adicionar uma CORS configuração aos buckets do S3 que contenha seus dados de entrada, as tarefas de revisão humana desses objetos de dados de entrada falharão.

Você pode adicionar uma CORS política a um bucket do S3 que contém dados de entrada no console do Amazon S3. Para definir CORS os cabeçalhos necessários no bucket do S3 que contém suas imagens de entrada no console do S3, siga as instruções detalhadas em Como faço para adicionar o compartilhamento de recursos entre domínios com? CORS . Use o código de CORS configuração a seguir para os buckets que hospedam suas imagens. Se você usar o console do Amazon S3 para adicionar a política ao seu bucket, deverá usar o JSON formato.

JSON

[{ "AllowedHeaders": [], "AllowedMethods": ["GET"], "AllowedOrigins": ["*"], "ExposeHeaders": [] }]

XML

<CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration>

A seguir, GIF demonstramos as instruções encontradas na documentação do Amazon S3 para adicionar CORS uma política de cabeçalho usando o console do Amazon S3.

Gif sobre como adicionar uma política de CORS cabeçalho usando o console Amazon S3.

Adicionar permissões à IAM função usada para criar uma definição de fluxo

Para criar uma definição de fluxo, anexe as políticas desta seção à função que você usa ao criar um fluxo de trabalho de revisão humana no SageMaker console ou ao usar a CreateFlowDefinition API operação.

  • Se você estiver usando o console para criar um fluxo de trabalho de revisão humana, insira a função Amazon Resource Name (ARN) no campo de IAMfunção ao criar um fluxo de trabalho de revisão humana no console.

  • Ao criar uma definição de fluxo usando oAPI, anexe essas políticas à função que é passada para o RoleArn parâmetro da CreateFlowDefinition operação.

Quando você cria um fluxo de trabalho de análise humana (definição de fluxo), o Amazon A2I chama o Amazon S3 para concluir a tarefa. Para conceder permissão ao Amazon A2I para recuperar e armazenar seus arquivos no seu bucket do Amazon S3, crie a seguinte política e a anexe à sua função. Por exemplo, se as imagens, documentos e outros arquivos que você está enviando para revisão humana estiverem armazenados em um bucket do S3 chamado my_input_bucket e se você quiser que as revisões humanas sejam armazenadas em um bucket chamado my_output_bucket, crie a política a seguir.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my_input_bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my_output_bucket/*" ] } ] }

Além disso, a IAM função deve ter a seguinte política de confiança para dar SageMaker permissão para assumir a função. Para saber mais sobre políticas de IAM confiança, consulte a seção Políticas baseadas em recursos de Políticas e permissões na documentação do AWS Identity and Access Management.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSageMakerToAssumeRole", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Para obter mais informações sobre como criar e gerenciar IAM funções e políticas, consulte os tópicos a seguir no Guia AWS Identity and Access Management do usuário:

Crie um usuário que possa invocar operações API A2I da Amazon

Para usar o Amazon A2I para criar e iniciar loops humanos para o Amazon Rekognition, o Amazon Textract ou o tempo de execução do Amazon A2I, você deve usar um usuário que tenha permissões para invocar operações do Amazon API A2I. Para fazer isso, use o IAM console para anexar a política AmazonAugmentedAIFullAccessgerenciada a um usuário novo ou existente.

Essa política concede permissão a um usuário para invocar API operações do SageMaker API For Flow Definition, criação e gerenciamento e do Amazon Augmented AI Runtime API para criação e gerenciamento de ciclos humanos. Para saber mais sobre essas API operações, consulte Use APIs in Amazon Augmented AI.

AmazonAugmentedAIFullAccessnão concede permissões para usar as operações do Amazon Rekognition ou do Amazon Textract. API

nota

Você também pode anexar a AmazonAugmentedAIFullAccess política a uma IAM função usada para criar e iniciar um loop humano.

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:

Para obter mais informações, consulte Adicionar e remover permissões de IAM identidade no Guia AWS Identity and Access Management do usuário.

Crie um usuário com permissões para invocar as operações do Amazon A2I, do Amazon Textract e do Amazon Rekognition API

Para criar um usuário que tenha permissão para invocar as API operações usadas pelos tipos de tarefas incorporados (ou seja, DetectModerationLables para o Amazon Rekognition e para o Amazon AnalyzeDocument Textract) e permissão para usar API todas as operações do Amazon A2I, anexe a política gerenciada,. IAM AmazonAugmentedAIIntegratedAPIAccess Você pode querer usar essa política quando desejar conceder permissões amplas a um usuário que utiliza o Amazon A2I com mais de um tipo de tarefa. Para saber mais sobre essas API operações, consulte Use APIs in Amazon Augmented AI.

nota

Você também pode anexar a AmazonAugmentedAIIntegratedAPIAccess política a uma IAM função usada para criar e iniciar um loop humano.

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:

Para obter mais informações, consulte Adicionar e remover permissões de IAM identidade no Guia AWS Identity and Access Management do usuário.

Habilitar visualizações do modelo de tarefa de operador

Para personalizar a interface e as instruções que os operadores veem ao trabalhar em suas tarefas, você cria um modelo de tarefa de operador. Você pode criar o modelo usando a CreateHumanTaskUioperação ou o SageMaker console.

Para visualizar seu modelo, você precisa de uma IAM função com as seguintes permissões para ler objetos do Amazon S3 que são renderizados na sua interface de usuário.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my_input_bucket/*" ] } ] }

Para os tipos de tarefas Amazon Rekognition e Amazon Textract, você pode visualizar seu modelo usando a seção Amazon Augmented AI do console. SageMaker Para tipos de tarefa personalizados, você visualiza seu modelo chamando a operação RenderUiTemplate. Para visualizar o modelo, siga as instruções para o tipo de tarefa:

  • SageMaker Tipos de tarefas Amazon Rekognition e Amazon Textract — No console, use o Amazon Resource Name () da função no procedimento documentado em. ARN Criar um modelo de tarefa de trabalho

  • Tipos de tarefas personalizadas — Na RenderUiTemplate operação, use a função ARN no RoleArn parâmetro.

Usando o Amazon A2I com AWS KMS buckets criptografados

Se você especificar uma chave AWS Key Management Service (AWS KMS) gerenciada pelo cliente para criptografar os dados de saída em OutputConfig of CreateFlowDefinition, deverá adicionar uma IAM política semelhante à seguinte para essa chave. Essa política dá à função de IAM execução que você usa para criar seus loops humanos permissão para usar essa chave para realizar todas as ações listadas em"Action". Para saber mais sobre essas ações, consulte AWS KMS as permissões no Guia do AWS Key Management Service desenvolvedor.

Para usar essa política, substitua a IAM função de serviço pela função ARN ARN de execução que você usa para criar o fluxo de trabalho de revisão humana (definição de fluxo). "Principal" Quando você cria um trabalho de etiquetagem usandoCreateFlowDefinition, é para isso ARN que você especifica RoleArn. Observe que você não pode fornecer um KmsKeyId ao criar uma definição de fluxo no console.

{ "Sid": "AllowUseOfKmsKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/example-role" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

Permissões e recursos de segurança adicionais