Cómo compartir un modelo personalizado con otro Cuenta de AWS - 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.

Cómo compartir un modelo personalizado con otro Cuenta de AWS

Con Amazon Comprehend, puede compartir sus modelos personalizados con otras personas para que puedan importarlos a sus cuentas de AWS. Cuando un usuario importa uno de sus modelos personalizados, crea uno nuevo en su cuenta. Su nuevo modelo duplica el que usted compartió.

Para compartir un modelo personalizado, debe asociar una política que autorice a otros a importarlo. A continuación, proporcione a esos usuarios los detalles que necesiten.

nota

Cuando otros usuarios importen un modelo personalizado que haya compartido, deberán usar la misma Región de AWS (por ejemplo, Este de EE. UU. (Norte de Virginia) que contenga su modelo.

Antes de empezar

Antes de poder compartir un modelo, debe tener un clasificador personalizado o un reconocedor de entidades personalizado entrenados en Amazon Comprehend en su Cuenta de AWS. Para obtener más información acerca de los modelos de entrenamiento, consulte Clasificación personalizada o Reconocimiento de entidades personalizado.

Permisos necesarios

Para poder añadir una política basada en recursos a un modelo personalizado, necesita permisos en AWS Identity and Access Management (IAM). Su usuario, grupo o rol debe tener una política asociada para que pueda crear, obtener y eliminar políticas de modelo, como se muestra en el siguiente ejemplo.

ejemplo Política de IAM para gestionar las políticas basadas en recursos para modelos personalizados
{ "Effect": "Allow", "Action": [ "comprehend:PutResourcePolicy", "comprehend:DeleteResourcePolicy", "comprehend:DescribeResourcePolicy" ], "Resource": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/foo/version/*" }

Para obtener más información acerca de cómo crear una política de IAM, consulte Creación de políticas de IAM en la Guía del usuario de IAM. Para obtener información sobre cómo adjuntar una política de IAM, consulte Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de IAM.

Si comparte un modelo cifrado, es posible que necesite añadir permisos para AWS KMS. Este requisito depende del tipo de clave de KMS que utilice para cifrar el modelo en Amazon Comprehend.

Un Clave propiedad de AWS es propiedad del servicio de AWS, que también se encarga de su administración. Si usa un Clave propiedad de AWS, no necesita agregar permisos para AWS KMS y puede omitir esta sección.

Una clave administrada por el cliente es una clave que usted ha creado, posee y administra en su Cuenta de AWS. Si utiliza una clave administrada por el cliente, debe agregar una instrucción a la política de claves de KMS.

La declaración de política autoriza a una o más entidades (como usuarios o cuentas) a realizar las operaciones de AWS KMS necesarias para descifrar el modelo.

Puede usar claves de condición para ayudar a prevenir el problema del suplente confuso. Para obtener más información, consulte Prevención de la sustitución confusa entre servicios.

Utilice las siguientes claves de condición en la política para validar las entidades que acceden a su clave de KMS. Cuando un usuario importa el modelo, AWS KMS comprueba que el ARN de la versión del modelo de origen coincide con la condición. Si no incluye ninguna condición en la política, las entidades principales especificadas pueden usar su clave KMS para descifrar cualquier versión del modelo:

  • aws: SourceArn — Utilice esta clave de condición con las kms:Decrypt acciones kms:GenerateDataKey y.

  • kms: EncryptionContext — Utilice esta clave de condición con las kms:CreateGrant acciones kms:GenerateDataKeykms:Decrypt, y.

En el siguiente ejemplo, la política autoriza a Cuenta de AWS 444455556666 el uso de la versión 1 del modelo de clasificador especificado propiedad de Cuenta de AWS 111122223333.

ejemplo Política de claves de KMS para acceder a una versión específica del modelo de clasificador
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/classifierName/version/1" } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:comprehend:arn": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/classifierName/version/1" } } } ] }

El siguiente ejemplo de política autoriza al usuario ExampleUser desde Cuenta de AWS 444455556666 y ExampleRoledesde el acceso Cuenta de AWS 123456789012 a esta clave de KMS a través del servicio Amazon Comprehend.

ejemplo Política de claves de KMS para permitir el acceso al servicio Amazon Comprehend (alternativa 1).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:user/ExampleUser", "arn:aws:iam::123456789012:role/ExampleRole" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:comprehend:*" } } }, { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:user/ExampleUser", "arn:aws:iam::123456789012:role/ExampleRole" ] }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:comprehend:arn": "arn:aws:comprehend:*" } } } ] }

El siguiente ejemplo de política autoriza a Cuenta de AWS 444455556666 a acceder a esta clave de KMS a través del servicio Amazon Comprehend, utilizando una sintaxis alternativa a la del ejemplo anterior.

ejemplo Política de claves de KMS para permitir el acceso al servicio Amazon Comprehend (alternativa 2).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:comprehend:arn": "arn:aws:comprehend:*" } } } ] }

Para obtener más información, consulte Políticas de claves en AWS KMS en la Guía para desarrolladores de AWS Key Management Service.

Políticas basadas en recursos para modelos personalizados

Antes de que un usuario de Amazon Comprehend de otro Cuenta de AWS pueda importar un modelo personalizado de su cuenta de AWS, debe autorizarlo para que pueda hacerlo. Para autorizarlos, debe añadir una política basada en recursos a la versión del modelo que desea compartir. Una política basada en recursos es una política de IAM que asocia un recurso de AWS.

Al asociar una política de recursos a una versión de modelo personalizada, la política autoriza a los usuarios, grupos o roles a realizar la acción de comprehend:ImportModel en la versión del modelo.

ejemplo Políticas basadas en recursos para una versión de modelo personalizada

En este ejemplo se especifican las entidades autorizadas del atributo Principal. El recurso “*” hace referencia a la versión de modelo específica a la que asocia la política.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "comprehend:ImportModel", "Resource": "*", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:user/ExampleUser", "arn:aws:iam::123456789012:role/ExampleRole" ] } } ] }

En el caso de las políticas que asocie a los modelos personalizados, comprehend:ImportModel es la única acción que Amazon Comprehend admite.

Para obtener más información acerca de las políticas de acceso basadas en recursos, consulte Políticas basadas en identidad y políticas basadas en recursos en la Guía del usuario de IAM.

Paso 1: Agregar una política basada en recursos a un modelo personalizado

Puede añadir una política basada en recursos mediante AWS Management Console, AWS CLI o la API de Amazon Comprehend.

Puede utilizar Amazon Comprehend en la AWS Management Console.

Para añadir una política basada en recursos
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon Comprehend en https://console.aws.amazon.com/comprehend/

  2. En el menú de navegación de la izquierda, en Personalización, elija la página que contiene su modelo personalizado:

    1. Si comparte un clasificador de documentos personalizado, elija Clasificación personalizada.

    2. Si comparte un reconocedor de entidades personalizado, elija Reconocimiento de entidades personalizado.

  3. En la lista de modelos, elija el nombre del modelo para abrir su página de detalles.

  4. En Versiones, elija el nombre de la versión del modelo que desea compartir.

  5. En la página de detalles de la versión, seleccione la pestaña Etiquetas, VPC y política.

  6. En la sección Política basada en recursos, seleccione Editar.

  7. En la página Editar política basada en recursos, lleve a cabo las siguientes operaciones:

    1. En Nombre de la política, introduzca un nombre que le ayude a reconocer la política después de crearla.

    2. En Autorizar, especifique una o más de las siguientes entidades para autorizarlas a importar su modelo:

      Campo Definición y ejemplos

      Entidades principales del servicio

      Identificadores principales de servicio para los servicios que pueden acceder a esta versión del modelo. Por ejemplo:

      comprehend.amazonaws.com

      ID de Cuenta de AWS

      Cuentas de AWS que pueden acceder a esta versión de modelo. Autoriza a todos los usuarios que pertenecen a la cuenta. Por ejemplo:

      111122223333, 123456789012

      Entidades de IAM

      ARN de los usuarios o roles que pueden acceder a esta versión del modelo. Por ejemplo:

      arn:aws:iam: :111122223333:user/, arn:aws:iam: :444455556666:role/ ExampleUser ExampleRole

  8. En Compartir, puede copiar el ARN de la versión del modelo para poder compartirlo con la persona que importará el modelo. Cuando alguien importa un modelo personalizado desde otro Cuenta de AWS, se requiere el ARN de la versión del modelo.

  9. Seleccione Guardar. Amazon Comprehend crea su política basada en recursos y la asocia a su modelo.

Para añadir una política basada en recursos a un modelo personalizado con el, utilice el comando. AWS CLI PutResourcePolicy El comando de la usa los siguientes parámetros:

  • resource-arn: el ARN del modelo personalizado, incluida la versión del modelo.

  • resource-policy: un archivo JSON que define la política basada en recursos que se debe asociar al modelo personalizado.

    También puede proporcionar la política como una cadena JSON insertada. Para proporcionar un objeto JSON válido para su política, incluya los nombres de atributos y valores entre comillas dobles. Si el cuerpo de JSON también está entre comillas dobles, evite las comillas dobles dentro de la política.

  • policy-revision-id: el identificador de revisión que Amazon Comprehend asignó a la política que está actualizando. Si va a crear una nueva política que no tiene una versión anterior, no utilice este parámetro. Amazon Comprehend crea el identificador de revisión por usted.

ejemplo Agregue una política basada en recursos a un modelo personalizado mediante el comando put-resource-policy

En este ejemplo, se define una política en un archivo JSON denominado policyFile.json y se asocia la política a un modelo. El modelo es la versión v2 de un clasificador denominado mycf1.

$ aws comprehend put-resource-policy \ > --resource-arn arn:aws:comprehend:us-west-2:111122223333:document-classifier/mycf1/version/v2 \ > --resource-policy file://policyFile.json \ > --policy-revision-id revision-id

El archivo JSON de la política de recursos contiene el siguiente contenido:

  • Acción: la política autoriza a las entidades principales nombradas utilizar comprehend:ImportModel.

  • Recurso: el ARN del modelo personalizado. El recurso “*” hace referencia a la versión del modelo que se especifica en el comando put-resource-policy.

  • Entidad principal: la política autoriza al usuario jane de Cuenta de AWS 444455556666 y a todos los usuarios de Cuenta de AWS 123456789012.

{ "Version":"2012-10-17", "Statement":[ {"Sid":"ResourcePolicyForImportModel", "Effect":"Allow", "Action":["comprehend:ImportModel"], "Resource":"*", "Principal": {"AWS": ["arn:aws:iam::444455556666:user/jane", "123456789012"] } } ] }

Para añadir una política basada en recursos a un modelo personalizado mediante la API Amazon Comprehend, utilice PutResourcePolicyla operación API.

También puede añadir una política a un modelo personalizado en la solicitud de API que crea el modelo. Para ello, proporcione el JSON de la política para el ModelPolicy parámetro cuando envíe una CreateDocumentClassifiersolicitud o solicitud. CreateEntityRecognizer

Paso 2: Proporcionar los detalles que otros usuarios necesitan importar

Ahora que ha añadido la política basada en recursos a su modelo personalizado, ha autorizado a otros usuarios de Amazon Comprehend a importar su modelo a su Cuentas de AWS. Sin embargo, antes de que puedan importarlo, debe proporcionarles los siguientes detalles:

  • El nombre de recurso de Amazon (ARN) de la versión del módulo.

  • La Región de AWS que contiene el modelo. Cualquier persona que importe su modelo debe utilizar el mismo Región de AWS.

  • Cuando el modelo esté cifrado y, si lo está, el tipo de clave AWS KMS que utiliza: Clave propiedad de AWS o una clave gestionada por el cliente.

  • Si el modelo está cifrado con una clave gestionada por el cliente, debe proporcionar el ARN de la clave KMS. Cualquier persona que importe su modelo debe incluir el ARN en un rol de servicio de IAM en su Cuenta de AWS. Este rol autoriza a Amazon Comprehend a utilizar la clave KMS para descifrar el modelo durante la importación.

Para obtener más información acerca de cómo otros usuarios importan su modelo, consulte Importación de un modelo personalizado desde otra Cuenta de AWS.