

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Comprehend におけるセキュリティ
<a name="comp-security"></a>

でのクラウドセキュリティが最優先事項 AWS です。お客様は AWS 、セキュリティを最も重視する組織の要件を満たすように構築されたデータセンターとネットワークアーキテクチャからメリットを得られます。

セキュリティは、 AWS お客様とお客様の間の責任共有です。[責任共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)では、このことをクラウドのセキュリティおよびクラウド内のセキュリティと表現しています。
+ **クラウドのセキュリティ** – AWS クラウドで AWS サービスを実行するインフラストラクチャを保護する AWS 責任があります。 AWS また、 では、安全に使用できるサービスも提供しています。サードパーティーの監査者は、[AWS コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)コンプライアンスプログラムの一環として、当社のセキュリティの有効性を定期的にテストおよび検証。Amazon Comprehend に適用されるコンプライアンスプログラムの詳細については、「コンプライアンスプログラム[AWS による対象範囲内のサービスコンプライアンスプログラム](https://aws.amazon.com/compliance/services-in-scope/)」を参照してください。
+ **クラウドのセキュリティ** – お客様の責任は、使用する AWS サービスによって決まります。また、ユーザーは、データの機密性、会社の要件、適用される法律や規制など、その他の要因についても責任を負います。

このドキュメントは、Amazon Comprehend を使用する際に責任共有モデルを適用する方法を理解するのに役立ちます。以下のトピックでは、セキュリティおよびコンプライアンスの目的を達成するように Amazon Comprehend を設定する方法を説明しています。また、Amazon Comprehend リソースのモニタリングや保護に役立つ他の AWS サービスの使用方法についても説明します。

**Topics**
+ [Amazon Comprehend におけるデータ保護](comp-data-protection.md)
+ [Amazon Comprehend における Identity and Access Management](security-iam.md)
+ [を使用した Amazon Comprehend API コールのログ記録 AWS CloudTrail](logging-using-cloudtrail.md)
+ [Amazon Comprehend のコンプライアンス検証](comp-compliance.md)
+ [Amazon Comprehend における耐障害性](comp-disaster-recovery-resiliency.md)
+ [Amazon Comprehend におけるインフラストラクチャセキュリティ](comp-infrastructure-security.md)

# Amazon Comprehend におけるデータ保護
<a name="comp-data-protection"></a>

責任 AWS [共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)、Amazon Comprehend でのデータ保護に適用されます。このモデルで説明されているように、 AWS はすべての を実行するグローバルインフラストラクチャを保護する責任があります AWS クラウド。ユーザーは、このインフラストラクチャでホストされるコンテンツに対する管理を維持する責任があります。また、使用する「 AWS のサービス 」のセキュリティ設定と管理タスクもユーザーの責任となります。データプライバシーの詳細については、[データプライバシーに関するよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)を参照してください。欧州でのデータ保護の詳細については、*AWS セキュリティブログ*に投稿された「[AWS 責任共有モデルおよび GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/)」のブログ記事を参照してください。

データ保護の目的で、認証情報を保護し AWS アカウント 、 AWS IAM アイデンティティセンター または AWS Identity and Access Management (IAM) を使用して個々のユーザーを設定することをお勧めします。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:
+ 各アカウントで多要素認証 (MFA) を使用します。
+ SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 は必須ですが、TLS 1.3 を推奨します。
+ で API とユーザーアクティビティのログ記録を設定します AWS CloudTrail。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「 *AWS CloudTrail ユーザーガイド*」の[CloudTrail 証跡の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)」を参照してください。
+  AWS 暗号化ソリューションと、その中のすべてのデフォルトのセキュリティコントロールを使用します AWS のサービス。
+ Amazon Macie などの高度な管理されたセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。
+ コマンドラインインターフェイスまたは API AWS を介して にアクセスするときに FIPS 140-3 検証済み暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「[連邦情報処理規格 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)」を参照してください。

お客様の E メールアドレスなどの極秘または機密情報を、タグ、または **[名前]** フィールドなどの自由形式のテキストフィールドに含めないことを強くお勧めします。これは、コンソール、 AWS のサービス API、 AWS CLIまたは SDK を使用して Amazon Comprehend または他の を使用する場合も同様です。 AWS SDKs タグ、または名前に使用される自由記述のテキストフィールドに入力したデータは、請求または診断ログに使用される場合があります。外部サーバーに URL を提供する場合、そのサーバーへのリクエストを検証できるように、認証情報を URL に含めないことを強くお勧めします。

**Topics**
+ [Amazon Comprehend における暗号化](kms-in-comprehend.md)
+ [サービス間の混乱した代理の防止](cross-service-confused-deputy-prevention.md)
+ [Amazon Virtual Private Cloud を使用してジョブを保護する](usingVPC.md)
+ [Amazon Comprehend とインターフェイス VPC エンドポイント (AWS PrivateLink)](vpc-interface-endpoints.md)

# Amazon Comprehend における暗号化
<a name="kms-in-comprehend"></a>

Amazon Comprehend は AWS Key Management Service (AWS KMS) と連携して、データの暗号化を強化します。Amazon S3 では、すでにテキスト分析、トピックモデリング、またはカスタム Amazon Comprehend でのジョブを作成する際に、入力ドキュメントを暗号化することができます。との統合 AWS KMS により、Start\$1 ジョブと Create\$1 ジョブのストレージボリューム内のデータを暗号化し、独自の KMS キーを使用して Start\$1 ジョブの出力結果を暗号化できます。

の場合 AWS マネジメントコンソール、Amazon Comprehend は独自の KMS キーを使用してカスタムモデルを暗号化します。の場合 AWS CLI、Amazon Comprehend は独自の KMS キーまたは提供されたカスタマーマネージドキー (CMK) を使用してカスタムモデルを暗号化できます。

**を使用した KMS 暗号化 AWS マネジメントコンソール** 

コンソール使用時には、次の 2 つの暗号化オプションがあります。
+ ボリュームの暗号化
+ 出力結果の暗号化

**ボリュームで暗号化を有効にする**

1.  [**ジョブ設定**] で、[**ジョブ暗号化**] オプションを選択します。  
![\[の KMS ジョブ暗号化 AWS マネジメントコンソール\]](http://docs.aws.amazon.com/ja_jp/comprehend/latest/dg/images/kms-1.png)

1. KMS カスタマー管理キー (CMK) が、現在使用しているアカウントのものか、別のアカウントのものかを選択します。現在のアカウントのキーを使用する場合は、[**KMS キー ID**] でキーを選択します。別のアカウントのキーを使用する場合は、キーの ARN を入力する必要があります。

**出力結果の暗号化を有効にするには**

1.  [**出力設定**] から、[**暗号化**] オプションを選択します。  
![\[での KMS 出力結果の暗号化 AWS マネジメントコンソール\]](http://docs.aws.amazon.com/ja_jp/comprehend/latest/dg/images/kms-2.png)

1. カスタマーマネージドキー (CMK) が、現在使用しているアカウントのキーか、別のアカウントのキーかを選択します。現在のアカウントのキーを使用する場合は、[**KMS キー ID**] からキーを選択します。別のアカウントのキーを使用する場合は、キーの ARN を入力する必要があります。

S3 上の入力ドキュメントに SSE-KMS を使用した暗号化を以前にセットアップしたことがあると、セキュリティが強化されていることがあります。ただし、その場合は、使用する IAM ロールに、入力ドキュメントを暗号化する KMS キーに対する `kms:Decrypt` アクセス許可が必要です。詳細については、「[KMS 暗号化を使用するために必要なアクセス許可](security_iam_id-based-policy-examples.md#auth-kms-permissions)」を参照してください。

**API オペレーションによる KMS 暗号化** 

Amazon Comprehend `Start*` および `Create*` API オペレーションのすべてで、 KMS で暗号化された入力ドキュメントを利用することができます。元のジョブの入力が `KmsKeyId` である場合、`Describe*` および `List*` API オペレーションは `OutputDataConfig` に `KmsKeyId` を返します。入力でなかった場合は、返されません。

これは、[StartEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartEntitiesDetectionJob.html) AWS オペレーションを使用した次の CLI の例で確認できます。

 

```
aws comprehend start-entities-detection-job \
     --region region \
     --data-access-role-arn "data access role arn" \    
     --entity-recognizer-arn "entity recognizer arn" \
     --input-data-config "S3Uri=s3://Bucket Name/Bucket Path" \    
     --job-name job name \
     --language-code en \
     --output-data-config "KmsKeyId=Output S3 KMS key ID" "S3Uri=s3://Bucket Name/Bucket Path/" \
     --volumekmskeyid "Volume KMS key ID"
```

**注記**  
この例は、Unix、Linux、および macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\$1) Unix 連結文字をキャレット (^) に置き換えてください。

**API オペレーションによるカスタマーマネージドキー (CMK) の暗号化** 

Amazon Comprehend カスタムモデル API オペレーション、`CreateEntityRecognizer`、`CreateDocumentClassifier`および は`CreateEndpoint`、 を介したカスタマーマネージドキーを使用した暗号化をサポートしています AWS CLI。

プリンシパルによるカスタマーマネージドキーの使用または管理を許可するには、IAM ポリシーが必要です。これらのキーは、ポリシーステートメントの `Resource` 要素で指定されます。ベストプラクティスは、プリンシパルがポリシーステートメントで使用する必要があるキーにカスタマーマネージドキーを制限することです。

次の CLI AWS の例では、[CreateEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEntityRecognizer.html) オペレーションを使用してモデル暗号化を使用してカスタムエンティティレコグナイザーを作成します。



```
aws comprehend create-entity-recognizer \
     --recognizer-name name \
     --data-access-role-arn data access role arn \    
     --language-code en \
     --model-kms-key-id Model KMS Key ID \ 
     --input-data-config file:///path/input-data-config.json
```

**注記**  
この例は、Unix、Linux、および macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\$1) Unix 連結文字をキャレット (^) に置き換えてください。

# サービス間の混乱した代理の防止
<a name="cross-service-confused-deputy-prevention"></a>

混乱した代理問題は、アクションを実行するためのアクセス許可を持たないエンティティが、より特権のあるエンティティにアクションの実行を強制できてしまう場合に生じる、セキュリティ上の問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、1 つのサービス (*呼び出し元サービス*) が、別のサービス (*呼び出し対象サービス*) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別のお客様のリソースに対する処理を実行するように操作される場合があります。これを防ぐため、 AWS では、アカウントのリソースへのアクセス権が付与されたサービスプリンシパルで、すべてのサービスのデータを保護するために役立つツールを提供しています。

リソースポリシー内では [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) および [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) のグローバル条件コンテキストキーを使用して、Amazon Comprehend が別のサービスに付与する、リソースへのアクセス許可を制限することをお勧めします。両方のグローバル条件コンテキストキーを同じポリシーステートメントで使用する場合は、`aws:SourceAccount` 値と、`aws:SourceArn` 値に含まれるアカウントが、同じアカウント ID を示している必要があります。

混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定して `aws:SourceArn` グローバル条件コンテキストキーを使用することです。リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合は、`aws:SourceArn` グローバルコンテキスト条件キーを使用して、ARN の未知部分をワイルドカード (`*`) で表します。例えば、`arn:aws:servicename::123456789012:*` です。

## ソースアカウントの使用
<a name="confused-deputy-prevention-ex1"></a>

次の例は、Amazon Comprehend で `aws:SourceAccount` グローバル条件コンテキストキーを使用する方法を示しています。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionExamplePolicy",
    "Effect": "Allow",
    "Principal": {
          "Service": "comprehend.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
        "StringEquals": {
             "aws:SourceAccount":"111122223333"
        }
    }
  }
}
```

------

## 暗号化モデルのエンドポイントの信頼ポリシー
<a name="confused-deputy-prevention-ex2"></a>

暗号化モデルのエンドポイントを作成または更新するには、信頼ポリシーを作成する必要があります。　 `aws:SourceAccount` の値をアカウント ID に設定します。`ArnEquals` 条件を使用する場合は、`aws:SourceArn` 値をエンドポイントの ARN に設定します。

------
#### [ JSON ]

****  

```
{
 "Version":"2012-10-17",		 	 	 
 "Statement": [
    {
        "Sid": "",
        "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:document-classifier-endpoint/endpoint-name"
            }
        }
    }
  ]
}
```

------

## カスタムモデルを作成する
<a name="confused-deputy-prevention-ex3"></a>

カスタムモデルを作成するには、ポリシーを作成する必要があります。`aws:SourceAccount` 値をアカウント ID に設定します。`ArnEquals` 条件を使用する場合は、`aws:SourceArn` 値をカスタムモデルバージョンの ARN に設定します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "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:document-classifier/smallest-classifier-test/version/version-name"
                }
            }
        }
    ]
}
```

