Ejemplos de políticas basadas en identidades de Amazon Comprehend - Amazon Comprehend

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de políticas basadas en identidades de Amazon Comprehend

De forma predeterminada, los usuarios y los roles no tienen permiso para crear ni modificar los recursos de Amazon Comprehend. Tampoco pueden realizar tareas mediante la AWS Management Console, AWS Command Line Interface (AWS CLI) o la AWS API. Un administrador de IAM puedes crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan. A continuación, el administrador puedes añadir las políticas de IAM a roles y los usuarios puedes asumirlos.

Para obtener información acerca de cómo crear una política basada en identidades de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte Creación de políticas de IAM (consola) en la Guía del usuario de IAM.

Para obtener más información sobre las acciones y los tipos de recursos definidos por Amazon Comprehend, incluido el formato de cada uno de los tipos de recursos, consulte Acciones, recursos y claves de condición de Amazon Comprehend en la Referencia de autorización de servicio. ARNs

Prácticas recomendadas sobre las políticas

Las políticas basadas en identidades determinan si alguien puede crear, eliminar o acceder a los recursos de Amazon Comprehend en su cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:

  • Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos: para comenzar a conceder permisos a sus usuarios y cargas de trabajo, utilice las políticas AWS administradas que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Con el fin de obtener más información, consulta las políticas administradas por AWS o las políticas administradas por AWS para funciones de tarea en la Guía de usuario de IAM.

  • Aplique permisos de privilegio mínimo: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se puedes llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulta Políticas y permisos en IAM en la Guía del usuario de IAM.

  • Utiliza condiciones en las políticas de IAM para restringir aún más el acceso: puedes agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puedes escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica Servicio de AWS, por ejemplo AWS CloudFormation. Para obtener más información, consulta Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.

  • Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte Validación de políticas con el Analizador de acceso de IAM en la Guía del usuario de IAM.

  • Requerir autenticación multifactor (MFA): si tiene un escenario que requiere usuarios de IAM o un usuario raíz en Cuenta de AWS su cuenta, active la MFA para mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte Acceso seguro a la API con MFA en la Guía del usuario de IAM.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.

Uso de la consola Amazon Comprehend

Para acceder a la consola de Amazon Comprehend, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y ver detalles sobre los recursos de Amazon Comprehend en su. Cuenta de AWS Si crea una política basada en identidades que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política.

No necesita conceder permisos mínimos de consola a los usuarios que solo realizan llamadas a la API AWS CLI o a la AWS API. En su lugar, permite el acceso únicamente a las acciones que coincidan con la operación de API que intentan realizar.

Para obtener los permisos mínimos de la consola de Amazon Comprehend, puede adjuntar la política ComprehendReadOnly AWS gestionada a las entidades. Para obtener más información, consulte Adición de permisos a un usuario en la Guía del usuario de IAM:

Para usar la consola de Amazon Comprehend, debe conceder permisos para las acciones mostradas en la política siguiente:

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

La consola de Amazon Comprehend necesita estos permisos adicionales por las razones indicadas:

  • Permisos de iam para enumerar los roles de IAM disponibles para su cuenta.

  • Permisos de s3 para acceder a los buckets y objetos de Amazon S3 que contienen los datos para el modelado de temas.

Al crear un trabajo por lotes asíncrono o un trabajo de modelado de temas mediante la consola, tiene la opción de hacer que la consola cree un rol de IAM para su trabajo. Para crear un rol de IAM, los usuarios deben disponer de los siguientes permisos adicionales para crear políticas y roles de IAM y adjuntar políticas a los roles:

{ "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*" } ] }

La consola de Amazon Comprehend necesita estos permisos adicionales por las razones indicadas:

  • Permisos iam para crear funciones y políticas y para adjuntar roles y políticas. La acción de iam:PassRole permite a la consola transferir el rol a Amazon Comprehend.

Cómo permitir a los usuarios consultar sus propios permisos

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas gestionadas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la AWS CLI API o. AWS

{ "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": "*" } ] }

Permisos necesarios para realizar acciones de análisis de documentos

