

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon Comprehend 中的 KMS 加密
<a name="kms-in-comprehend"></a>

Amazon Comprehend 可與 AWS Key Management Service (AWS KMS) 搭配使用，為您的資料提供增強加密。Amazon S3 已讓您在建立文字分析、主題建模或自訂 Amazon Comprehend 任務時加密輸入文件。與 整合 AWS KMS 可讓您加密儲存磁碟區中的 Start\* 和 Create\* 任務資料，並使用您自己的 KMS 金鑰來加密 Start\* 任務的輸出結果。

對於 AWS 管理主控台，Amazon Comprehend 會使用自己的 KMS 金鑰加密自訂模型。對於 AWS CLI，Amazon Comprehend 可以使用自己的 KMS 金鑰或提供的客戶受管金鑰 (CMK) 來加密自訂模型。

**使用 的 KMS 加密 AWS 管理主控台** 

使用 主控台時，有兩個加密選項可用：
+ 磁碟區加密
+ 輸出結果加密

**啟用磁碟區加密**

1.  在**任務設定**下，選擇**任務加密**選項。  
![中的 KMS 任務加密 AWS 管理主控台](http://docs.aws.amazon.com/zh_tw/comprehend/latest/dg/images/kms-1.png)

1. 選擇 KMS 客戶管理金鑰 (CMK) 來自您目前使用的帳戶，還是來自不同的帳戶。如果您想要使用目前帳戶中的金鑰，請從 **KMS 金鑰 ID 選擇金鑰**別名。如果您使用來自不同帳戶的金鑰，則必須輸入金鑰的 ARN。

**啟用輸出結果加密**

1.  在**輸出設定**下，選擇**加密**選項。  
![中的 KMS 輸出結果加密 AWS 管理主控台](http://docs.aws.amazon.com/zh_tw/comprehend/latest/dg/images/kms-2.png)

1. 選擇客戶受管金鑰 (CMK) 是來自您目前使用的 帳戶，還是來自不同的 帳戶。如果您想要使用目前帳戶中的金鑰，請從 **KMS 金鑰 ID 選擇金鑰 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 加密的輸入文件。`OutputDataConfig`如果原始任務已`KmsKeyId`提供 做為輸入，則 `Describe*`和 `List*` API 操作會傳回 `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 時，請以插入號 (^) 取代每一行結尾處的 Unix 接續字元斜線 (\\)。

**使用 API 操作的客戶受管金鑰 (CMK) 加密** 

Amazon Comprehend 自訂模型 API 操作 `CreateEntityRecognizer`、 `CreateDocumentClassifier`和 支援透過 使用客戶受`CreateEndpoint`管金鑰加密 AWS CLI。

您需要 IAM 政策，以允許委託人使用或管理客戶受管金鑰。這些金鑰是在政策陳述式的 `Resource`元素中指定。最佳實務是將客戶受管金鑰限制為只有委託人必須在政策陳述式中使用的金鑰。

下列 AWS CLI 範例會使用 [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 時，請以插入號 (^) 取代每一行結尾處的 Unix 接續字元斜線 (\\)。