------

# Amazon Virtual Private Cloud を使用してジョブを保護する
<a name="usingVPC"></a>

Amazon Comprehend では、さまざまなセキュリティ対策を使用して、データおよび、Amazon Comprehend の使用中にそのデータが保存されるジョブコンテナの安全性を確保することができます。ただし、ジョブコンテナは、データやモデルアーティファクトを保存する Amazon S3 バケットなどの AWS リソースにインターネット経由でアクセスします。

データへのアクセスを制御するには、仮想プライベートクラウド (VPC) を作成して、データおよびコンテナがインターネット経由でアクセスできないように設定すことをお勧めします。VPC の作成と設定の詳細については、「*Amazon VPC ユーザーガイド*」の「[Amazon VPC の開始方法](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html)」を参照してください。VPC を利用すると、インターネットに接続されないように VPC を設定できるため、ジョブコンテナとデータを保護することができます。VPC 利用すると、VPC フローログを使ってジョブコンテナとの間のすべてのネットワークトラフィックを監視することもできます。詳細については、「Amazon VPC ユーザーガイド」の「[VPC フローログを使用した IP トラフィックのログ記録](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)」を参照してください。

VPC 設定は、サブネットとセキュリティグループを指定してモデルを作成するときに指定します。サブネットとセキュリティグループが指定されると、Amazon Comprehend はサブネットの 1 つのセキュリティグループに関連付けられている Elastic Network Interface (ENI) を作成します。ENI により、ジョブコンテナが VPC のリソースに接続できるようになります。ENI については、『Amazon VPC ユーザーガイド』の「[Elastic Network Interfaces](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html)」を参照してください。

**注記**  
ジョブの場合は、デフォルトのテナンシー VPC を使用してのみサブネットを設定できます。この VPC では、インスタンスは共有ハードウェアで実行されます。VPCs*Amazon EC2 * [ユーザーガイド」の「専有インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)」を参照してください。

## Amazon VPC アクセス用のジョブを設定する
<a name="VPCaccess"></a>

プライベート VPC 上のサブネットとセキュリティグループを指定するには、該当する API の `VpcConfig` リクエストパラメータを使用するか、Amazon Comprehend コンソールでコンパイルジョブを作成するときにその情報を指定します。Amazon Comprehend は、この情報を使用して ENI を作成し、その ENI をジョブコンテナにアタッチします。ENI は、インターネットに接続されていない VPC 上でのネットワーク接続機能をモデルコンテナに提供します。

次の API には `VpcConfig` リクエストパラメータが含まれています。
+ `Create*` API: ` [CreateDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateDocumentClassifier.html)`、 ` [CreateEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEntityRecognizer.html) `
+ `Start*` API: ` [StartDocumentClassificationJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDocumentClassificationJob.html)`、 ` [StartDominantLanguageDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDominantLanguageDetectionJob.html)`、` [StartEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartEntitiesDetectionJob.html)`、` [StartKeyPhrasesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartKeyPhrasesDetectionJob.html)`、` [StartSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartSentimentDetectionJob.html)`、` [StartTargetedSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartTargetedSentimentDetectionJob.html)`、` [StartTopicsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartTopicsDetectionJob.html)`

以下は、 API コールにしている VpcConfig パラメータの例です。

```
"VpcConfig": { 
      "SecurityGroupIds": [
          " sg-0123456789abcdef0"
          ],
      "Subnets": [
          "subnet-0123456789abcdef0",
          "subnet-0123456789abcdef1",
          "subnet-0123456789abcdef2"
          ]
      }
```

Amazon Comprehend コンソールから VPC を設定するには、ジョブの作成時にオプションの [**VPC 設定**] セクションから設定の詳細を選択します。

![\[分析ジョブの作成にあるオプションの VPC セクション\]](http://docs.aws.amazon.com/ja_jp/comprehend/latest/dg/images/vpc-image-10.png)


## Amazon Comprehend ジョブ用に VPC を設定する
<a name="configureVPC"></a>

Amazon Comprehend のジョブ用に VPC 設定する場合は、次のガイドラインに従ってください。VPC のセットアップについては、Amazon VPC ユーザーガイドの「[VPC とサブネットの使用](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html)」を参照してください。**

**サブネットに十分な IP アドレスを確保する**

VPC サブネットには、ジョブの各インスタンスにプライベート IP アドレスが少なくとも 2 つ必要です。詳細については、*Amazon VPC ユーザーガイド*の [IPv4 用の VPC とサブネットのサイズ設定](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)を参照してください。

**Amazon S3 VPC エンドポイントを 1 つ作成する**

モデルコンテナがインターネットにアクセスできないように VPC を設定した場合は、アクセスを許可する VPC エンドポイントを作成しない限り、モデルコンテナはデータを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、トレーニングジョブと分析ジョブ中にジョブコンテナがデータにアクセスできるようになります。

VPC エンドポイントを作成するときは、次の値を設定します。
+ サービスとして**AWS サービス**カテゴリを選択する
+ サービスを として指定します。 `com.amazonaws.region.s3`
+ VPC エンドポイントタイプとして**ゲートウェイ**を選択する 

 CloudFormation を使用して VPC エンドポイントを作成する場合は、[CloudFormation VPCEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) のドキュメントに従ってください。次の例は、 CloudFormation テンプレート内の **VPCEndpoint** 設定を示しています。

```
  VpcEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      PolicyDocument:
        Version: '2012-10-17		 	 	 '
        Statement:
          - Action:
              - s3:GetObject
              - s3:PutObject
              - s3:ListBucket
              - s3:GetBucketLocation
              - s3:DeleteObject
              - s3:ListMultipartUploadParts
              - s3:AbortMultipartUpload
            Effect: Allow
            Resource:
              - "*"
            Principal: "*"
      RouteTableIds:
        - Ref: RouteTable
      ServiceName:
        Fn::Join:
          - ''
          - - com.amazonaws.
            - Ref: AWS::Region
            - ".s3"
      VpcId:
        Ref: VPC
```

プライベート VPC からのリクエストのみに S3 バケットへのアクセスを許可するカスタムポリシーも作成することをお勧めします。詳細については、*Amazon VPC ユーザーガイド*の「[Amazon S3 におけるエンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)」を参照してください。

次のポリシーでは、S3 バケットへのアクセスを許可します。このポリシーを編集して、ジョブに必要なリソースのみへのアクセスを許可します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:DeleteObject",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload"
            ],
            "Resource": "*"
        }
    ]
}
```

------

エンドポイントルートテーブルのデフォルトの DNS 設定を使って、標準 Amazon S3 URL (例えば、`http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`) が解決されるようにします。デフォルトの DNS 設定を使用しない場合は、エンドポイントルートテーブルを設定することで、ジョブのデータがある場所の指定に使用する URL が解決されるようにします。VPC エンドポイントルートテーブルについては、Amazon VPC ユーザーガイドの「[ゲートウェイエンドポイントのルーティング](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html#vpc-endpoints-routing)」を参照してください。**

デフォルトエンドポイントポリシーでは、ユーザーは、Amazon Linux と Amazon Linux 2 のリポジトリのパッケージをジョブコンテナにインストールできます。ユーザーがそのリポジトリからパッケージをインストールしないようにする場合は、Amazon Linux と Amazon Linux 2 のリポジトリへのアクセスを明示的に拒否するカスタムエンドポイントポリシーを作成します。Comprehend 自体にはそのようなパッケージは必要なく、機能的な影響はありません。これらのリポジトリへのアクセスを拒否するポリシーの例を次に示します。

```
{ 
    "Statement": [ 
      { 
        "Sid": "AmazonLinuxAMIRepositoryAccess",
        "Principal": "*",
        "Action": [ 
            "s3:GetObject" 
        ],
        "Effect": "Deny",
        "Resource": [
            "arn:aws:s3:::packages.*.amazonaws.com/*",
            "arn:aws:s3:::repo.*.amazonaws.com/*"
        ] 
      } 
    ] 
} 