El siguiente ejemplo de política otorga permisos para usar las acciones de análisis de documentos de 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": "*" } ] }

La política tiene una instrucción que concede permiso para utilizar las acciones DetectEntities, DetectKeyPhrases, DetectDominantLanguage, DetectTargetedSentiment, DetectSentiment y DetectSyntax. La declaración de política también concede permisos para usar dos métodos de la API de Amazon Textract. Amazon Comprehend llama a estos métodos para extraer texto de archivos de imagen y documentos PDF escaneados. Puede eliminar estos permisos para los usuarios que nunca realizan inferencias personalizadas para estos tipos de archivos de entrada.

Un usuario con esta política no podría realizar acciones por lotes o acciones asincrónicas en su cuenta.

La política no especifica el elemento Principal, ya que en una política basada en identidad no se especifica el elemento principal que obtiene el permiso. Al asociar una política a un usuario, el usuario es la entidad principal implícita. Cuando se asocia una política de permisos a un rol de IAM, la entidad principal identificada en la política de confianza del rol obtiene los permisos.

Para ver una tabla que muestra todas las acciones de la API de Amazon Comprehend y los recursos a los que se aplican, consulte Acciones, recursos y claves de condición de Amazon Comprehend en la Referencia de autorizaciones de servicio.

Permisos necesarios para utilizar el cifrado KMS

Para utilizar Amazon Key Management Service (KMS) por completo para el cifrado de datos y trabajos en un trabajo asíncrono, debe conceder permisos para las acciones que se muestran en la siguiente 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" ] } } } ] }

Cuando crea un trabajo asíncrono con Amazon Comprehend, utilice los datos de entrada almacenados en Amazon S3. Con S3, tiene la opción de cifrar los datos almacenados, que están cifrados por S3, no por Amazon Comprehend. Podemos descifrar y leer esos datos de entrada cifrados si autoriza el kms:Decrypt de la clave con la que se cifraron los datos de entrada originales a la función de acceso a los datos utilizada por el trabajo de Amazon Comprehend.

También tiene la opción de usar claves administradas por el cliente (CMK) de KMS para cifrar los resultados de salida en S3, así como el volumen de almacenamiento utilizado durante el procesamiento del trabajo. Al hacerlo, puede usar la misma clave KMS para ambos tipos de cifrado, pero no es necesario. Al crear el trabajo, hay campos separados para especificar las claves para el cifrado de salida y el cifrado por volumen, e incluso puede utilizar una clave KMS de una cuenta diferente.

Cuando se utiliza el cifrado KMS, se necesita permiso de kms:CreateGrant para el cifrado por volumen y kms:GenerateDataKey para el cifrado de datos de salida. Para leer la entrada cifrada (por ejemplo, cuando los datos de entrada ya están cifrados por Amazon S3), se requiere permiso de kms:Decrypt. El rol de IAM debe conceder estos permisos según sea necesario. Sin embargo, si la clave proviene de una cuenta diferente a la que se utiliza actualmente, la política de claves de KMS para esa clave de KMS también debe conceder estos permisos a la función de acceso a los datos del trabajo.

AWS políticas gestionadas (predefinidas) para Amazon Comprehend

AWS aborda muchos casos de uso comunes al proporcionar políticas de IAM independientes que son creadas y administradas por. AWS Estas políticas AWS gestionadas conceden los permisos necesarios para los casos de uso más habituales, de forma que no tenga que investigar qué permisos son necesarios. Para obtener más información, consulte Políticas administradas de AWS en la Guía del usuario de IAM.

Las siguientes políticas AWS gestionadas, que puede adjuntar a los usuarios de su cuenta, son específicas de Amazon Comprehend:

  • ComprehendFullAccess— Otorga acceso completo a los recursos de Amazon Comprehend, incluida la ejecución de trabajos de modelado de temas. Incluye permiso para indicar y obtener roles de IAM.

  • ComprehendReadOnly— Otorga permiso para ejecutar todas las acciones de Amazon Comprehend exceptoStartDominantLanguageDetectionJob,StartEntitiesDetectionJob,StartKeyPhrasesDetectionJob, StartSentimentDetectionJobStartTargetedSentimentDetectionJob, y. StartTopicsDetectionJob

