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, la AWS Command Line Interface (AWS CLI) o la API de AWS. Para conceder permiso a los usuarios para realizar acciones en los recursos que necesiten, un administrador de IAM puede crear políticas de IAM. A continuación, el administrador puede añadir las políticas de IAM a roles, y los usuarios pueden asumirlos.

Para obtener información sobre cómo crear una política basada en identidad de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte Creación de políticas de IAM 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 los ARN para cada uno de los tipos de recursos, consulte Acciones, recursos y claves de condición de Amazon Comprehend en la Referencia de autorizaciones de servicio.

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 costes 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 administradas de AWS y continúe con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de trabajo, utilice las políticas administradas de AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en su Cuenta de AWS. Se recomienda definir políticas administradas por el cliente de AWS específicas para los casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las políticas administradas por AWS o las políticas administradas por AWS para funciones de trabajo en la Guía del 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 pueden 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, consulte Políticas y permisos en IAM en la Guía de usuario de IAM.

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

  • Utilice 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. xPara más información, consulte la política de validación del Analizador de acceso de IAM en la Guía de usuario de IAM.

  • Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesita usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para mayor seguridad. Para solicitar la MFA cuando se invocan las operaciones de la API, agregue las condiciones de la MFA a sus políticas. Para obtener más información, consulte Configuración de acceso a una API protegida por MFA en la Guía del usuario de IAM.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte las 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 registrar y consultar los detalles acerca de los recursos de Amazon Comprehend en la 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 es necesario que conceda permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permite 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 de AWS ComprehendReadOnly 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 administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para realizar esta acción en la consola o mediante programación con la AWS CLI o la API de 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.

Políticas (predefinidas) administradas por AWS para Amazon Comprehend

AWS aborda muchos casos de uso comunes dando políticas de IAM independientes creadas y administradas por AWS. Estas políticas administradas por AWS conceden los permisos necesarios para casos de uso comunes, lo que le evita tener que investigar los permisos necesarios. Para obtener más información, consulte Políticas administradas por AWS en la Guía del usuario de IAM.

Las siguientes políticas administradas por AWS, que se pueden adjuntar a los usuarios de la 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 utilizan los SDK de AWS o la CLI de AWS.

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 inscribirse para AWS, tiene que crear un usuario administrador que se encargue de la cuenta, incluida la creación de usuarios y la administración de 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 utiliza las StartEntitiesDetectionJobAPI StartDocumentClassificationJob y, debe actualizar su política de IAM, a menos que actualmente utilice 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 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" }