{ 
    "Statement": [ 
        { "Sid": "AmazonLinux2AMIRepositoryAccess",
          "Principal": "*",
          "Action": [ 
              "s3:GetObject" 
              ],
          "Effect": "Deny",
          "Resource": [
              "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" 
              ] 
         } 
    ] 
}
```

**`DataAccessRole` に対するアクセス許可**

分析ジョブで VPC を使用する場合、`DataAccessRole` および `Create*` オペレーションに使用する `Start*` には、入力ドキュメントと出力バケットへのアクセスに使用される VPC に対するアクセス許可も必要です。

次のポリシーは、`Create*` および `Start*` オペレーションに使用される `DataAccessRole` に、必要とされるアクセス権を提供します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
              "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeVpcs",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**VPC セキュリティグループを設定する**

分散型ジョブでは、同じジョブにあるさまざまなコンテナ間の通信を許可する必要があります。そのためには、同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。詳細については、『Amazon VPC ユーザーガイド』の 「[Security Group Rules](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules)」を参照してください。

**VPC の外部のリソースに接続する**

インターネットアクセスができないように VPC を設定している場合、その VPC を使用するジョブには、VPC の外部のリソースに対するアクセス権がありません。ジョブが VPC の外部のリソースにアクセスする必要がある場合は、次のいずれかのオプションを使用してアクセス権を提供します。
+ ジョブがインターフェイス VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するためのエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、Amazon VPC ユーザーガイドの「[VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)」を参照してください。**インターフェイス VPC エンドポイントの作成については、*「Amazon* [VPC ユーザーガイド」の「インターフェイス VPC エンドポイント (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)」を参照してください。
+ ジョブがインターフェイス VPC エンドポイントをサポートしていない AWS サービスまたは 外のリソースにアクセスする必要がある場合は AWS、NAT ゲートウェイを作成し、アウトバウンド接続を許可するようにセキュリティグループを設定します。VPC 用の NAT ゲートウェイのセットアップについては、『[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html)』の「シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC (NAT)」を参照してください。

# Amazon Comprehend とインターフェイス VPC エンドポイント (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

インターフェイス VPC エンドポイントを作成すると、VPC と Amazon Comprehend との間のプライベート接続を確立できます。インターフェイスエンドポイントは、インターネットゲートウェイ[AWS PrivateLink](https://aws.amazon.com/privatelink)、NAT デバイス、VPN 接続、または AWS Direct Connect 接続なしで Amazon Comprehend APIs にプライベートにアクセスできるテクノロジーである を利用しています。VPC のインスタンスはパブリック IP アドレスがなくても Amazon Comprehend API と通信できます。VPC と Amazon Comprehend API 間のトラフィックが、Amazon ネットワークを離れることはありません。

各インターフェイスエンドポイントは、サブネット内の 1 つ以上の [Elastic Network Interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) によって表されます。

詳細については、Amazon [VPC ユーザーガイドの「インターフェイス VPC エンドポイント (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)」を参照してください。 **

## Amazon Comprehend VPC エンドポイントに関する考慮事項
<a name="vpc-endpoint-considerations"></a>

Amazon Comprehend のインターフェイス VPC エンドポイントを設定するにあたっては、『Amazon VPC ユーザーガイド』の「[インターフェイスエンドポイントのプロパティと制限](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-limitations)」をお読みください。

Amazon Comprehend エンドポイントは、リージョン内のすべてのアベイラビリティーゾーンで使用できるわけではありません。アベイラビリティーゾーンは、エンドポイントの作成時に次のコマンドを使用して一覧表示できます。

```
aws ec2 describe-vpc-endpoint-services \
  --service-names com.amazonaws.us-west-2.comprehend
