Pré-requisitos para trabalhos de tradução em lote - Amazon Translate

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á.

Pré-requisitos para trabalhos de tradução em lote

Os seguintes pré-requisitos devem ser atendidos para que o Amazon Translate execute um trabalho de tradução em lote com êxito:

  • Os buckets do Amazon S3 que contêm os documentos de entrada e de saída devem estar na mesma região da AWS que o endpoint da API que você está chamando.

  • A coleção de documentos de entrada em lote deve ter 5 GB ou menos de tamanho.

  • Pode haver um máximo de um milhão de documentos enviados em um trabalho de tradução em lote.

  • Cada documento de entrada deve ter 20 MB ou menos e conter menos de 1 milhão de caracteres.

  • Seus arquivos de entrada devem estar em uma pasta em um bucket do Amazon S3. Se você adicionar seus arquivos de entrada ao nível superior de um bucket, o Amazon Translate gerará um erro ao tentar executar um trabalho de tradução em lote. Esse requisito se aplica aos arquivos de entrada. Nenhuma pasta é necessária para os arquivos de saída, e o Amazon Translate pode colocá-los no nível superior de um bucket do Amazon S3.

  • A pasta do arquivo de entrada pode conter pastas aninhadas. Certifique-se de que nenhuma das pastas aninhadas tenha um nome details, caso contrário, o Amazon Translate gerará um erro quando você tentar executar o trabalho de tradução em lote.

Formatos de arquivo suportados

O Amazon Translate oferece suporte aos seguintes tipos de arquivos para trabalhos de tradução em lote:

  • Texto sem formatação.

  • HTML.

  • Documentos do Word (.docx).

  • Arquivos de apresentação do PowerPoint (.pptx).

  • Arquivos da pasta de trabalho do Excel (.xlsx).

  • Arquivos XLIFF (XML Localization Interchange File Format - .xlf). O Amazon Translate oferece suporte somente à versão 1.2 do XLIFF.

O Amazon Translate exige que os arquivos sejam codificados em UTF-8.

Permissões de pré-requisito

Antes de executar um trabalho de tradução em lote, sua conta da deve ter um perfil de serviço no IAM. Essa função deve ter uma política de permissões que conceda ao Amazon Translate:

  • Acesso de leitura à sua pasta de entrada e a todas as suas subpastas no Amazon S3.

  • Acesso de leitura e gravação ao bucket de saída.

Ela também deve incluir uma política de confiança que permita ao Amazon Translate assumir a função e obter suas permissões. Essa diretiva de confiança deve permitir que o principal de serviço translate.amazonaws.com execute a ação sts:AssumeRole.

Ao criar um trabalho de tradução em lote usando o console do Amazon Translate, você tem a opção de permitir que o Amazon Translate crie automaticamente essa função para você. Ao executar um trabalho de tradução em lote usando o AWS CLI ou a API do Amazon Translate, forneça o Amazon Resource Name (ARN) da função em sua solicitação.

Para obter mais informações, consulte Criar uma função para delegar permissões a um serviço da AWS no Guia do usuário do IAM.

exemplo Política de permissões

A política de permissões de exemplo a seguir concede acesso de leitura a uma pasta de entrada em um bucket do Amazon S3. Ela concede acesso de leitura e gravação a um bucket de saída.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::input-bucket-name/*", "arn:aws:s3:::output-bucket-name/*" ] }, { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::input-bucket-name", "arn:aws:s3:::output-bucket-name" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::output-bucket-name/*" } ] }
exemplo Política de confiança

A política de confiança a seguir permite que o Amazon Translate assuma a função do IAM à qual a política pertence.

Recomendamos que você verifique a conta AWS que está usando a política de confiança para mitigar o problema do Confused Deputy. Este exemplo usa as chaves de condição aws:SourceArn e aws:SourceAccount para verificar a conta de origem. Insira a conta AWS que envia o trabalho de tradução em lote.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "translate.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:translate:*:111122223333:*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Permissões de pré-requisito para personalizar a criptografia

Você pode personalizar suas configurações de criptografia no Amazon Translate, mas primeiro você deve adicionar permissões ao perfil de serviço no IAM.

O Amazon Translate criptografa a saída de tradução que você produz ao executar um trabalho de tradução em lote. Por padrão, ele faz essa criptografia com um Chave gerenciada pela AWS. Este tipo de chave é criado por AWS e armazenado em AWS Key Management Service (AWS KMS) na sua conta. No entanto, não é possível gerenciar essa chave do KMS sozinho. Ela é gerenciada e usada em seu nome somente por AWS.

Opcionalmente, você pode optar por criptografar sua saída com uma chave gerenciada pelo cliente, que é uma chave KMS que você cria, possui e gerencia em sua conta AWS.

Sua chave deve ter uma política de chaves que permita que o Amazon Translate a use. A política principal faz isso concedendo suas permissões ao perfil de serviço que permite que o Amazon Translate acesse seu bucket do Amazon S3.

A política de chaves permite que ao perfil de serviço execute as operações AWS KMS necessárias para criptografar sua saída, conforme mostrado no exemplo de declaração de política a seguir.

exemplo Declaração de política de chaves do KMS
{ "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/AmazonTranslateServiceRoleS3FullAccess" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:CreateGrant", "kms:RetireGrant", "kms:DescribeKey" ], "Resource": "*" }

Para obter mais informações, consulte Políticas de chaves no AWS KMS no Guia do desenvolvedor do AWS Key Management Service

Permissões para usar uma chave AWS KMS de outra conta AWS

Se quiser usar uma chave do KMS que esteja em uma conta AWS diferente da que usa o Amazon Translate, você deverá:

  1. Atualizar a perfil de serviço do Amazon Translate no IAM.

  2. Atualizar a política de chaves em AWS KMS.

Para atualizar seu perfil de serviço, anexe uma política que permita realizar as operações AWS KMS necessárias com a chave KMS que está na outra conta AWS, conforme mostrado no exemplo a seguir.

exemplo Política do IAM para conceder acesso a uma chave KMS em uma conta diferente
{ "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:CreateGrant", "kms:RetireGrant", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/key-id" }

Para atualizar sua política de chaves KMS, adicione o perfil de serviço e o usuário administrador como principais que têm permissão para usar a chave, conforme mostrado no exemplo de declaração de política a seguir.

exemplo Declaração de política de chaves KMS para permitir que uma função do IAM use a chave
{ "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/AmazonTranslateServiceRoleS3FullAccess", "arn:aws:iam::444455556666:admin" ] }, "Action": [ "kms:Decrypt", "kms:CreateGrant", "kms:GenerateDataKey", "kms:RetireGrant", "kms:DescribeKey" ], "Resource": "*" }

Para obter mais informações, consulte Como permitir que usuários em outras contas usem uma chave do AWS KMS no Guia do desenvolvedor doAWS Key Management Service