

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

# AWS HealthScribe の保管時のデータ暗号化
<a name="health-scribe-encryption"></a>

デフォルトでは、 AWS HealthScribe は保管時の暗号化を提供し、 AWS HealthScribe managed AWS Key Management Service (AWS KMS) キーを使用して顧客の機密データを保護します。デフォルトでは、保管中のデータを暗号化することで、機密データの保護に伴う運用のオーバーヘッドと複雑な作業を軽減できます。また、セキュリティを重視したアプリケーションを構築することで、暗号化のコンプライアンスと規制の厳格な要件を満たすことができます。 AWS HealthScribe 文字起こしジョブを作成するとき、またはストリームを開始するときに、カスタマーマネージドキーを指定できます。これにより、暗号化に 2 番目のレイヤーが追加されます。
+ **AWS HealthScribe マネージド AWS KMS キー** — AWS HealthScribe はデフォルトで AWS HealthScribe managed AWS Key Management Service (AWS KMS) キーを使用して、中間ファイルを自動的に暗号化します。この暗号化レイヤーを無効にしたり、別の暗号化タイプを選択したりすることはできません。キーは表示、管理、使用することはできず、その使用を監査することもできません。ただし、データを暗号化するキーを保護するためのアクションの実施やプログラムの変更を行う必要はありません。
+ **カスタマーマネージドキー** — AWS HealthScribe は、作成、所有、管理する対称カスタマーマネージドキーの使用をサポートし、既存の AWS 所有の暗号化に 2 番目の暗号化レイヤーを追加します。この暗号化層はユーザーが完全に制御できるため、次のようなタスクを実行できます。
  + キーポリシーの策定と維持
  +  IAM ポリシーと権限の確立と維持
  + キーポリシーの有効化と無効化
  + キー暗号化マテリアルのローテーション
  +  タグを追加する
  + キーエイリアスの作成
  + 削除のためのキースケジューリング

  詳細については、「 AWS Key Management Service デベロッパーガイド」の[「カスタマーマネージドキー](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#customer-cmk)」を参照してください。

**注記**  
AWS HealthScribe は、個人を特定できるデータを無償で保護するために AWS、所有キーを使用して保管時の暗号化を自動的に有効にします。ただし、カスタマーマネージドキーの使用には AWS KMS 料金が適用されます。料金の詳細については、「[AWS Key Management Service の料金](https://aws.amazon.com//kms/pricing/)」を参照してください。  
 詳細については AWS KMS、[「 とは AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html)」を参照してください。

**Topics**
+ [カスタマーマネージドキーの作成](health-scribe-encryption-customer.md)
+ [AWS HealthScribe のカスタマーマネージドキーの指定](#health-scribe-encryption-managed)
+ [AWS KMS 暗号化コンテキスト](#health-scribe-encryption-context)
+ [AWS HealthScribe の暗号化キーのモニタリング](#hscribe-monitoring-keys)

## AWS HealthScribe のカスタマーマネージドキーの指定
<a name="health-scribe-encryption-managed"></a>

 カスタマーマネージドキーは、文字起こしジョブまたはストリーミングの 2 番目のレイヤー暗号化として指定できます。
+ 文字起こしジョブの場合は、[StartMedicalScribeJob](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_StartMedicalScribeJob.html) API オペレーションの [OutputEncryptionKMSKeyId](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_StartMedicalScribeJob.html#transcribe-StartMedicalScribeJob-request-OutputEncryptionKMSKeyId) でキーを指定します。
+ ストリーミングの場合は、[MedicalScribeConfigurationEvent](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_streaming_MedicalScribeEncryptionSettings.html) の [MedicalScribeEncryptionSettings](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_streaming_MedicalScribeConfigurationEvent.html) でキーを指定します。

## AWS KMS 暗号化コンテキスト
<a name="health-scribe-encryption-context"></a>

 AWS KMS 暗号化コンテキストは、プレーンテキストの非シークレットキーと値のペアのマップです。このマップは、暗号化コンテキストペアと呼ばれる追加の認証済みデータを表し、データにセキュリティレイヤーを追加します。 AWS HealthScribe では、お客様が指定した Amazon S3 バケットへの AWS HealthScribe 出力を暗号化するために対称暗号化キーが必要です。[詳細については、「 AWS KMSの非対称キー」を参照してください](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html)。

 暗号化コンテキストペアを作成するときは、機密情報を含め*ない*でください。暗号化コンテキストはシークレットではなく、 CloudTrail ログ内のプレーンテキストで表示されます (これを使用して暗号化オペレーションを識別および分類できます）。暗号化コンテキストのキーと値には、アンダースコア (`_`)、ダッシュ (`-`)、スラッシュ (`/`、`\`) 、コロン (`:`) などの特殊文字を含めることができます。

**ヒント**  
 暗号化コンテキストペアの値を暗号化されるデータに関連付けると便利です。必須ではありませんが、ファイル名、ヘッダー値、暗号化されていないデータベースフィールドなど、暗号化されたコンテンツに関連する機密性のないメタデータを使用することをお勧めします。  
 API で出力暗号化を使用するには、[StartMedicalScribeJob](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_StartMedicalScribeJob.html) オペレーションで [KMSEncryptionContext](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_StartMedicalScribeJob.html#transcribe-StartMedicalScribeJob-request-KMSEncryptionContext) パラメータを設定します。出力暗号化オペレーションの暗号化コンテキストを提供するには、[OutputEncryptionKMSKeyId](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_StartMedicalScribeJob.html#transcribe-StartMedicalScribeJob-request-OutputEncryptionKMSKeyId) パラメータが対称 AWS KMS キー ID を参照する必要があります。  
ストリーミングでは、[MedicalScribeConfigurationEvent](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_streaming_MedicalScribeConfigurationEvent.html) の [MedicalScribeEncryptionSettings](https://docs.aws.amazon.com//transcribe/latest/APIReference/API_streaming_MedicalScribeEncryptionSettings.html) で `KmsEncryptionContext` のキーと値のペアを指定します。  
 IAM ポリシーで[AWS KMS 条件キー](https://docs.aws.amazon.com//kms/latest/developerguide/policy-conditions.html#conditions-kms)を使用して、暗号化[オペレーションのリクエストで使用された暗号化コンテキストに基づいて、対称暗号化](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#cryptographic-operations) AWS KMS キーへのアクセスを制御できます。暗号化コンテキストポリシーの例については、「[AWS KMS 暗号化コンテキストポリシー](https://docs.aws.amazon.com//transcribe/latest/dg/security_iam_id-based-policy-examples.html#kms-context-policy)」を参照してください。  
 暗号化コンテキストの使用は任意ですが、推奨されています。詳細については、「[暗号化コンテキスト](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#encrypt_context)」を参照してください。

### AWS HealthScribe 暗号化コンテキスト
<a name="hscribe-context-details"></a>

AWS HealthScribe は、すべての暗号化オペレーションで同じ AWS Key Management Service 暗号化コンテキストを使用します。暗号化コンテキストは、任意のものにカスタマイズできる文字列から文字列へのマップです。

```
"encryptionContext": {
   "ECKey": "ECValue"
   ...
}
```

 AWS HealthScribe ストリームの場合、デフォルトのサービス生成の暗号化コンテキストは次のとおりです。このコンテキストは、指定した暗号化コンテキストの上に適用されます。

```
"encryptionContext": {
  "aws:<region>:transcribe:medical-scribe:session-id": "1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
```

 AWS HealthScribe 文字起こしジョブの場合、デフォルトのサービス生成の暗号化コンテキストは次のとおりです。このコンテキストは、指定した暗号化コンテキストの上に適用されます。

```
"encryptionContext": {
  "aws:<region>:transcribe:medical-scribe:job-name": "<job-name>",
  "aws:<region>:transcribe:medical-scribe:start-time-epoch-ms": "<job-start-time>"
}
```

暗号化コンテキストを指定しない場合、サービス生成の暗号化コンテキストのみがすべての AWS KMS 暗号化オペレーションに使用されます。

**暗号化コンテキストを使用した AWS HealthScribe のモニタリング**

対称カスタマーマネージドキーを使用して AWS HealthScribe で保管中のデータを暗号化する場合、監査レコードとログの暗号化コンテキストを使用して、カスタマーマネージドキーがどのように使用されているかを特定することもできます。暗号化コンテキストは、 AWS CloudTrail または CloudWatch Logs によって生成されたログにも表示されます。

**暗号化コンテキストを使用してカスタマーマネージドキーへのアクセスを制御する**

 対称カスタマーマネージドキー (CMK) へのアクセスを制御するための条件として、キーポリシーと IAM ポリシー内の暗号化コンテキストを使用することもできます。

 次に、特定の暗号化コンテキストのカスタマーマネージドキーへのアクセスを付与するキーポリシーステートメントの例を示します。このポリシーステートメントの条件では、暗号化コンテキストを指定する暗号化コンテキスト制約がグラントに必要です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessToResourceAccessRoleForMedicalScribe",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/{{ResourceAccessRole}}"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:GenerateDataKey*"
            ],
            "Resource": "arn:aws:kms:{{us-west-2}}:{{111122223333}}:key/{{KMS-Example-KeyId}}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:us-east-1:transcribe:medical-scribe:session-id": "{{1234abcd-12ab-34cd-56ef-123456SAMPLE}}",
                    "kms:EncryptionContext:{{ECKey}}": "{{ECValue}}"
                }
            }
        },
        {
            "Sid": "AllowAccessToResourceAccessRoleForDescribeKey",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/{{ResourceAccessRole}}"
            },
            "Action": "kms:DescribeKey",
            "Resource": "arn:aws:kms:{{us-west-2}}:{{111122223333}}:key/{{KMS-Example-KeyId}}"
        }
    ]
}
```

------

## AWS HealthScribe の暗号化キーのモニタリング
<a name="hscribe-monitoring-keys"></a>

 AWS HealthScribe で AWS Key Management Service カスタマーマネージドキーを使用する場合、 AWS CloudTrail または CloudWatch ログを使用して AWS HealthScribe が送信するリクエストを追跡できます AWS KMS。

次の例は、 AWS HealthScribe がカスタマーマネージドキーをどのように使用するかをモニタリングするために使用できる CloudTrail Encrypt および Decrypt イベントです。

**暗号化**

```
{
   "eventVersion":"1.09",
   "userIdentity":{
      "type":"AssumedRole",
      "principalId":"AROAIGDTESTANDEXAMPLE:Sampleuser01",
      "arn":"arn:aws:sts::{{123456789012}}:assumed-role/Admin/Sampleuser01",
      "accountId":"{{123456789012}}",
      "accessKeyId":"AKIAIOSFODNN7EXAMPLE3",
      "sessionContext":{
         "sessionIssuer":{
            "type":"Role",
            "principalId":"AROAIGDTESTANDEXAMPLE:Sampleuser01",
            "arn":"arn:aws:sts::{{123456789012}}:assumed-role/Admin/Sampleuser01",
            "accountId":"{{123456789012}}",
            "userName":"Admin"
         },
         "attributes":{
            "creationDate":"2024-08-16T01:10:05Z",
            "mfaAuthenticated":"false"
         }
      },
      "invokedBy":"transcribe.streaming.amazonaws.com"
   },
   "eventTime":"2024-08-16T01:10:05Z",
   "eventSource":"kms.amazonaws.com",
   "eventName":"Encrypt",
   "awsRegion":"us-east-1",
   "sourceIPAddress":"transcribe.streaming.amazonaws.com",
   "userAgent":"transcribe.streaming.amazonaws.com",
   "requestParameters":{
      "encryptionContext":{
         "aws:us-east-1:transcribe:medical-scribe:session-id":"1234abcd-12ab-34cd-56ef-123456SAMPLE"
      },
      "encryptionAlgorithm":"SYMMETRIC_DEFAULT",
      "keyId":"{{1234abcd-12ab-34cd-56ef-1234567890ab}}"
   },
   "responseElements":null,
   "requestID":"cbe0ac33-8cca-49e5-9bb5-dc2b8dfcb389",
   "eventID":"1b9fedde-aa96-48cc-9dd9-a2cce2964b3c",
   "readOnly":true,
   "resources":[
      {
         "accountId":"{{123456789012}}",
         "type":"AWS::KMS::Key",
         "ARN":"arn:aws:kms:us-west-2:{{123456789012}}:key/{{1234abcd-12ab-34cd-56ef-123456SAMPLE}}"
      }
   ],
   "eventType":"AwsApiCall",
   "managementEvent":true,
   "recipientAccountId":"{{123456789012}}",
   "eventCategory":"Management"
}
```

**Decrypt**

```
{
   "eventVersion":"1.09",
   "userIdentity":{
      "type":"AssumedRole",
      "principalId":"AROAIGDTESTANDEXAMPLE:Sampleuser01",
      "arn":"arn:aws:sts::{{123456789012}}:assumed-role/Admin/Sampleuser01",
      "accountId":"{{123456789012}}",
      "accessKeyId":"AKIAIOSFODNN7EXAMPLE3",
      "sessionContext":{
         "sessionIssuer":{
            "type":"Role",
            "principalId":"AROAIGDTESTANDEXAMPLE:Sampleuser01",
            "arn":"arn:aws:sts::{{123456789012}}:assumed-role/Admin/Sampleuser01",
            "accountId":"{{123456789012}}",
            "userName":"Admin"
         },
         "attributes":{
            "creationDate":"2024-08-16T20:47:04Z",
            "mfaAuthenticated":"false"
         }
      },
      "invokedBy":"transcribe.streaming.amazonaws.com"
   },
   "eventTime":"2024-08-16T20:47:04Z",
   "eventSource":"kms.amazonaws.com",
   "eventName":"Decrypt",
   "awsRegion":"us-east-1",
   "sourceIPAddress":"transcribe.streaming.amazonaws.com",
   "userAgent":"transcribe.streaming.amazonaws.com",
   "requestParameters":{
      "keyId":"mrk-de27f019178f4fbf86512ab03ba860be",
      "encryptionAlgorithm":"SYMMETRIC_DEFAULT",
      "encryptionContext":{
         "aws:us-east-1:transcribe:medical-scribe:session-id":"1234abcd-12ab-34cd-56ef-123456SAMPLE"
      }
   },
   "responseElements":null,
   "requestID":"8b7fb865-48be-4e03-ac3d-e7bee3ba30a1",
   "eventID":"68b7a263-d410-4701-9e2b-20c196628966",
   "readOnly":true,
   "resources":[
      {
         "accountId":"{{123456789012}}",
         "type":"AWS::KMS::Key",
         "ARN":"arn:aws:kms:us-west-2:{{123456789012}}:key/{{1234abcd-12ab-34cd-56ef-123456SAMPLE}}"
      }
   ],
   "eventType":"AwsApiCall",
   "managementEvent":true,
   "recipientAccountId":"{{123456789012}}",
   "eventCategory":"Management"
}
```