翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Comprehend を使用すると、カスタムモデルを他のユーザーと共有し、他のユーザーは自分の AWS アカウントにモデルをインポートできます。ユーザーがカスタムモデルのいずれかをインポートすると、そのユーザーは自分のアカウントに新しいカスタムモデルを作成します。その新しいモデルは共有されたものを再現しています。
カスタムモデルを共有するには、他のユーザーにインポートを許可するポリシーをそのモデルにアタッチします。次に、それらのユーザーに必要な詳細を提供します。
注記
他のユーザーが共有したカスタムモデルをインポートするときは、モデルを含む米国東部 (バージニア北部) AWS リージョン など、同じ を使用する必要があります。
トピック
[開始する前に]
モデルを共有する前に、Amazon Comprehend にトレーニング済みのカスタム分類子またはカスタムエンティティレコグナイザーを AWS アカウントに用意しておく必要があります。モデルのトレーニングに関する詳細については、「カスタム分類」または「カスタムエンティティ認識」を参照してください。
必要なアクセス許可
リソースベースのポリシーをカスタムモデルに追加する前に、 AWS Identity and Access Management (IAM) のアクセス権限が必要です。次の例に示すように、モデルポリシーを作成、取得、削除できるように、ユーザー、グループ、またはロールにポリシーをアタッチする必要があります。
例 カスタムモデルのリソースベースのポリシーを管理するための 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 オペレーションを実行することを 1 つ以上のエンティティ (ユーザーやアカウントなど) に許可します。
不分別な代理処理の問題を防止するには、条件キーを使用します。詳細については、「サービス間の混乱した代理の防止」を参照してください。
ポリシー内の以下の条件キーを使用して、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
"
}
}
}
]
}
次のポリシー例では、Amazon Comprehend サービスを介してこの KMS キーにアクセスする AWS アカウント 123456789012
ことを、 のユーザー ExampleUser AWS アカウント 444455556666
および の ExampleRole に許可します。
例 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 アカウント できるようにするには、承認する必要があります。承認するには、共有するモデルバージョンにリソースベースのポリシーを追加します。リソースベースのポリシーは、 AWSでリソースにアタッチする IAM ポリシーです。
リソースポリシーをカスタムモデルバージョンに追加すると、そのポリシーは、ユーザー、グループ、またはロールにモデルバージョンで 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 を使用します。
AWS Management Consoleで Amazon Comprehend を使用できます。
リソースベースのポリシーを追加するには
-
にサインイン AWS Management Console し、https://console.aws.amazon.com/comprehend/
で Amazon Comprehend コンソールを開きます。 -
左側のナビゲーションメニューの [カスタマイズ] で、カスタムモデルを含むページを選択します。
-
カスタムドキュメント分類子を共有する場合は、[カスタム分類]を選択します。
-
カスタムエンティティレコグナイザーを共有する場合は、[カスタムエンティティ認識] を選択します。
-
-
モデルのリストから、詳細ページを開くモデル名を選択します。
-
バージョン から、共有するモデルバージョンの名前を選択します。
-
バージョン詳細ページで、[タグ、VPC、ポリシー] タブを選択します。
-
[リソースベースのポリシー] セクションで、[編集]を選択します。
-
[リソースベースのポリシー] ページで、次を実行します。
-
[ポリシー名] には、ポリシーを作成した後、わかりやすい名前を入力します。
-
[承認] で、モデルのインポートを許可する以下のエンティティを 1 つ以上指定します。
フィールド 定義とサンプル サービスプリンシパル
このモデルバージョンにアクセスできるサービスのサービスプリンシパル識別子。以下に例を示します。
comprehend.amazonaws.com
AWS アカウント IDs
AWS アカウント このモデルバージョンにアクセスできる 。アカウントに属しているすべてのユーザーを承認します。以下に例を示します。
111122223333、123456789012
IAM エンティティ
このモデルバージョンにアクセスできるユーザーまたはロールの ARN。以下に例を示します。
arn: :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
コマンドで指定したモデルバージョンを指します。 -
プリンシパル – ポリシーは、444455556666
jane
からの AWS アカウント ユーザーと 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 リソースネーム (ARN)。
-
モデルを含む AWS リージョン 。モデルをインポートする人は誰もが同じ AWS リージョン を使用する必要があります。
-
モデルが暗号化されているかどうか、暗号化されている場合は、使用する AWS KMS キーのタイプ: AWS 所有のキー またはカスタマーマネージドキー。
-
モデルがカスタマーマネージドキーで暗号化されている場合は、KMS キーの ARN を指定する必要があります。モデルをインポートする人は誰もが、 AWS アカウント内のIAM サービスロールに ARN を含める必要があります。このロールは、インポート時に KMS キーを使用してモデルを復号できる KMS キーを使用する許可を Amazon Comprehend に付与します。
他のユーザーがモデルをインポートする方法の詳細については、「別の からカスタムモデルをインポートする AWS アカウント」を参照してください。