```

Amazon Comprehend では、VPC からすべての API アクションを呼び出すことができます。

## Amazon Comprehend 用のインターフェイス VPC エンドポイントの作成
<a name="vpc-endpoint-create"></a>

Amazon Comprehend サービスの VPC エンドポイントは、Amazon VPC コンソールまたは AWS Command Line Interface () を使用して作成できますAWS CLI。詳細については、「Amazon VPC ユーザーガイド」の[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)を参照してください。

Amazon Comprehend 用の VPC エンドポイントを作成には、次のサービス名を使用します。
+ com.amazonaws.*region*.comprehend

エンドポイントに対してプライベート DNS を有効にすると、リージョンのデフォルト DNS 名 (`comprehend.us-east-1.amazonaws.com` など) を使用して、Amazon Comprehend への API リクエストを実行できます。

詳細については、「Amazon VPC ユーザーガイド**」の「[インターフェイスエンドポイントを介したサービスへのアクセス](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint)」を参照してください。

## Amazon Comprehend 用の VPC エンドポイントポリシーの作成
<a name="vpc-endpoint-policy"></a>

Amazon Comprehend へのアクセスを制御する VPC エンドポイントにエンドポイントポリシーをアタッチできます。このポリシーでは、以下の情報を指定します。
+ アクションを実行できるプリンシパル。
+ 実行可能なアクション。
+ アクションを実行できるリソース。

詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)」を参照してください。

**例: Amazon Comprehend アクション用の VPC エンドポイントポリシー**  
Amazon Comprehend 用のエンドポイントポリシーの例を次に示します。このポリシーは、エンドポイントにアタッチされると、すべてのリソースのすべてのプリンシパルに対して、Amazon Comprehend `DetectEntities` アクションへのアクセスを許可します。

```
{
   "Statement":[
      {
         "Principal":"*",
         "Effect":"Allow",
         "Action":[
            "comprehend:DetectEntities"
         ],
         "Resource":"*"
      }
   ]
}
```

# Amazon Comprehend における Identity and Access Management
<a name="security-iam"></a>



AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、誰を認証するか (サインインさせるか) と、誰に Amazon Comprehend リソースの使用を許可するか (アクセス許可を付与するか) を制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**Topics**
+ [オーディエンス](#security_iam_audience)
+ [アイデンティティを使用した認証](#security_iam_authentication)
+ [ポリシーを使用したアクセスの管理](#security_iam_access-manage)
+ [Amazon Comprehend と IAM 連携の仕組み](security_iam_service-with-iam.md)
+ [Amazon Comprehend の ID ベースのポリシー例](security_iam_id-based-policy-examples.md)
+ [AWS Amazon Comprehend の マネージドポリシー](security-iam-awsmanpol.md)
+ [Amazon Comprehend のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)

## オーディエンス
<a name="security_iam_audience"></a>

 AWS Identity and Access Management (IAM) の使用方法は、ロールによって異なります。
+ **サービスユーザー** - 機能にアクセスできない場合は、管理者にアクセス許可をリクエストします (「[Amazon Comprehend のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)」を参照)。
+ **サービス管理者** - ユーザーアクセスを決定し、アクセス許可リクエストを送信します (「[Amazon Comprehend と IAM 連携の仕組み](security_iam_service-with-iam.md)」を参照)
+ **IAM 管理者** - アクセスを管理するためのポリシーを作成します (「[Amazon Comprehend の ID ベースのポリシー例](security_iam_id-based-policy-examples.md)」を参照)

## アイデンティティを使用した認証
<a name="security_iam_authentication"></a>

認証とは、ID 認証情報 AWS を使用して にサインインする方法です。、IAM ユーザー AWS アカウントのルートユーザー、または IAM ロールを引き受けることで認証される必要があります。

 AWS IAM アイデンティティセンター (IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーティッド ID としてサインインできます。サインインの詳細については、「*AWS サインイン ユーザーガイド*」の「[AWS アカウントにサインインする方法](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)」を参照してください。

プログラムによるアクセスの場合、 は SDK と CLI AWS を提供してリクエストを暗号化して署名します。詳細については、「*IAM ユーザーガイド*」の「[API リクエストに対するAWS 署名バージョン 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)」を参照してください。

### AWS アカウント ルートユーザー
<a name="security_iam_authentication-rootuser"></a>

 を作成するときは AWS アカウント、まず、すべての AWS のサービス および リソースへの完全なアクセス権を持つ AWS アカウント *root ユーザー*と呼ばれる 1 つのサインインアイデンティティから始めます。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、「*IAM ユーザーガイド*」の「[ルートユーザー認証情報が必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)」を参照してください。

### フェデレーテッドアイデンティティ
<a name="security_iam_authentication-federated"></a>

ベストプラクティスとして、人間のユーザーが一時的な認証情報 AWS のサービス を使用して にアクセスするには、ID プロバイダーとのフェデレーションを使用する必要があります。

*フェデレーティッド ID* は、エンタープライズディレクトリ、ウェブ ID プロバイダー、または ID Directory Service ソースの認証情報 AWS のサービス を使用して にアクセスするユーザーです。フェデレーテッドアイデンティティは、一時的な認証情報を提供するロールを引き受けます。

アクセスを一元管理する場合は、 AWS IAM アイデンティティセンターをお勧めします。詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[IAM アイデンティティセンターとは](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)」を参照してください。

### IAM ユーザーとグループ
<a name="security_iam_authentication-iamuser"></a>

*[IAM ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*は、特定の個人やアプリケーションに対する特定のアクセス許可を持つアイデンティティです。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細については、*IAM ユーザーガイド*の[「ID プロバイダーとのフェデレーションを使用して にアクセスすることを人間のユーザーに要求する AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)」を参照してください。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、IAM ユーザーの集合を指定し、大量のユーザーに対するアクセス許可の管理を容易にします。詳細については、「*IAM ユーザーガイド*」の「[IAM ユーザーに関するユースケース](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)」を参照してください。

### IAM ロール
<a name="security_iam_authentication-iamrole"></a>

*[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*は、特定のアクセス許可を持つアイデンティであり、一時的な認証情報を提供します。[ユーザーから IAM ロール (コンソール) に切り替えるか、 または API オペレーションを呼び出すことで、ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)を引き受けることができます。 AWS CLI AWS 詳細については、「*IAM ユーザーガイド*」の「[ロールを引き受けるための各種方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)」を参照してください。

IAM ロールは、フェデレーションユーザーアクセス、一時的な IAM ユーザーのアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行するアプリケーションに役立ちます。詳細については、*IAM ユーザーガイド* の [IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

## ポリシーを使用したアクセスの管理
<a name="security_iam_access-manage"></a>

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは、ID またはリソースに関連付けられたときにアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシー AWS を評価します。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの詳細については、「*IAM ユーザーガイド*」の「[JSON ポリシー概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)」を参照してください。

管理者は、ポリシーを使用して、どの**プリンシパル**がどの**リソース**に対して、どのような**条件**で**アクション**を実行できるかを定義することで、誰が何にアクセスできるかを指定します。

デフォルトでは、ユーザーやロールにアクセス許可はありません。IAM 管理者は IAM ポリシーを作成してロールに追加し、このロールをユーザーが引き受けられるようにします。IAM ポリシーは、オペレーションの実行方法を問わず、アクセス許可を定義します。

### アイデンティティベースのポリシー
<a name="security_iam_access-manage-id-based-policies"></a>

アイデンティティベースのポリシーは、アイデンティティ (ユーザー、グループ、またはロール) にアタッチできる JSON アクセス許可ポリシードキュメントです。これらのポリシーは、アイデンティティがどのリソースに対してどのような条件下でどのようなアクションを実行できるかを制御します。アイデンティティベースポリシーの作成方法については、*IAM ユーザーガイド* の [カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) を参照してください。

アイデンティティベースのポリシーは、*インラインポリシー* (単一の ID に直接埋め込む) または*管理ポリシー* (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「*IAM ユーザーガイド*」の「[管理ポリシーとインラインポリシーのいずれかを選択する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)」を参照してください。

### リソースベースのポリシー
<a name="security_iam_access-manage-resource-based-policies"></a>

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。例としては、IAM *ロール信頼ポリシー*や Amazon S3 *バケットポリシー*などがあります。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。リソースベースのポリシーでは、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。

リソースベースのポリシーは、そのサービス内にあるインラインポリシーです。リソースベースのポリシーでは、IAM の AWS マネージドポリシーを使用できません。

### その他のポリシータイプ
<a name="security_iam_access-manage-other-policies"></a>

AWS は、より一般的なポリシータイプによって付与されるアクセス許可の上限を設定できる追加のポリシータイプをサポートしています。
+ **アクセス許可の境界** – アイデンティティベースのポリシーで IAM エンティティに付与することのできるアクセス許可の数の上限を設定します。詳細については、「*IAM ユーザーガイド*」の「[IAM エンティティのアクセス許可境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。
+ **サービスコントロールポリシー (SCP)** - AWS Organizations内の組織または組織単位の最大のアクセス許可を指定します。詳細については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシー](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)」を参照してください。
+ **リソースコントロールポリシー (RCP)** – は、アカウント内のリソースで利用できる最大数のアクセス許可を定義します。詳細については、「*AWS Organizations ユーザーガイド*」の「[リソースコントロールポリシー (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)」を参照してください。
+ **セッションポリシー** – ロールまたはフェデレーションユーザーの一時セッションを作成する際にパラメータとして渡される高度なポリシーです。詳細については、「*IAM ユーザーガイド*」の「[セッションポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)」を参照してください。

### 複数のポリシータイプ
<a name="security_iam_access-manage-multiple-policies"></a>

1 つのリクエストに複数のタイプのポリシーが適用されると、結果として作成されるアクセス許可を理解するのがさらに難しくなります。が複数のポリシータイプが関与する場合にリクエストを許可するかどうか AWS を決定する方法については、*「IAM ユーザーガイド*」の[「ポリシー評価ロジック](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)」を参照してください。

# Amazon Comprehend と IAM 連携の仕組み
<a name="security_iam_service-with-iam"></a>

Amazon Comprehend へのアクセス権は、IAM を使用して管理できます。ここでは、Amazon Comprehend で利用できる IAM の機能を説明します。






**Amazon Comprehend で利用できる IAM の機能**  

| IAM 機能 | Amazon Comprehend のサポート | 
| --- | --- | 
|  [アイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)  |   あり  | 
|  [リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)  |   はい  | 
|  [ポリシーアクション](#security_iam_service-with-iam-id-based-policies-actions)  |   あり  | 
|  [ポリシーリソース](#security_iam_service-with-iam-id-based-policies-resources)  |   はい  | 
|  [ポリシー条件キー (サービス固有)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   はい  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   なし   | 
|  [ABAC (ポリシー内のタグ)](#security_iam_service-with-iam-tags)  |   部分的  | 
|  [一時認証情報](#security_iam_service-with-iam-roles-tempcreds)  |   あり  | 
|  [転送アクセスセッション (FAS)](#security_iam_service-with-iam-principal-permissions)  |   あり  | 
|  [サービスロール](#security_iam_service-with-iam-roles-service)  |   あり  | 
|  [サービスリンクロール](#security_iam_service-with-iam-roles-service-linked)  |   いいえ   | 

Amazon Comprehend およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要については、「IAM *ユーザーガイド*」の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## Amazon Comprehend の ID ベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

**アイデンティティベースのポリシーのサポート:** あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

### Amazon Comprehend の ID ベースのポリシー例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Amazon Comprehend の ID ベースのポリシー例については、「[Amazon Comprehend の ID ベースのポリシー例](security_iam_id-based-policy-examples.md)」を参照してください。

## Amazon Comprehend 内のリソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**リソースベースのポリシーのサポート:** あり

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM *ロールの信頼ポリシー*や Amazon S3 *バケットポリシー*があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイド**の[IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)を参照してください。

Amazon Comprehend サービスは、カスタムモデルに追加された 1 つのタイプのリソースベースのポリシー (カスタムモデルポリシー) のみをサポートします。そのポリシーでは、カスタムモデルを利用できる他のアカウントを定義します。

リソースベースのポリシーをカスタムモデルにアタッチする方法については、「[カスタムモデル用のリソースベースのポリシー](custom-copy-sharing.md#custom-copy-sharing-example-policy)」を参照してください。

## Amazon Comprehend におけるポリシーアクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**ポリシーアクションのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。



Amazon Comprehend アクションのリストを確認するには、*「サービス認可リファレンス*」の[Amazon Comprehend で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehend.html#amazoncomprehend-actions-as-permissions)」を参照してください。

Amazon Comprehend のポリシーアクションでは、アクションの前に次のプレフィックスを使用します。

```
comprehend
```

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

```
"Action": [
      "comprehend:DetectSentiment",
      "comprehend:ClassifyDocument"
         ]
```





ワイルドカード (\$1) を使用して複数アクションを指定できます。例えば、`Describe` という単語で始まるすべてのアクションを指定するには次のアクションを含めます。

```
"Action": "comprehend:Describe*"
```

1 つのサービスに対してすべてのアクションを指定するワイルドカードを使用しないでください。ポリシーでのアクセス許可の指定では、最小特権を付与するというベストプラクティスに従います。

Amazon Comprehend の ID ベースのポリシー例については、「[Amazon Comprehend の ID ベースのポリシー例](security_iam_id-based-policy-examples.md)」を参照してください。

## Amazon Comprehend におけるポリシーリソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource": "*"
```

