Exemplos de políticas baseadas em identidade para o Amazon Comprehend - Amazon Comprehend

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

Exemplos de políticas baseadas em identidade para o Amazon Comprehend

Por padrão, usuários e perfis não têm permissão para criar nem modificar recursos do Amazon Comprehend. Eles também não podem realizar tarefas usando o AWS Management Console, AWS Command Line Interface (AWS CLI) ou AWS API. Para conceder permissão aos usuários para realizar ações nos recursos de que precisam, um IAM administrador pode criar IAM políticas. O administrador pode então adicionar as IAM políticas às funções e os usuários podem assumir as funções.

Para saber como criar uma política IAM baseada em identidade usando esses exemplos de documentos de JSON política, consulte Criar IAM políticas (console) no Guia do IAMusuário.

Para obter detalhes sobre ações e tipos de recursos definidos pelo Amazon Comprehend, incluindo o formato de cada um ARNs dos tipos de recursos, consulte Ações, recursos e chaves de condição para o Amazon Comprehend na Referência de Autorização de Serviço.

Melhores práticas de política

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Amazon Comprehend em sua conta. Essas ações podem incorrer em custos para seus Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:

  • Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões aos seus usuários e cargas de trabalho, use as políticas AWS gerenciadas que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para obter mais informações, consulte políticas AWS gerenciadas ou políticas AWS gerenciadas para funções de trabalho no Guia IAM do usuário.

  • Aplique permissões com privilégios mínimos — Ao definir permissões com IAM políticas, conceda somente as permissões necessárias para realizar uma tarefa. Você faz isso definindo as ações que podem ser executadas em atributos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre IAM como usar para aplicar permissões, consulte Políticas e permissões IAM no Guia IAM do usuário.

  • Use condições nas IAM políticas para restringir ainda mais o acesso — Você pode adicionar uma condição às suas políticas para limitar o acesso a ações e recursos. Por exemplo, você pode escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usandoSSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como AWS CloudFormation. Para obter mais informações, consulte elementos IAM JSON da política: Condição no Guia IAM do usuário.

  • Use o IAM Access Analyzer para validar suas IAM políticas e garantir permissões seguras e funcionais — o IAM Access Analyzer valida políticas novas e existentes para que as políticas sigam a linguagem da IAM política (JSON) e as melhores práticas. IAM IAMO Access Analyzer fornece mais de 100 verificações de políticas e recomendações práticas para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validar políticas com o IAM Access Analyzer no Guia do IAMUsuário.

  • Exigir autenticação multifatorial (MFA) — Se você tiver um cenário que exija IAM usuários ou um usuário root Conta da AWS, ative MFA para obter segurança adicional. Para exigir MFA quando API as operações são chamadas, adicione MFA condições às suas políticas. Para obter mais informações, consulte APIAcesso seguro MFA no Guia do IAM usuário.

Para obter mais informações sobre as melhores práticas emIAM, consulte as melhores práticas de segurança IAM no Guia IAM do usuário.

Utilizar o console do Amazon Comprehend

Para acessar o console da Amazon Comprehend, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos do Amazon Comprehend em seu. Conta da AWS Caso crie uma política baseada em identidade mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para AWS CLI o. ou AWS API o. Em vez disso, permita o acesso somente às ações que correspondam à API operação que eles estão tentando realizar.

Para obter permissões mínimas do console Amazon Comprehend, você pode anexar ComprehendReadOnly AWS a política gerenciada às entidades. Para obter mais informações, consulte Adicionar permissões a um usuário no Guia do IAM usuário.

Para usar o console do Amazon Comprehend, também é necessário conceder permissões para as ações exibidas na política a seguir:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:ListRoles", "iam:GetRole", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": "*" } ] }

O console do Amazon Comprehend precisa dessas permissões adicionais pelas seguintes razões:

  • iampermissões para listar as IAM funções disponíveis para sua conta.

  • Permissões do s3 para acessar os buckets e objetos do Amazon S3 contendo os dados para modelagem de tópicos.

Ao criar um trabalho em lotes assíncrono ou um trabalho de modelagem de tópicos usando o console, você tem a opção de fazer com que o console crie uma IAM função para seu trabalho. Para criar uma IAM função, os usuários devem receber as seguintes permissões adicionais para criar IAM funções e políticas e anexar políticas às funções:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }

O console do Amazon Comprehend precisa dessas permissões adicionais pelas seguintes razões:

  • Permissões do iam para criar e anexar perfis e políticas. A ação iam:PassRole permite que o console passe o perfil para o Amazon Comprehend.

Permitir que usuários visualizem suas próprias permissões

Este exemplo mostra como você pode criar uma política que permita IAM aos usuários visualizar as políticas embutidas e gerenciadas que estão anexadas à identidade do usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando o AWS CLI ou. AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Permissões necessárias para executar ações de análise de documentos

