从另一个模型导入自定义模型AWS帐户 - Amazon Comprehend

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从另一个模型导入自定义模型AWS帐户

在 Amazon Comprehend 中,您可以导入另一个模型中的自定义模型AWSaccount. 导入模型时,您将在自己的账户中创建新的自定义模型。您的新自定义模型是您导入的模型的完全训练副本。

开始前的准备工作

在您可以从另一个模型导入自定义模型之前AWS帐户,请确保与您共享模型的人执行以下操作:

  • 授权您进行导入。此授权是在附加到模型版本的基于资源的策略中授予的。有关更多信息,请参阅 自定义模型的基于资源的策略

  • 提供以下信息:

    • 模型版本的 Amazon 资源名称 (ARN)。

    • 这些区域有:AWS包含模型的区域。你必须使用AWS导入时的区域。

    • 模型是否使用加密AWS KMSkey (如果是) 以及所使用的键类型。

如果模型已加密,则可能需要采取其他步骤,具体取决于所使用的 KMS 密钥类型:

  • AWS 拥有的密钥— 此类型的 KMS 密钥由拥有和管理AWS. 如果模型使用加密AWS 拥有的密钥,无需执行其他步骤。

  • 客户托管密钥— 此类型的 KMS 密钥是由创建、拥有和管理AWS客户的AWSaccount. 如果使用客户管理的密钥对模型进行加密,则共享该模型的人必须:

    • 授权你解密模型。此授权在客户托管密钥的 KMS 密钥策略中授予。有关更多信息,请参阅 AWS KMS关键策略语句

    • 提供客户托管式密钥的 ARN。您在创建 IAM 服务角色时使用此 ARN。此角色授权 Amazon Comprehend 使用 KMS 密钥来解密模型。

所需权限

在导入自定义模型之前,您或您的管理员必须在AWS Identity and Access Management(IAM)。作为 Amazon Comprehend 用户,您必须通过 IAM 政策声明获得导入权限。如果在导入过程中需要加密或解密,则必须授权 Amazon Comprehend 使用必要的AWS KMS钥匙。

您的 IAM 用户或组必须附加策略以允许ImportModel操作,如以下示例所示。

例 用于导入自定义模型的 IAM 策略