Amazon Comprehend リソースタイプとその ARNs[Amazon Comprehend で定義されるリソース](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehend.html#amazoncomprehend-resources-for-iam-policies)」を参照してください。 **各リソースの ARN を指定できるアクションについては、「[Amazon Comprehend で定義されているアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehend.html#amazoncomprehend-actions-as-permissions)」を参照してください。





## Amazon Comprehend におけるポリシー条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**サービス固有のポリシー条件キーのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

Amazon Comprehend 条件キーのリストを確認するには、*「サービス認可リファレンス*」の[Amazon Comprehend の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehend.html#amazoncomprehend-policy-keys)」を参照してください。条件キーを使用できるアクションおよびリソースについては、「[Amazon Comprehend で定義されているアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehend.html#amazoncomprehend-actions-as-permissions)」を参照してください。

Amazon Comprehend の ID ベースのポリシー例については、「[Amazon Comprehend の ID ベースのポリシー例](security_iam_id-based-policy-examples.md)」を参照してください。

## Amazon Comprehend における ACL
<a name="security_iam_service-with-iam-acls"></a>

**ACL のサポート:** なし 

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

## ABAC と Amazon Comprehend
<a name="security_iam_service-with-iam-tags"></a>

**ABAC (ポリシー内のタグ) のサポート:** 一部

属性ベースのアクセスコントロール (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。

タグに基づいてアクセスを管理するには、`aws:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値は**あり**です。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「**部分的**」になります。

ABAC の詳細については、「*IAM ユーザーガイド*」の「[ABAC 認可でアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「*IAM ユーザーガイド*」の「[属性ベースのアクセスコントロール (ABAC) を使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。

Amazon Comprehend リソースに対するタグ付けの詳細については、「[リソースのタグ付け](tagging.md)」を参照してください。

## Amazon Comprehend での一時的な認証情報の利用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**一時的な認証情報のサポート:** あり

一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成 AWS することをお勧めします。詳細については、「*IAM ユーザーガイド*」の「[IAM の一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」および「[AWS のサービス と IAM との連携](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## Amazon Comprehend のフォワードアクセスセッション
<a name="security_iam_service-with-iam-principal-permissions"></a>

**転送アクセスセッション (FAS) のサポート:** あり

 転送アクセスセッション (FAS) は、 を呼び出すプリンシパルのアクセス許可と AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする を使用します。FAS リクエストを行う際のポリシーの詳細については、「[転送アクセスセッション](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)」を参照してください。

## Amazon Comprehend におけるサービスロール
<a name="security_iam_service-with-iam-roles-service"></a>

**サービスロールのサポート:** あり

 サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイド**の [AWS のサービスに許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)を参照してください。

**警告**  
サービスロールに対するアクセス許可を変更すると、Amazon Comprehend の機能に問題が発生する場合があります。Amazon Comprehend からの指示がある場合を除いて、サービスロールを編集しないでください。

Amazon Comprehend 非同期オペレーションを使用するには、Amazon Comprehend にドキュメントコレクションが含まれている Amazon S3 バケットへのアクセス許可を付与する必要があります。このためには、Amazon Comprehend サービスプリンシパルと信頼関係を構築できるように、アカウントにデータアクセスロールを作成します。

ポリシー例については、「[バッチ操作に必要なロールベースのアクセス許可](security_iam_id-based-policy-examples.md#auth-role-permissions)」を参照してください。

## Amazon Comprehend におけるサービスリンクロール
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**サービスにリンクされたロールのサポート:** なし 

 サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

サービスにリンクされたロールの作成または管理の詳細については、「[IAM と提携するAWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。表の「**サービスリンクロール**」列に `Yes` と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、**[はい]** リンクを選択します。

# Amazon Comprehend の ID ベースのポリシー例
<a name="security_iam_id-based-policy-examples"></a>

デフォルトでは、ユーザーおよびロールには Amazon Comprehend リソースを作成または変更するアクセス許可がありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。

これらのサンプルの JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「*IAM ユーザーガイド*」の「[IAM ポリシーを作成する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」を参照してください。

Amazon Comprehend が定義するアクションとリソースタイプ (リソースタイプごとの ARN の形式を含む) の詳細については、『サービス認可リファレンス』の「[Amazon Comprehend のアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehend.html)」を参照してください。

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [Amazon Comprehend コンソールの使用法](#security_iam_id-based-policy-examples-console)
+ [自分の権限の表示をユーザーに許可する](#security_iam_id-based-policy-examples-view-own-permissions)
+ [ドキュメント分析アクションを実行するために必要なアクセス許可](#security-iam-based-policy-perform-cmp-actions)
+ [KMS 暗号化を使用するために必要なアクセス許可](#auth-kms-permissions)
+ [AWS Amazon Comprehend の マネージド (事前定義) ポリシー](#access-policy-aws-managed-policies)
+ [バッチ操作に必要なロールベースのアクセス許可](#auth-role-permissions)
+ [Amazon Comprehend のすべてのアクションを許可するアクセス許可](#custom-policy-all-all-actions)
+ [トピックモデリングアクションを許可するアクセス許可](#custom-policy-allow-topic-modeling)
+ [カスタム非同期分析ジョブに必要なアクセス許可](#tagging-resources)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID ベースのポリシーでは、アカウント内で誰が Amazon Comprehend リソースを作成、アクセス、または削除できるを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## Amazon Comprehend コンソールの使用法
<a name="security_iam_id-based-policy-examples-console"></a>

Amazon Comprehend コンソールにアクセスするには、最小限のアクセス許可セットが必要です。これらのアクセス許可により、 の Amazon Comprehend リソースの詳細を一覧表示および表示できます AWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

 AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

Amazon Comprehend コンソールの最小限のアクセス許可については、`ComprehendReadOnly` AWS 管理ポリシーをエンティティにアタッチできます。詳細については、「*IAM ユーザーガイド*」の「[ユーザーへのアクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

Amazon Comprehend コンソールを使用するには、次のポリシーに示されているアクションのアクセス許可も必要です。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
  {
      "Action": [
          "iam:ListRoles",
          "iam:GetRole",
          "s3:ListAllMyBuckets",
          "s3:ListBucket",
          "s3:GetBucketLocation"
      ],
      "Effect": "Allow",
      "Resource": "*"
  }
  ]
  }
```

------

Amazon Comprehend コンソールには、以下の理由でこれらの追加のアクセス許可が必要になります。
+ アカウントで使用可能な IAM ロールをリストするための `iam` アクセス許可。
+ トピックモデリング用のデータが含まれる Amazon S3 バケットおよびオブジェクトにアクセスするための `s3` アクセス許可。

コンソールを使用して非同期バッチジョブまたはトピックモデリングジョブを作成する場合は、ジョブ用の IAM ロールをコンソールに作成させるオプションがあります。ユーザーが IAM ロールを作成するには、IAM ロールとポリシーを作成してロールにポリシーをアタッチするための以下のアクセス許可が追加で必要になります。

------
#### [ JSON ]

****  

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

------

Amazon Comprehend コンソールには、以下の理由でこれらの追加のアクセス許可が必要になります。
+ ロールを作成し、ポリシーをロールにアタッチするための `iam` アクセス許可。`iam:PassRole` アクションにより、コンソールは Amazon Comprehend にロールを渡すことができます。

## 自分の権限の表示をユーザーに許可する
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または 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": "*"
        }
    ]
}
```

## ドキュメント分析アクションを実行するために必要なアクセス許可
<a name="security-iam-based-policy-perform-cmp-actions"></a>

次のポリシー例では、Amazon Comprehend ドキュメント分析アクションを使用するためのアクセス許可を付与しています。

------
#### [ JSON ]

****  

```
{
 "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": "*"
    }
 ]
}
```

------

このポリシーには、`DetectEntities`、`DetectKeyPhrases`、`DetectDominantLanguage`、`DetectTargetedSentiment`、`DetectSentiment` および `DetectSyntax` アクションを使用するためのアクセス許可を付与するステートメントが 1 つあります。このポリシーステートメントでは、2 つの Amazon Textract API メソッドを使用するためのアクセス許可も付与しています。Amazon Comprehend はこれらのメソッドを呼び出すことで、画像ファイルやスキャンした PDF ドキュメントからテキストを抽出します。このような種類の入力ファイルに対してカスタム推論を実行することがないユーザーの場合は、これらのアクセス許可を削除できます。

このポリシーが適用されるユーザーが、アカウント内でバッチアクションや非同期アクションを実行することはできません。

アイデンティティベースのポリシーでアクセス権限を得るプリンシパルを指定していないため、ポリシーでは `Principal` エレメントを指定していません。ユーザーにポリシーをアタッチすると、そのユーザーが暗黙のプリンシパルになります。IAM ロールにアクセス権限ポリシーをアタッチすると、ロールの信頼ポリシーで識別されたプリンシパルがアクセス権限を得ることになります。

すべての Amazon Comprehend API アクションとそれらが適用されるリソースを示す表については、*「サービス認可リファレンス*」の[Amazon Comprehend のアクション、リソース、および条件キー](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazoncomprehend.html)」を参照してください。

## KMS 暗号化を使用するために必要なアクセス許可
<a name="auth-kms-permissions"></a>

Amazon Key Management Service (KMS) を非同期ジョブのデータおよびジョブの暗号化に完全に使用するには、次のポリシーに示すアクションに対するアクセス許可を付与する必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "kms:CreateGrant"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDatakey"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                        "s3.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Amazon Comprehend を使用した非同期ジョブの作成では、Amazon S3 に保存されている入力データを使用します。S3 には、保存されたデータを暗号化するオプションがあり、その暗号化は Amazon Comprehend ではなく S3 によって行われます。Amazon Comprehend ジョブが使用するデータアクセスロールに、元の入力データの暗号化に使用されたキーへの `kms:Decrypt` アクセス許可を与えると、暗号化された入力データを復号化して読み取ることができます。

KMS カスタマーマネージドキー (CMK) を使用すると、 S3 で出力結果を暗号化したり、ジョブ処理中に使用されるストレージボリュームを暗号化したりすることもできます。こうした暗号化では、両方の種類の暗号化に同じ KMS キーを使用できますが、必須ではありません。ジョブの作成では出力暗号化とボリューム暗号化のキーをそれぞれ別のフィールドに指定できます。また、別のアカウントの KMS キーを使用することもできます。

KMS 暗号化を使用する場合、ボリュームの暗号化には `kms:CreateGrant` アクセス許可、出力データの暗号化には `kms:GenerateDataKey` アクセス許可がそれぞれ必要です。暗号化された入力を読み取るには (入力データがすでに Amazon S3 によって暗号化されている場合など)、`kms:Decrypt` アクセス許可が必要です。IAM ロールは、必要に応じてそれらアクセス許可を提供する必要があります。ただし、キーが現在使用されているものとは異なるアカウントのものである場合、その KMS キーの KMS キーポリシーは、ジョブのデータアクセスロールにもそれらアクセス許可を付与する必要があります。

## AWS Amazon Comprehend の マネージド (事前定義) ポリシー
<a name="access-policy-aws-managed-policies"></a>

AWS は、 によって作成および管理されるスタンドアロン IAM ポリシーを提供することで、多くの一般的なユースケースに対処します AWS。これらの AWS 管理ポリシーは、一般的なユースケースに必要なアクセス許可を付与するため、必要なアクセス許可を調査する必要がなくなります。詳細については、「**IAM ユーザーガイド」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

アカウントのユーザーにアタッチできる以下の AWS 管理ポリシーは、Amazon Comprehend に固有のものです。
+ **ComprehendFullAccess** — トピックモデリングジョブの実行を含む Amazon Comprehend リソースへのフルアクセス権を付与します。IAM ロールをリストおよび取得するアクセス許可が含まれます。
+ **ComprehendReadOnly** — `StartDominantLanguageDetectionJob`、 `StartEntitiesDetectionJob`、 `StartKeyPhrasesDetectionJob`、 `StartSentimentDetectionJob`、 `StartTargetedSentimentDetectionJob` および `StartTopicsDetectionJob` を除くすべての Amazon Comprehend アクションを実行するアクセス許可を付与します。

Amazon Comprehend を使用するユーザーには、次の追加ポリシーを適用する必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
      [
        {
          "Action":
            [
              "iam:PassRole"
            ],
          "Effect": "Allow",
          "Resource": "arn:aws:iam::*:role/*Comprehend*"
        }
      ]
  }
```