O exemplo de política a seguir concede permissões para usar as ações de análise de documentos do Amazon Comprehend:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDetectActions", "Effect": "Allow", "Action": [ "comprehend:DetectEntities", "comprehend:DetectKeyPhrases", "comprehend:DetectDominantLanguage", "comprehend:DetectSentiment", "comprehend:DetectTargetedSentiment", "comprehend:DetectSyntax", "textract:DetectDocumentText", "textract:AnalyzeDocument" ], "Resource": "*" } ] }

A política tem uma instrução que concede permissão para usar as ações DetectEntities, DetectKeyPhrases, DetectDominantLanguage, DetectTargetedSentiment, DetectSentiment, e DetectSyntax. A declaração de política também concede permissões para usar dois métodos do Amazon Textract. API O Amazon Comprehend chama esses métodos para extrair texto de arquivos de imagem e documentos digitalizados. PDF É possível remover essas permissões para usuários que nunca executam inferência personalizada para esses tipos de arquivos de entrada.

Um usuário com essa política não conseguiria realizar ações em lote ou ações assíncronas em sua conta.

A política não especifica o elemento Principal, porque não se especifica o principal que obtém as permissões em uma política baseada em identidade. Quando você anexar uma política a um usuário, o usuário será a entidade principal implícita. Quando você anexa uma política de permissões a uma IAM função, o principal identificado na política de confiança da função obtém as permissões.

Para ver uma tabela mostrando todas as ações do Amazon API Comprehend e os recursos aos quais elas se aplicam, consulte Ações, recursos e chaves de condição do Amazon Comprehend na Referência de Autorização de Serviço.

Permissões necessárias para usar a KMS criptografia

Para usar totalmente o Amazon Key Management Service (KMS) para criptografia de dados e trabalhos em um trabalho assíncrono, você precisa conceder permissões para as ações mostradas na seguinte política:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "kms:CreateGrant" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "kms:Decrypt", "kms:GenerateDatakey" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "s3.region.amazonaws.com" ] } } } ] }

Ao criar uma tarefa assíncrona com o Amazon Comprehend, você usa dados de entrada armazenados no Amazon S3. Com o S3, você tem a opção de criptografar seus dados armazenados, os quais são criptografados pelo S3, não pelo Amazon Comprehend. Podemos descriptografar e ler esses dados de entrada criptografados se você fornecer ao kms:Decrypt permissão para a chave com a qual os dados de entrada originais foram criptografados para o perfil de acesso a dados usada pela tarefa do Amazon Comprehend.

Você também tem a opção de usar chaves KMS gerenciadas pelo cliente (CMK) para criptografar os resultados de saída no S3, bem como o volume de armazenamento usado durante o processamento do trabalho. Ao fazer isso, você pode usar a mesma KMS chave para os dois tipos de criptografia, mas isso não é necessário. Campos separados estão disponíveis ao criar o trabalho para especificar as chaves para criptografia de saída e criptografia de volume, e você pode até mesmo usar uma KMS chave de uma conta diferente.

Ao usar KMS criptografia, é necessária kms:CreateGrant permissão para criptografia de volume e kms:GenerateDataKey permissão para criptografia de dados de saída. Para ler entradas criptografadas (como quando os dados de entrada já estão criptografados pelo Amazon S3), é necessária a permissão kms:Decrypt. A IAM função precisa conceder essas permissões conforme necessário. No entanto, se a chave for de uma conta diferente da que está sendo usada atualmente, a política de KMS chaves dessa chave kms também deve conceder essas permissões à função de acesso a dados do trabalho.

AWS políticas gerenciadas (predefinidas) para o Amazon Comprehend

AWS aborda muitos casos de uso comuns fornecendo IAM políticas autônomas que são criadas e administradas pela AWS. Essas políticas AWS gerenciadas concedem as permissões necessárias para casos de uso comuns, para que você possa evitar a necessidade de investigar quais permissões são necessárias. Para obter mais informações, consulte políticas AWS gerenciadas no Guia IAM do usuário.

As seguintes políticas AWS gerenciadas, que você pode anexar aos usuários em sua conta, são específicas do Amazon Comprehend:

  • ComprehendFullAccess— Concede acesso total aos recursos do Amazon Comprehend, incluindo a execução de trabalhos de modelagem de tópicos. Inclui permissão para listar e obter IAM funções.

  • ComprehendReadOnly— Concede permissão para executar todas as ações do Amazon ComprehendStartEntitiesDetectionJob, StartDominantLanguageDetectionJob exceto,,, StartKeyPhrasesDetectionJobStartSentimentDetectionJob, e. StartTargetedSentimentDetectionJob StartTopicsDetectionJob

É preciso aplicar a seguinte política adicional a qualquer usuário que usará o Amazon Comprehend:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }

Você pode revisar as políticas de permissões gerenciadas fazendo login no IAM console e pesquisando políticas específicas nele.

Essas políticas funcionam quando você está usando AWS SDKs ou AWS CLI o.

Você também pode criar suas próprias IAM políticas personalizadas para permitir permissões para ações e recursos do Amazon Comprehend. Você pode anexar essas políticas personalizadas a usuários, perfis ou grupos que exijam essas permissões.