{ "Effect": "Allow", "Action": [ "comprehend:ImportModel" ], "Resource": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/foo/version/*" }

有关创建 IAM 策略的更多信息,请参阅创建 IAM policy中的IAM 用户指南. 有关附加 IAM 策略的更多信息,请参阅添加和删除 IAM 身份权限中的IAM 用户指南.

导入自定义模型时,您必须授权 Amazon Comprehend 使用AWS KMS以下任一情况下的密钥:

  • 您正在导入使用客户托管式密钥加密的自定义模型AWS KMS. 在这种情况下,Amazon Comprehend 需要访问 KMS 密钥,以便在导入期间解密模型。

  • 您想要加密使用导入创建的新自定义模型,并希望使用客户管理的密钥。在这种情况下,Amazon Comprehend 需要访问您的 KMS 密钥,以便能够对新模型进行加密。

授权Amazon Comprehend 使用这些AWS KMS密钥,你创建一个IAM 服务角色. 这种类型的 IAM 角色允许AWS服务以代表您访问其他服务中的资源。有关服务角色的更多信息,请参阅创建向 AWS 服务委托权限的角色中的IAM 用户指南.

如果您使用亚马逊 Comprehend 控制台进行导入,则可以让 Amazon Comprehend 为您创建服务角色。否则,您必须先在 IAM 中创建一个服务角色,然后才能导入。

IAM 服务角色必须有权限策略和一个信任策略,如以下示例所示。

例 权限策略

以下权限策略允许AWS KMSAmazon Comprehend 用于加密和解密自定义模型的操作。它授予对两个 KMS 密钥的访问权限:

  • 一个 KMS 密钥位于AWS包含要导入的模型的帐户。它被用来加密模型,Amazon Comprehend 在导入期间使用它来解密模型。

  • 另一个 KMS 密钥位于AWS导入模型的账户。Amazon Comprehend 使用此密钥对导入创建的新自定义模型进行加密。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/key-id", "arn:aws:kms:us-west-2:444455556666:key/key-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDatakey" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/key-id", "arn:aws:kms:us-west-2:444455556666:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": [ "s3.us-west-2.amazonaws.com" ] } } } ] }

例 信任策略

以下信任策略允许 Amazon Comprehend 使用该角色并获取其权限。它允许comprehend.amazonaws.com服务主体来执行sts:AssumeRoleoperation. 的帮助混淆代理问题防范,您可以使用一个或多个全局条件上下文键来限制权限的范围。适用于aws:SourceAccount中,指定要导入模型的用户的账户 ID。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "444455556666" } } } ] }

导入自定义模型

您可以使用导入自定义模型AWS Management Console、AWS CLI或Amazon Comprehend API。

Amazon Comprehend 在AWS Management Console.

导入自定义模型

  1. 登录到AWS Management Console打开Amazon Compreh.

  2. 在左侧导航菜单中自定义中,选择要导入的模型类型的页面:

    1. 如果要导入自定义文档分类器,请选择自定义分类.

    2. 如果要导入自定义实体识别器,请选择自定义实体识别.

  3. 选择导入版本.

  4. 在存储库的导入模型版本控制页面上,输入以下详细信息:

    • 模型版本 ARN— 要导入的模型版本的 ARN。

    • 模型名称— 由导入创建的新模型的自定义名称。

    • 版本名称-由导入创建的新模型版本的自定义名称。

  5. 适用于模型加密中,选择用于加密通过导入创建的新自定义模型的 KMS 密钥类型:

    • 使用AWS拥有的密钥— Amazon Comprehend 使用密钥对你的模型进行加密AWS Key Management Service(AWS KMS),由 AWS 代表您在您的账户中创建、管理和使用。

    • 选择其他的AWS KMS键(高级)— Amazon Comprehend 使用您在中管理的客户托管密钥对您的模型进行加密AWS KMS.

      如果选择此选项,请选择位于您的 KMS 密钥AWS账户,或通过选择创建AWS KMS密钥.

  6. 服务访问部分,授予Amazon Comprehend 访问任何AWS KMS它需要的密钥:

    • 解密您导入的自定义模型。

    • 对使用导入创建的新自定义模型进行加密。

    您通过允许 Amazon Comprehend 使用 KMS 密钥的 IAM 服务角色授予访问权限。

    适用于服务角色,请执行以下操作之一:

    • 如果您已有要使用的现有服务角色,请选择使用现有 IAM 角色. 然后,在下面选择它Role name (角色名称).

    • 如果您希望 Amazon Comprehend 为你创建一个角色,选择创建 IAM 角色.

  7. 如果您选择让 Amazon Comprehend 为您创建角色,请执行以下操作:

    1. 适用于Role name (角色名称)中,输入角色名称后缀,以帮助您在以后识别该角色。

    2. 适用于来源 KMS 密钥 ARN中,输入 KMS 密钥的 ARN。在导入过程中,Amazon Comprehend 使用此密钥解密模型。

  8. (可选)在标签部分中,您可以向通过导入创建的新自定义模型添加标签。有关标记自定义模型的更多信息,请参阅标记新的资源.

  9. 选择 Confirm(确认)。

可以通过利用运行命令来使用 Amazon ComprehendAWS CLI.

例 导入模型命令

要导入自定义模型,请使用import-model命令:

$ aws comprehend import-model \ > --source-model arn:aws:comprehend:us-west-2:111122223333:document-classifier/foo/version/bar \ > --model-name importedDocumentClassifier \ > --version-name versionOne \ > --data-access-role-arn arn:aws:iam::444455556666:role/comprehendAccessRole \ > --model-kms-key-id kms-key-id

该示例使用以下参数:

  • source-model— 要导入的自定义模型的 ARN。

  • model-name— 由导入创建的新模型的自定义名称。

  • version-name-由导入创建的新模型版本的自定义名称。

  • data-access-role-arn— 允许 Amazon Comprehend 服务角色的 ARN。AWS KMS用于加密或解密自定义模型的密钥。

  • model-kms-key-id— Amazon Comprehend 用于加密您通过此导入创建的自定义模型的 KMS 密钥的 ARN 或 ID。此键必须AWS KMS在你的AWSaccount.

要使用亚马逊 Comprehend API 导入自定义模型,请使用ImportModelAPI 操作。