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

Para obtener información sobre cómo crear una política IAM basada en la identidad mediante estos documentos de JSON política de ejemplo, consulte Crear IAM políticas (consola) en la Guía del IAMusuario.

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 puedes 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 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. Para obtener más información, consulte las políticas AWS gestionadas o las políticas AWS gestionadas para las funciones laborales en la Guía del IAM usuario.

  • Aplique permisos con privilegios mínimos: cuando establezca permisos con IAM políticas, 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. Para obtener más información sobre cómo IAM aplicar permisos, consulte Políticas y permisos IAM en la IAM Guía del usuario.

  • Utilice las condiciones en IAM las políticas para restringir aún más el acceso: puede añadir 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ítica para especificar que todas las solicitudes deben enviarse medianteSSL. 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, consulte los elementos IAM JSON de la política: Condición en la Guía del IAM usuario.

  • Utilice IAM Access Analyzer para validar sus IAM políticas y garantizar permisos seguros y funcionales: IAM Access Analyzer valida las políticas nuevas y existentes para que se ajusten al lenguaje de las políticas (JSON) y IAM a las IAM mejores prácticas. IAMAccess Analyzer proporciona más de 100 comprobaciones de políticas y recomendaciones prácticas para ayudarle a crear políticas seguras y funcionales. Para obtener más información, consulte Validar políticas con IAM Access Analyzer en la Guía del IAM usuario.

  • Requerir autenticación multifactorial (MFA): si se encuentra en una situación en la que se requieren IAM usuarios o un usuario raíz Cuenta de AWS, actívela MFA para aumentar la seguridad. Para solicitarlo MFA cuando se convoque a API las operaciones, añada MFA condiciones a sus políticas. Para obtener más información, consulte APIAcceso seguro con MFA en la Guía del IAM usuario.

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

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 es necesario conceder permisos mínimos de consola a los usuarios que realicen llamadas únicamente al AWS CLI o al AWS API. En su lugar, permita el acceso únicamente a las acciones que coincidan con la API operación que están intentando 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 Añadir permisos a un usuario en la Guía del IAM usuario.

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:

  • iampermisos para enumerar las IAM funciones 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 IAM rol para su trabajo. Para crear un IAM rol, los usuarios deben disponer de los siguientes permisos adicionales para crear IAM roles y políticas, y para 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 se puede crear una política que permita a IAM los usuarios ver las políticas integradas y administradas asociadas a su identidad de usuario. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la tecla o. AWS CLI 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": "*" } ] }

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 Amazon TextractAPI. Amazon Comprehend llama a estos métodos para extraer texto de archivos de imágenes y documentos escaneadosPDF. 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. Al adjuntar una política de permisos a un IAM rol, el principal identificado en la política de confianza del rol obtiene los permisos.

Para ver una tabla que muestra todas las API acciones 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 autorización de servicio.

Se requieren permisos para usar el cifrado KMS

Para utilizar completamente Amazon Key Management Service (KMS) 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 utilizar claves KMS administradas por el cliente (CMK) para cifrar los resultados de salida en S3, así como el volumen de almacenamiento utilizado durante el procesamiento de los trabajos. Al hacerlo, puede usar la misma KMS clave 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 KMS clave de una cuenta diferente.

Cuando se utiliza el KMS cifrado, se necesita kms:CreateGrant permiso 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 IAM rol 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 KMS claves de esa clave kms también debe conceder estos permisos al rol de acceso a los datos correspondiente al trabajo.

AWS políticas gestionadas (predefinidas) para Amazon Comprehend

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

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 enumerar y obtener IAM funciones.

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

Puede revisar las políticas de permisos administrados iniciando sesión en la IAM consola y buscando políticas específicas allí.

Estas políticas funcionan cuando utilizas AWS SDKs o el AWS CLI.

También puede crear sus propias IAM políticas personalizadas para permitir permisos para las acciones y los recursos 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 ArnEquals condición, establezca el aws:SourceArn valor en el ARN del trabajo. Utilice un comodín para el número de trabajo en elARN, 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 IAM rol debe tener el kms:Decrypt permiso.

  • 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 IAM rol debe tener el permiso. kms:CreateGrant

  • Para permitir que Amazon Comprehend cifre los resultados de salida en su bucket de S3, el IAM rol debe tener el permiso. 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 IAM política que restringe el acceso al modelo, no podrá completar un trabajo de inferencia con un modelo personalizado. Su IAM política debe actualizarse para incluir un recurso comodín para un trabajo de análisis asíncrono personalizado.

Si utiliza los caracteres StartDocumentClassificationJob y StartEntitiesDetectionJobAPIs, debe actualizar su IAM política, a menos que esté utilizando actualmente caracteres comodín 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" }