Debe aplicar la siguiente política adicional a cualquier usuario que vaya a utilizar Amazon Comprehend:

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

Para consultar estas políticas de permisos administradas, inicie sesión en la consola de IAM y busca las políticas específicas.

Estas políticas funcionan cuando se utiliza AWS SDKs la AWS CLI.

También puede crear sus propias políticas de IAM personalizadas para conceder permisos para las acciones y los recursos de la API de Amazon Comprehend. Puede asociar estas políticas personalizadas a los usuarios, grupos o roles que requieran esos permisos.

Se requieren permisos basados en roles para las operaciones asíncronas

Para utilizar las operaciones asincrónicas de Amazon Comprehend, debe conceder a Amazon Comprehend acceso al bucket de Amazon S3 que contiene su colección de documentos. Para ello, debe crear un rol de acceso a los datos en su cuenta con una política de confianza para confiar en la entidad principal de servicio de Amazon Comprehend. Para obtener más información, consulte Creación de un rol para delegar permisos a un servicio de AWS en la Guía del usuario de Identity and Access Management de AWS .

El siguiente ejemplo muestra una política de confianza para el rol que usted crea. Para evitar que se produzcan errores confusos, se restringe el alcance del permiso mediante una o más claves de contexto de condiciones globales. Configure el valor aws:SourceAccount en el ID de su cuenta. Si usa la condición de ArnEquals, establezca el valor de aws:SourceArn en el ARN del trabajo. Utilice un comodín para el número de trabajo en el ARN, ya que Amazon Comprehend genera este número como parte de la creación de empleo.

{ "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/*" } } } ] }

Después de crear el rol, cree una política de acceso para ese rol. Esto debería conceder permisos de GetObject y ListBucket de Amazon S3 para el bucket de Amazon S3 que contiene los datos de entrada y el permiso de PutObject de Amazon S3 para el bucket de datos de salida de Amazon S3.

Permisos para permitir todas las acciones de Amazon Comprehend

Después de registrarse AWS, crea un usuario administrador para administrar su cuenta, lo que incluye la creación de usuarios y la administración de sus permisos.

Si lo desea, puede crear un usuario que tenga permiso para todas las acciones de Amazon Comprehend (piense en este usuario como un administrador específico del servicio) para trabajar con Amazon Comprehend. Puede vincular la siguiente política de permisos con este usuario.

{ "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*" } ] }

Estos permisos se pueden modificar en relación con el cifrado de las siguientes formas:

  • Para permitir que Amazon Comprehend analice los documentos almacenados en un bucket de S3 cifrado, el rol de IAM debe tener el permiso de kms:Decrypt.

  • Para permitir que Amazon Comprehend cifre los documentos almacenados en un volumen de almacenamiento adjunto a la instancia de procesamiento que procesa el trabajo de análisis, el rol de IAM debe tener el permiso de kms:CreateGrant.

  • Para permitir que Amazon Comprehend cifre los resultados de salida en un bucket de S3, el rol de IAM debe tener el permiso de kms:GenerateDataKey.

Permisos para permitir acciones de modelado de temas

La siguiente política de permisos concede a los usuarios permisos para realizar las operaciones de modelado de temas de Amazon Comprehend.

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

Permisos necesarios para un trabajo de análisis asíncrono personalizado

importante

Si tiene una política de IAM que restringe el acceso al modelo, no podrá completar un trabajo de inferencia con un modelo personalizado. Su política de IAM debe actualizarse para incluir un recurso comodín para un trabajo de análisis asíncrono personalizado.

Si utilizas StartDocumentClassificationJob y StartEntitiesDetectionJob APIs, tendrás que actualizar tu política de IAM, a menos que actualmente utilices comodines como recursos. Si StartEntitiesDetectionJobutiliza un modelo previamente entrenado, esto no le afectará y no necesitará realizar ningún cambio.

El siguiente ejemplo de política contiene una referencia desactualizada.

{ "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" }

Esta es la política actualizada que debe utilizar para ejecutar correctamente y. 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" }