本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
與另一個 共用自訂模型 AWS 帳戶
使用 Amazon Comprehend,您可以與他人共用自訂模型,讓他們可以將模型匯入其 AWS 帳戶。當使用者匯入其中一個自訂模型時,會在其帳戶中建立新的自訂模型。他們的新模型會複製您共用的模型。
若要共用自訂模型,您可以將政策連接至該模型,以授權其他人匯入該模型。然後,您會提供這些使用者所需的詳細資訊。
注意
當其他使用者匯入您已共用的自訂模型時,他們必須使用包含模型的相同 AWS 區域 - 例如美國東部 (維吉尼亞北部)。
開始之前
您必須先在 Amazon Comprehend 中擁有訓練有素的自訂分類器或自訂實體識別器,才能共用模型 AWS 帳戶。如需訓練自訂模型的詳細資訊,請參閱 自訂分類或 自訂實體辨識。
所需的許可
您必須先在 (IAM) 中 AWS Identity and Access Management 取得許可,才能將資源型政策新增至自訂模型。您的使用者、群組或角色必須連接政策,才能建立、取得和刪除模型政策,如下列範例所示。
範例 管理自訂模型之資源型政策的 IAM 政策
{ "Effect": "Allow", "Action": [ "comprehend:PutResourcePolicy", "comprehend:DeleteResourcePolicy", "comprehend:DescribeResourcePolicy" ], "Resource": "arn:aws:comprehend:
us-west-2:111122223333
:document-classifier/foo
/version/*" }
如需建立 IAM 政策的相關資訊,請參閱《IAM 使用者指南》中的建立 IAM 政策。 如需連接 IAM 政策的相關資訊,請參閱《IAM 使用者指南》中的新增和移除 IAM 身分許可。
如果您要共用加密模型,則可能需要新增 的許可 AWS KMS。此要求取決於您在 Amazon Comprehend 中用來加密模型的 KMS 金鑰類型。
AWS 擁有的金鑰 由 AWS 服務擁有和管理。如果您使用 AWS 擁有的金鑰,則不需要新增 的許可 AWS KMS,而且可以略過本節。
客戶受管金鑰是您在 中建立、擁有和管理的金鑰 AWS 帳戶。如果您使用客戶受管金鑰,則必須將陳述式新增至 KMS 金鑰政策。
政策陳述式會授權一或多個實體 (例如使用者或帳戶) 執行解密模型所需的 AWS KMS 操作。
您可以使用條件索引鍵來協助防止混淆代理人問題。如需詳細資訊,請參閱預防跨服務混淆代理人。
使用政策中的下列條件金鑰來驗證存取 KMS 金鑰的實體。當使用者匯入模型時, 會 AWS KMS 檢查來源模型版本的 ARN 是否符合條件。如果您未在政策中包含條件,則指定的委託人可以使用 KMS 金鑰來解密任何模型版本:
aws:SourceArn – 使用此條件索引鍵搭配
kms:GenerateDataKey
和kms:Decrypt
動作。kms:EncryptionContext – 使用此條件索引鍵搭配
kms:GenerateDataKey
、kms:Decrypt
和kms:CreateGrant
動作。
在下列範例中,政策授權 AWS 帳戶 444455556666
使用 擁有 AWS 帳戶 的指定分類器模型第 1 版111122223333
。
範例 存取特定分類器模型版本的 KMS 金鑰政策
{ "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
" } } } ] }
下列範例政策授權來自 的使用者 ExampleUser AWS 帳戶 444455556666
和來自 的 ExampleRole AWS 帳戶 123456789012
,透過 Amazon Comprehend 服務存取此 KMS 金鑰。
範例 允許存取 Amazon Comprehend 服務的 KMS 金鑰政策 (替代 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:*" } } } ] }
下列範例政策授權 AWS 帳戶 444455556666
透過 Amazon Comprehend 服務存取此 KMS 金鑰,使用上一個範例的替代語法。
範例 允許存取 Amazon Comprehend 服務的 KMS 金鑰政策 (替代 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:*" } } } ] }
如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的在 AWS KMS中使用金鑰政策。
自訂模型的資源型政策
在另一個 中的 Amazon Comprehend 使用者可從您的帳戶 AWS 帳戶 AWS 匯入自訂模型之前,您必須授權他們這樣做。若要授權這些政策,請將資源型政策新增至您要共用的模型版本。資源型政策是您連接至資源的 IAM 政策 AWS。
當您將資源政策連接到自訂模型版本時,政策會授權使用者、群組或角色對模型版本執行comprehend:ImportModel
動作。
範例 自訂模型版本的資源型政策
此範例指定 Principal
屬性中的授權實體。資源「*」是指您連接政策的特定模型版本。
{ "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
" ] } } ] }
對於您連接到自訂模型的政策, comprehend:ImportModel
是 Amazon Comprehend 唯一支援的動作。
如需資源型政策的詳細資訊,請參閱《IAM 使用者指南》中的身分型政策和資源型政策。
步驟 1:將資源型政策新增至自訂模型
您可以使用 AWS Management Console AWS CLI或 Amazon Comprehend API 來新增資源型政策。
您可以在 中使用 Amazon Comprehend AWS Management Console。
新增以資源為基礎的政策
-
登入 AWS Management Console 並前往 https://console.aws.amazon.com/comprehend/
:// 開啟 Amazon Comprehend 主控台 -
在左側導覽選單的自訂下,選擇包含自訂模型的頁面:
-
如果您要共用自訂文件分類器,請選擇自訂分類。
-
如果您要共用自訂實體識別器,請選擇自訂實體識別。
-
-
在模型清單中,選擇模型名稱以開啟其詳細資訊頁面。
-
在版本下,選擇您要共用的模型版本名稱。
-
在版本詳細資訊頁面上,選擇標籤、VPC 和政策索引標籤。
-
在資源型政策區段中,選擇編輯。
-
在編輯資源型政策頁面上,執行下列動作:
-
針對政策名稱,輸入名稱,協助您在建立政策之後辨識政策。
-
在授權下,指定下列一或多個實體,以授權他們匯入您的模型:
欄位 定義和範例 服務主體
可存取此模型版本的服務的服務委託人識別符。例如:
comprehend.amazonaws.com
AWS 帳戶 IDs
AWS 帳戶 可以存取此模型版本。授權屬於該帳戶的所有使用者。例如:
111122223333、123456789012
IAM 實體
可存取此模型版本之使用者或角色ARNs。例如:
arn:aws:iam::111122223333:user/ExampleUser、arn:aws:iam::444455556666:role/ExampleRole
-
-
在共用下,您可以複製模型版本的 ARN,以協助您與將匯入模型的人員共用模型。當有人從不同的 匯入自訂模型時 AWS 帳戶,需要模型版本 ARN。
-
選擇 Save (儲存)。Amazon Comprehend 會建立以資源為基礎的政策,並將其連接至您的模型。
若要使用 將資源型政策新增至自訂模型 AWS CLI,請使用 PutResourcePolicy 命令。 命令接受下列參數:
-
resource-arn
– 自訂模型的 ARN,包括模型版本。 -
resource-policy
– JSON 檔案,定義要連接到自訂模型的資源型政策。您也可以提供政策做為內嵌 JSON 字串。若要為您的政策提供有效的 JSON,請使用雙引號括住屬性名稱和值。如果 JSON 內文也以雙引號括住,您會逸出政策內的雙引號。
-
policy-revision-id
– Amazon Comprehend 指派給您正在更新之政策的修訂 ID。如果您要建立新的政策,但沒有先前的版本,請勿使用此參數。Amazon Comprehend 會為您建立修訂 ID。
範例 使用 put-resource-policy
命令將資源型政策新增至自訂模型
此範例在名為 policyFile.json 的 JSON 檔案中定義政策,並將政策與模型建立關聯。模型是名為 mycf1 的分類器版本 v2。
$
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
資源政策的 JSON 檔案包含下列內容:
-
動作 – 政策授權具名主體使用
comprehend:ImportModel
。 -
資源 – 自訂模型的 ARN。資源「*」是指您在
put-resource-policy
命令中指定的模型版本。 -
委託人 – 政策授權
jane
來自 AWS 帳戶 444455556666 的使用者和來自 AWS 帳戶 123456789012 的所有使用者。
{ "Version":"2012-10-17", "Statement":[ {"Sid":"ResourcePolicyForImportModel", "Effect":"Allow", "Action":["comprehend:ImportModel"], "Resource":"*", "Principal": {"AWS": ["arn:aws:iam::444455556666:user/jane", "123456789012"] } } ] }
若要使用 Amazon Comprehend API 將資源型政策新增至自訂模型,請使用 PutResourcePolicy API 操作。
您也可以在建立模型的 API 請求中,將政策新增至自訂模型。若要這樣做,請在提交 CreateDocumentClassifier 或 CreateEntityRecognizer 請求時提供 ModelPolicy 參數的政策 JSON。
步驟 2:提供其他人需要匯入的詳細資訊
現在您已將資源型政策新增至自訂模型,您已授權其他 Amazon Comprehend 使用者將模型匯入其 AWS 帳戶。不過,您必須先提供他們下列詳細資訊,才能匯入:
-
模型版本的 Amazon Resource Name (ARN)。
-
包含模型的 AWS 區域 。匯入模型的任何人都必須使用相同的 AWS 區域 。
-
模型是否已加密,如果已加密,則為您使用的 AWS KMS 金鑰類型: AWS 擁有的金鑰 或客戶受管金鑰。
-
如果您的模型使用客戶受管金鑰加密,則必須提供 KMS 金鑰的 ARN。匯入模型的任何人都必須在其 IAM 服務角色中包含 ARN AWS 帳戶。此角色授權 Amazon Comprehend 在匯入期間使用 KMS 金鑰解密模型。
如需其他使用者如何匯入模型的詳細資訊,請參閱從另一個 匯入自訂模型 AWS 帳戶。