------

IAM コンソールにサインインし、特定のポリシーを検索することで、管理アクセス許可ポリシーを確認できます。

これらのポリシーは、 AWS SDKsまたは CLI AWS を使用している場合に機能します。

独自のカスタム IAM ポリシーを作成して、Amazon Comprehend アクションとリソースに対するアクセス許可を付与することもできます。こうしたカスタムポリシーは、該当するアクセス許可が必要なユーザーやグループ、ロールにアタッチできます。

## バッチ操作に必要なロールベースのアクセス許可
<a name="auth-role-permissions"></a>

Amazon Comprehend 非同期オペレーションを使用するには、Amazon Comprehend にドキュメントコレクションが含まれている Amazon S3 バケットへのアクセス許可を付与する必要があります。このためには、Amazon Comprehend サービスプリンシパルと信頼関係を構築できるように、アカウントにデータアクセスロールを作成します。ロールの作成の詳細は、『AWS Identity and Access Management ユーザーガイド』の「[AWS のサービスにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」を参照してください。

以下は、作成したロールに対する信頼ポリシーの例を示しています。[混乱した代理の防止](cross-service-confused-deputy-prevention.md)に役立つようにするには、1 つ以上のグローバル条件コンテキストキーを使用してアクセス許可の範囲を制限します。`aws:SourceAccount` 値をアカウント ID に設定します。`ArnEquals` 条件を使用する場合は、`aws:SourceArn` 値にジョブの ARN を設定します。ARN のジョブ番号にはワイルドカードを使用してください。この番号は、Amazon Comprehend によってジョブの作成時に生成されます。

------
#### [ JSON ]

****  

```
{
    "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/*"
          }
        }
      }
    ]
 }
```

------

ロールを作成したら、そのロールに対するアクセスポリシーを作成します。これにより、入力データを含む Amazon S3 バケットへのアクセス許可が Amazon S3 の `GetObject` および `ListBucket` に付与され、Amazon S3 出力データバケットへのアクセス許可が Amazon S3 の `PutObject` に付与されます。

## Amazon Comprehend のすべてのアクションを許可するアクセス許可
<a name="custom-policy-all-all-actions"></a>

にサインアップしたら AWS、ユーザーの作成やアクセス許可の管理など、アカウントを管理する管理者ユーザーを作成します。

Amazon Comprehend の操作では、Amazon Comprehend のすべてのアクションに対するアクセス許可を持つユーザー (このユーザーはサービス別の管理者とみなすことができる) を作成することもできます。このユーザーに以下のアクセス権限をアタッチできます。

------
#### [ JSON ]

****  

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

------

これらのアクセス許可の暗号化関係は、以下の方法で変更できます。
+ 暗号化された S3 バケットに保存されているドキュメントを Amazon Comprehend が分析できるようにするには、IAM ロールに`kms:Decrypt` アクセス許可が必要です。
+ 分析ジョブを処理するコンピュートインスタンスに接続されたストレージボリュームに保存されているドキュメントを Amazon Comprehend が暗号化できるようにするには、IAM ロールに `kms:CreateGrant` アクセス許可が必要です。
+ S3 バケットの出力結果を Amazon Comprehend が暗号化できるようにするには、IAM ロールに `kms:GenerateDataKey` アクセス許可が必要です。

## トピックモデリングアクションを許可するアクセス許可
<a name="custom-policy-allow-topic-modeling"></a>

次のアクセス許可ポリシーでは、Amazon Comprehend のトピックモデリングオペレーションを実行するためのアクセス許可がユーザーに付与しています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowTopicModelingActions",
            "Effect": "Allow",
            "Action": [
                "comprehend:DescribeTopicsDetectionJob",
                "comprehend:ListTopicsDetectionJobs",
                "comprehend:StartTopicsDetectionJob"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## カスタム非同期分析ジョブに必要なアクセス許可
<a name="tagging-resources"></a>

**重要**  
モデルへのアクセス権を制限する IAM ポリシーがある場合、カスタムモデルで推論ジョブを実行することはできません。IAM ポリシーを更新して、カスタム非同期分析ジョブ用のワイルドカードリソースを追加する必要があります。

[StartDocumentClassificationJob](https://docs.aws.amazon.com/comprehend/latest/dg/API_StartDocumentClassificationJob.html) および [StartEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/dg/API_StartEntitiesDetectionJob.html) API を使用する場合は、現在リソースとしてワイルドカードを使用しないのでない限り、IAM ポリシーを更新する必要があります。事前トレーニング済みのモデルを使用して [StartEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/dg/API_StartEntitiesDetectionJob.html) を使用する場合は、このことの影響はなく、変更を行う必要はありません。

以下のポリシー例には、**古い**リファレンスが含まれています。

```
{
    "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"
}
```

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"
}
```

# AWS Amazon Comprehend の マネージドポリシー
<a name="security-iam-awsmanpol"></a>



ユーザー、グループ、ロールにアクセス許可を追加するには、自分でポリシーを記述するよりも AWS 管理ポリシーを使用する方が簡単です。チームに必要な権限のみを提供する [IAM カスタマーマネージドポリシーを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)には時間と専門知識が必要です。すぐに開始するには、 AWS マネージドポリシーを使用できます。これらのポリシーは、一般的なユースケースをターゲット範囲に含めており、 AWS アカウントで利用できます。 AWS 管理ポリシーの詳細については、*IAM ユーザーガイド*の「 [AWS 管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

AWS サービスは、 AWS 管理ポリシーを維持および更新します。 AWS 管理ポリシーのアクセス許可は変更できません。サービスでは新しい機能を利用できるようにするために、 AWS マネージドポリシーに権限が追加されることがあります。この種類の更新はポリシーがアタッチされている、すべてのアイデンティティ (ユーザー、グループおよびロール) に影響を与えます。新しい機能が立ち上げられた場合や、新しいオペレーションが使用可能になった場合に、各サービスが AWS マネージドポリシーを更新する可能性が最も高くなります。サービスは AWS 管理ポリシーからアクセス許可を削除しないため、ポリシーの更新によって既存のアクセス許可が損なわれることはありません。

さらに、 は、複数のサービスにまたがるジョブ関数の マネージドポリシー AWS をサポートしています。例えば、**ReadOnlyAccess** AWS 管理ポリシーは、すべての AWS サービスとリソースへの読み取り専用アクセスを提供します。サービスが新機能を起動すると、 は新しいオペレーションとリソースの読み取り専用アクセス許可 AWS を追加します。ジョブ機能のポリシーの一覧および詳細については、「*IAM ユーザーガイド*」の「[AWS のジョブ機能のマネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)」を参照してください。









## AWS マネージドポリシー: ComprehendFullAccess
<a name="security-iam-awsmanpol-ComprehendFullAccess"></a>

このポリシーは、トピックモデリングジョブの実行を含む、Amazon Comprehend リソースへのフルアクセスを付与します。このポリシーでは、Amazon S3 バケットと IAM ロールのリスト権限と取得権限も付与されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "comprehend:*",
                "iam:GetRole",
                "iam:ListRoles",
                "s3:GetBucketLocation",
                "s3:ListAllMyBuckets",
                "s3:ListBucket"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS マネージドポリシー: ComprehendReadOnly
<a name="security-iam-awsmanpol-ComprehendReadOnly"></a>

このポリシーは、以下を**除く**すべての Amazon Comprehend アクションを実行する読み取り専用アクセスを付与します。
+  `StartDominantLanguageDetectionJob` 
+  `StartEntitiesDetectionJob`
+  `StartKeyPhrasesDetectionJob`
+  `StartSentimentDetectionJob`
+  `StartTargetedSentimentDetectionJob`
+  `StartTopicsDetectionJob`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "comprehend:BatchDetectDominantLanguage",
                "comprehend:BatchDetectEntities",
                "comprehend:BatchDetectKeyPhrases",
                "comprehend:BatchDetectSentiment",
                "comprehend:BatchDetectSyntax",
                "comprehend:ClassifyDocument",
                "comprehend:ContainsPiiEntities",
                "comprehend:DescribeDocumentClassificationJob",
                "comprehend:DescribeDocumentClassifier",
                "comprehend:DescribeDominantLanguageDetectionJob",
                "comprehend:DescribeEndpoint",
                "comprehend:DescribeEntitiesDetectionJob",
                "comprehend:DescribeEntityRecognizer",
                "comprehend:DescribeKeyPhrasesDetectionJob",
                "comprehend:DescribePiiEntitiesDetectionJob",
                "comprehend:DescribeResourcePolicy",
                "comprehend:DescribeSentimentDetectionJob",
                "comprehend:DescribeTargetedSentimentDetectionJob",
                "comprehend:DescribeTopicsDetectionJob",
                "comprehend:DetectDominantLanguage",
                "comprehend:DetectEntities",
                "comprehend:DetectKeyPhrases",
                "comprehend:DetectPiiEntities",
                "comprehend:DetectSentiment",
                "comprehend:DetectSyntax",
                "comprehend:ListDocumentClassificationJobs",
                "comprehend:ListDocumentClassifiers",
                "comprehend:ListDocumentClassifierSummaries",
                "comprehend:ListDominantLanguageDetectionJobs",
                "comprehend:ListEndpoints",
                "comprehend:ListEntitiesDetectionJobs",
                "comprehend:ListEntityRecognizers",
                "comprehend:ListEntityRecognizerSummaries",
                "comprehend:ListKeyPhrasesDetectionJobs",
                "comprehend:ListPiiEntitiesDetectionJobs",
                "comprehend:ListSentimentDetectionJobs",
                "comprehend:ListTargetedSentimentDetectionJobs",
                "comprehend:ListTagsForResource",
                "comprehend:ListTopicsDetectionJobs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

## AWS マネージドポリシーに対する Amazon Comprehend の更新
<a name="security-iam-awsmanpol-updates"></a>



このサービスがこれらの変更の追跡を開始してからの Amazon Comprehend の AWS マネージドポリシーの更新に関する詳細を表示します。このページへの変更に関する自動アラートについては、Amazon Comprehend の「[ドキュメント履歴](https://docs.aws.amazon.com/comprehend/latest/dg/doc-history.html)」ページで RSS フィードにサブスクライブしてください。




| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
|  [「ComprehendReadOnly」](#security-iam-awsmanpol-ComprehendReadOnly) — 既存のポリシーへの更新  |  Amazon Comprehend は、ComprehendReadOnly ポリシーの `comprehend:DescribeTargetedSentimentDetectionJob` および `comprehend:ListTargetedSentimentDetectionJobs` アクションを許可するようになりました  | 2022 年 3 月 30 日 | 
|  [「ComprehendReadOnly」](#security-iam-awsmanpol-ComprehendReadOnly) — 既存のポリシーへの更新  |  Amazon Comprehend では、ComprehendReadOnly ポリシーで `comprehend:DescribeResourcePolicy` アクションが許可されるようになりました。  | 2022 年 2 月 2 日 | 
|  [「ComprehendReadOnly」](#security-iam-awsmanpol-ComprehendReadOnly) — 既存のポリシーへの更新  |  Amazon Comprehend は、ComprehendReadOnly ポリシーの `ListDocumentClassifierSummaries` および `ListEntityRecognizerSummaries` アクションを許可するようになりました  | 2021 年 9 月 21 日 | 
|  [「ComprehendReadOnly」](#security-iam-awsmanpol-ComprehendReadOnly) — 既存のポリシーへの更新  | Amazon Comprehend では、ComprehendReadOnly ポリシーで ContainsPIIEntities アクションが許可されるようになりました。 | 2021 年 3 月 26 日 | 
|  Amazon Comprehend が変更の追跡を開始しました  |  Amazon Comprehend は、 AWS 管理ポリシーの変更の追跡を開始しました。  | 2021 年 3 月 1 日 | 

# Amazon Comprehend のアイデンティティとアクセスのトラブルシューティング
<a name="security_iam_troubleshoot"></a>

以下の情報は、Amazon Comprehend と IAM の使用時に発生する可能性がある一般的な問題の診断と修正に役立ちます。

**Topics**
+ [Amazon Comprehend でアクションを実行する権限がない](#security_iam_troubleshoot-no-permissions)
+ [iam:PassRole を実行する権限がありません](#security_iam_troubleshoot-passrole)
+ [自分の 以外のユーザーに Amazon Comprehend リソース AWS アカウント へのアクセスを許可したい](#security_iam_troubleshoot-cross-account-access)

## Amazon Comprehend でアクションを実行する権限がない
<a name="security_iam_troubleshoot-no-permissions"></a>

アクションを実行する権限がないというエラーが表示された場合は、そのアクションを実行できるようにポリシーを更新する必要があります。

以下のエラー例は、`mateojackson` IAM ユーザーがコンソールを使用して架空の `my-example-widget` リソースに関する詳細情報を表示しようとしているが、架空の `comprehend:GetWidget` 権限がないという場合に発生します。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: comprehend:GetWidget on resource: my-example-widget
```

この場合、Mateo のポリシーでは、`my-example-widget` アクションを使用して `comprehend:GetWidget` リソースにアクセスすることを許可するように更新する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン認証情報を提供した担当者が管理者です。

## iam:PassRole を実行する権限がありません
<a name="security_iam_troubleshoot-passrole"></a>

`iam:PassRole` アクションを実行する権限がないというエラーが表示された場合は、Amazon Comprehend にロールを渡すことを許可するようにポリシーを更新する必要があります。

一部の AWS のサービス では、新しいサービスロールまたはサービスにリンクされたロールを作成する代わりに、そのサービスに既存のロールを渡すことができます。そのためには、サービスにロールを渡すアクセス許可が必要です。

次の例では、`marymajor` という名前の IAM ユーザーがコンソールを使用して Amazon Comprehend でアクションを実行しようとした際に、エラーが発生しています。ただし、このアクションをサービスが実行するには、サービスロールから付与されたアクセス許可が必要です。Mary には、ロールをサービスに渡すアクセス許可がありません。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

この場合、Mary のポリシーを更新してメアリーに `iam:PassRole` アクションの実行を許可する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン資格情報を提供した担当者が管理者です。

## 自分の 以外のユーザーに Amazon Comprehend リソース AWS アカウント へのアクセスを許可したい
<a name="security_iam_troubleshoot-cross-account-access"></a>

他のアカウントのユーザーや組織外の人が、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。

詳細については、以下を参照してください:
+ Amazon Comprehend がこれらの機能をサポートしているかどうかについては、「[Amazon Comprehend と IAM 連携の仕組み](security_iam_service-with-iam.md)」を参照してください。
+ 所有 AWS アカウント している のリソースへのアクセスを提供する方法については、[「IAM ユーザーガイド」の「所有 AWS アカウント している別の の IAM ユーザーへのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)」を参照してください。 **
+ リソースへのアクセスをサードパーティーに提供する方法については AWS アカウント、*IAM ユーザーガイド*の[「サードパーティー AWS アカウント が所有する へのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)」を参照してください。
+ ID フェデレーションを介してアクセスを提供する方法については、*IAM ユーザーガイド* の [外部で認証されたユーザー (ID フェデレーション) へのアクセスの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) を参照してください。
+ クロスアカウントアクセスにおけるロールとリソースベースのポリシーの使用方法の違いについては、「*IAM ユーザーガイド*」の「[IAM でのクロスアカウントのリソースへのアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)」を参照してください。

# を使用した Amazon Comprehend API コールのログ記録 AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon Comprehend は AWS CloudTrail、Amazon Comprehend のユーザー、ロール、または のサービスによって実行されたアクションを記録する AWS サービスである と統合されています。 Amazon Comprehend CloudTrail は、Amazon Comprehend の API コールをイベントとしてキャプチャします。キャプチャされるコールには、Amazon Comprehend コンソールからのコールと、Amazon Comprehend API オペレーションへのコードコールが含まれます。証跡を作成する場合は、Amazon Comprehend のイベントを含めた CloudTrail イベントの Amazon S3 バケットへの継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの **[イベント履歴]** で最新のイベントを表示できます。CloudTrail によって収集された情報を使用して、Amazon Comprehend に対して行われたリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエストが行われた日時、および追加の詳細を確認できます。

設定や有効化の方法など、CloudTrail の詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)」を参照してください。

## CloudTrail での Amazon Comprehend 情報
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail は、アカウントの作成 AWS アカウント 時に で有効になります。Amazon Comprehend でサポートされているイベントアクティビティが発生すると、そのアクティビティはイベント**履歴**の他の AWS サービスイベントとともに CloudTrail イベントに記録されます。で最近のイベントを表示、検索、ダウンロードできます AWS アカウント。詳細については、「[CloudTrail Event 履歴でのイベントの表示](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。

Amazon Comprehend のイベントなど AWS アカウント、 のイベントの継続的な記録については、証跡を作成します。*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで証跡を作成すると、証跡はすべての AWS リージョンに適用されます。証跡は、 AWS パーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集されたイベントデータをさらに分析して処理するように他の AWS サービスを設定できます。詳細については、次を参照してください: 
+ [追跡を作成するための概要](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail がサポートされているサービスと統合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ 「[CloudTrail の Amazon SNS 通知の設定](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)」
+ [複数のリージョンから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)および[複数のアカウントから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Amazon Comprehend は、CloudTrail ログファイルのイベントとして以下のアクションのログ付けをサポートします。
+  [BatchDetectDominantLanguage](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectDominantLanguage.html)
+  [BatchDetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectEntities.html)
+  [BatchDetectKeyPhrases](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectKeyPhrases.html)
+  [BatchDetectSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectSentiment.html)
+  [BatchDetectSyntax](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectSyntax.html)
+  [ClassifyDocument](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ClassifyDocument.html)
+  [CreateDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateDocumentClassifier.html)
+  [CreateEndpoint](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEndpoint.html)
+  [CreateEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEntityRecognizer.html)
+  [DeleteDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DeleteDocumentClassifier.html)
+  [DeleteEndpoint](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DeleteEndpoint.html)
+  [DeleteEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DeleteEntityRecognizer.html)
+  [DescribeDocumentClassificationJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeDocumentClassificationJob.html)
+  [DescribeDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeDocumentClassifier.html) 
+  [DescribeDominantLanguageDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeDominantLanguageDetectionJob.html) 
+  [DescribeEndpoint](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeEndpoint.html)
+  [DescribeEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeEntitiesDetectionJob.html) 
+  [DescribeEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeEntityRecognizer.html) 
+  [DescribeKeyPhrasesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeKeyPhrasesDetectionJob.html) 
+  [DescribePiiEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribePiiEntitiesDetectionJob.html) 
+  [DescribeSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeSentimentDetectionJob.html) 
+  [DescribeTargetedSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeTargetedSentimentDetectionJob.html) 
+  [DescribeTopicsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeTopicsDetectionJob.html) 
+  [DetectDominantLanguage](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectDominantLanguage.html)
+ [DetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectEntities.html)
+ [DetectKeyPhrases](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectKeyPhrases.html)
+ [DetectPiiEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectPiiEntities.html)
+ [DetectSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectSentiment.html)
+ [DetectSyntax](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectSyntax.html)
+  [ListDocumentClassificationJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListDocumentClassificationJobs.html) 
+  [ListDocumentClassifiers](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListDocumentClassifiers.html) 
+  [ListDominantLanguageDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListDominantLanguageDetectionJobs.html) 
+  [ListEndpoints](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListEndpoints.html)
+  [ListEntitiesDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListEntitiesDetectionJobs.html) 
+  [ListEntityRecognizers](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListEntityRecognizers.html) 
+  [ListKeyPhrasesDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListKeyPhrasesDetectionJobs.html) 
+  [ListPiiEntitiesDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListPiiEntitiesDetectionJobs.html) 
+  [ListSentimentDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListSentimentDetectionJobs.html) 
+  [ListTargetedSentimentDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListTargetedSentimentDetectionJobs.html) 
+  [ListTagsForResource](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListTagsForResource.html) 
+  [ListTopicsDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListTopicsDetectionJobs.html) 
+  [StartDocumentClassificationJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDocumentClassificationJob.html) 
+  [StartDominantLanguageDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDominantLanguageDetectionJob.html) 
+  [StartEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartEntitiesDetectionJob.html) 
+  [StartKeyPhrasesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartKeyPhrasesDetectionJob.html) 
+  [StartPiiEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartPiiEntitiesDetectionJob.html) 
+  [StartSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartSentimentDetectionJob.html)
+  [StartTargetedSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartTargetedSentimentDetectionJob.html)
+  [StartTopicsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartTopicsDetectionJob.html) 
+  [StopDominantLanguageDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopDominantLanguageDetectionJob.html) 
+  [StopEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopEntitiesDetectionJob.html) 
+  [StopKeyPhrasesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopKeyPhrasesDetectionJob.html) 
+  [StopPiiEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopPiiEntitiesDetectionJob.html) 
+  [StopSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopSentimentDetectionJob.html) 
+  [StopTargetedSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopTargetedSentimentDetectionJob.html) 
+  [StopTrainingDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopTrainingDocumentClassifier.html) 
+  [StopTrainingEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopTrainingEntityRecognizer.html)
+  [TagResource](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_TagResource.html)
+  [UntagResource](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_UntagResource.html)
+  [UpdateEndpoint](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_UpdateEndpoint.html)

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます。
+ リクエストが、ルートユーザーの認証情報で行われたかどうか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「[CloudTrail userIdentity エレメント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)」を参照してください。

## 例: Amazon Comprehend ログファイルのエントリ
<a name="understanding-service-name-entries"></a>

 「トレイル」は、指定した Amazon S3 バケットにイベントをログファイルとして配信するように設定できます。CloudTrail のログファイルは、単一か複数のログエントリを含みます。イベントは、任意の出典からの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストパラメータなどに関する情報が含まれます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、特定の順序では表示されません。

以下の例は、`ClassifyDocument` アクションを示す CloudTrail ログエントリです。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AROAICFHPEXAMPLE",
        "arn": "arn:aws:iam::12345678910:user/myadmin2",
        "accountId": "12345678910",
        "accessKeyId": "ASIA3VZEXAMPLE",
        "sessionContext": {
            "sessionIssuer": {},
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-10-19T14:22:09Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2023-10-19T17:31:20Z",
    "eventSource": "comprehend.amazonaws.com",
    "eventName": "ClassifyDocument",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "3.21.185.237",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/115.0",
    "requestParameters": null,
    "responseElements": null,
    "requestID": "fd916e66-caac-46c9-a1fc-81a0ef33e61b",
    "eventID": "535ca22b-b3a3-4c13-b2c5-bf51ab082794",
    "readOnly": false,
    "resources": [
        {
            "accountId": "12345678910",
            "type": "AWS::Comprehend::DocumentClassifierEndpoint",
            "ARN": "arn:aws:comprehend:us-east-2:12345678910:document-classifier-endpoint/endpointExample"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "12345678910"
}
```

# Amazon Comprehend のコンプライアンス検証
<a name="comp-compliance"></a>

サードパーティーの監査人は、さまざまな AWS コンプライアンスプログラムの一環として Amazon Comprehend のセキュリティとコンプライアンスを評価します。このプログラムには、PCI、FedRAMP、HIPAA などがあります。を使用して、サードパーティーの監査レポートをダウンロードできます AWS Artifact。詳細については、[AWS 「アーティファクトでのレポートのダウンロード](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)」を参照してください。



Amazon Comprehend の使用時におけるユーザーのコンプライアンス責任は、データの機密性、会社のコンプライアンス目的、および適用される法律と規制に応じて異なります。 AWS は、コンプライアンスに役立つ以下のリソースを提供しています。
+ [セキュリティとコンプライアンスのクイックスタートガイド](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance) – これらのデプロイガイドでは、アーキテクチャ上の考慮事項について説明し、セキュリティとコンプライアンスに重点を置いたベースライン環境をデプロイする手順について説明します AWS。
+ [HIPAA セキュリティとコンプライアンスのためのアーキテクチャホワイトペーパー ](https://docs.aws.amazon.com/pdfs/whitepapers/latest/architecting-hipaa-security-and-compliance-on-aws/architecting-hipaa-security-and-compliance-on-aws.pdf) – このホワイトペーパーでは、企業が AWS を使用して HIPAA 準拠のアプリケーションを作成する方法について説明します。
+ [AWS コンプライアンスリソース](https://aws.amazon.com/compliance/resources/) – このワークブックとガイドのコレクションは、お客様の業界や地域に適用される場合があります。
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) – この AWS サービスは、リソース設定が内部プラクティス、業界ガイドライン、および規制にどの程度準拠しているかを評価します。
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) – この AWS サービスは、 内のセキュリティ状態を包括的に把握 AWS し、セキュリティ業界標準とベストプラクティスへの準拠を確認するのに役立ちます。

特定のコンプライアンスプログラムの対象となる AWS サービスのリストについては、[AWS 「コンプライアンスプログラムによる対象範囲内のサービス](https://aws.amazon.com/compliance/services-in-scope/)」を参照してください。一般的な情報については、「[AWS コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)」を参照してください。

# Amazon Comprehend における耐障害性
<a name="comp-disaster-recovery-resiliency"></a>

 AWS グローバルインフラストラクチャは、 AWS リージョン とアベイラビリティーゾーンを中心に構築されています。 AWS リージョン は、低レイテンシー、高スループット、高度に冗長なネットワークで接続された、物理的に分離および分離された複数のアベイラビリティーゾーンを提供します。アベイラビリティーゾーンでは、アベイラビリティーゾーン間で中断せずに、自動的にフェイルオーバーするアプリケーションとデータベースを設計および運用することができます。アベイラビリティーゾーンは、従来の単一または複数のデータセンターインフラストラクチャよりも可用性、耐障害性、およびスケーラビリティが優れています。

とアベイラビリティーゾーンの詳細については、 AWS リージョン [AWS 「 グローバルインフラストラクチャ](https://aws.amazon.com/about-aws/global-infrastructure/)」を参照してください。

# Amazon Comprehend におけるインフラストラクチャセキュリティ
<a name="comp-infrastructure-security"></a>

マネージドサービスである Amazon Comprehend は、 AWS グローバルネットワークセキュリティで保護されています。 AWS セキュリティサービスと がインフラストラクチャ AWS を保護する方法については、[AWS 「 クラウドセキュリティ](https://aws.amazon.com/security/)」を参照してください。インフラストラクチャセキュリティのベストプラクティスを使用して AWS 環境を設計するには、*「Security Pillar AWS Well‐Architected Framework*」の[「Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)」を参照してください。

 AWS 公開された API コールを使用して、ネットワーク経由で Amazon Comprehend にアクセスします。クライアントは次をサポートする必要があります。
+ Transport Layer Security (TLS)。TLS 1.2 が必須で、TLS 1.3 をお勧めします。
+ DHE (楕円ディフィー・ヘルマン鍵共有) や ECDHE (楕円曲線ディフィー・ヘルマン鍵共有) などの完全前方秘匿性 (PFS) による暗号スイート。これらのモードは Java 7 以降など、ほとんどの最新システムでサポートされています。

また、リクエストにはアクセスキー ID と、IAM プリンシパルに関連付けられているシークレットアクセスキーを使用して署名する必要があります。または、[AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) を使用して、一時的なセキュリティ認証情報を生成し、リクエストに署名することもできます。