Permissões baseadas em perfis necessárias para operações assíncronas

Para usar as operações assíncronas do Amazon Comprehend, você deve conceder a ele o acesso ao bucket do Amazon S3 contendo sua coleção de documentos. Você faz isso criando um perfil de acesso a dados em sua conta com uma política de confiança para confiar na entidade principal do serviço do Amazon Comprehend. Para mais informações sobre como criar um perfil, consulte Criar um perfil para delegar permissões a um produto da AWS no Guia do usuário do Identity and Access Management da AWS .

O exemplo a seguir mostra um exemplo de política de confiança para o perfil criado. Para ajudar na prevenção do problema “confused deputy”, você restringe o escopo da permissão usando uma ou mais chaves de contexto de condição global. Defina o valor aws:SourceAccount para o ID da sua conta. Se você usar a ArnEquals condição, defina o aws:SourceArn valor como o ARN do trabalho. Use um caractere curinga para o número do trabalho noARN, porque o Amazon Comprehend gera esse número como parte da criação de empregos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:comprehend:us-west-2:111122223333:pii-entities-detection-job/*" } } } ] }

Depois de criar o perfil, crie uma política de acesso para esse perfil. Isso deve conceder ao Amazon S3 as permissões GetObject e ListBucket para o bucket do Amazon S3 contendo seus dados de entrada, e a permissão dePutObject do Amazon S3 para o bucket de dados de saída do Amazon S3.

Conceder permissões a todas as ações do Amazon Comprehend

Depois de se inscrever AWS, você cria um usuário administrador para gerenciar sua conta, incluindo a criação de usuários e o gerenciamento de suas permissões.

Você pode optar por criar um usuário que tem permissões para todas as ações do Amazon Comprehend (pense nesse usuário como um administrador específico do serviço) para trabalhar com o Amazon Comprehend. Você pode anexar a política de permissões a seguir para este usuário.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllComprehendActions", "Effect": "Allow", "Action": [ "comprehend:*", "iam:ListRoles", "iam:GetRole", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "kms:CreateGrant", "kms:Decrypt", "kms:GenerateDatakey" ], "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }

Essas permissões podem ser modificadas com relação à criptografia das seguintes maneiras:

  • Para permitir que o Amazon Comprehend analise documentos armazenados em um bucket S3 criptografado, a função deve ter IAM a permissão. kms:Decrypt

  • Para permitir que o Amazon Comprehend criptografe documentos armazenados em um volume de armazenamento anexado à instância computacional que processa o trabalho de análise, a função deve ter IAM a permissão. kms:CreateGrant

  • Para permitir que o Amazon Comprehend criptografe os resultados de saída em seu bucket do S3, a função deve ter IAM a permissão. kms:GenerateDataKey

Permissões para ações de modelagem de tópicos

A política a seguir concede permissões ao usuário para realizar as operações de modelagem de tópicos do Amazon Comprehend.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowTopicModelingActions", "Effect": "Allow", "Action": [ "comprehend:DescribeTopicsDetectionJob", "comprehend:ListTopicsDetectionJobs", "comprehend:StartTopicsDetectionJob", ], "Resource": "*" ] } ] }

Permissões necessárias para uma tarefa de análise assíncrona personalizada

Importante

Se você tiver uma IAM política que restringe o acesso ao modelo, não conseguirá concluir um trabalho de inferência com um modelo personalizado. Sua IAM política deve ser atualizada para ter um recurso curinga para um trabalho de análise assíncrona personalizado.

Se você estiver usando o StartDocumentClassificationJob e StartEntitiesDetectionJobAPIs, precisará atualizar sua IAM política, a menos que esteja usando curingas como recursos no momento. Se você estiver StartEntitiesDetectionJobusando um modelo pré-treinado, isso não afetará você e você não precisará fazer nenhuma alteração.

O exemplo de política a seguir contém uma referência desatualizada.

{ "Action": [ "comprehend:StartDocumentClassificationJob", "comprehend:StartEntitiesDetectionJob", ], "Resource": [ "arn:aws:comprehend:us-east-1:123456789012:document-classifier/myClassifier", "arn:aws:comprehend:us-east-1:123456789012:entity-recognizer/myRecognizer" ], "Effect": "Allow" }

Essa é a política atualizada que você precisa usar para executar e. StartDocumentClassificationJob StartEntitiesDetectionJob

{ "Action": [ "comprehend:StartDocumentClassificationJob", "comprehend:StartEntitiesDetectionJob", ], "Resource": [ "arn:aws:comprehend:us-east-1:123456789012:document-classifier/myClassifier", "arn:aws:comprehend:us-east-1:123456789012:document-classification-job/*", "arn:aws:comprehend:us-east-1:123456789012:entity-recognizer/myRecognizer", "arn:aws:comprehend:us-east-1:123456789012:entities-detection-job/*" ], "Effect": "Allow" }