保管中の暗号化 - Amazon Connect

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

保管中の暗号化

PII として分類された問い合わせデータ、または Amazon Connect によって保存されている顧客コンテンツを表すデータは、 が所有する暗号化キーを使用して、保管時 (つまり、ディスクに格納、保存される前) に AWS KMS 暗号化されます AWS。 AWS KMS キーの詳細については、「 デベロッパーガイド」の「 とは AWS Key Management Service」を参照してください。 AWS Key Management Service 非一時ストレージの問い合わせデータは暗号化されるため、KMS キーから生成されたデータ暗号化キーは Amazon Connect インスタンス間で共有されません。

Amazon S3 のサーバー側の暗号化は、会話の録音 (音声とチャット) の暗号化に使用されます。通話録音、画面録画、トランスクリプトは次の 2 つのフェーズで保存されます。

  • 問い合わせ中および問い合わせ後 (配信される前) に Amazon Connect 内で中間的に保持された記録。

  • Amazon S3 バケットに配信された通話の記録。

Amazon S3 バケットに保存された記録およびチャットのトランスクリプトは、インスタンスの作成時に設定されている KMS  キーを使用して保護されます。

保管中の Amazon AppIntegrations データ暗号化

カスタマーマネージドキーで DataIntegration 暗号化された を作成すると、Amazon AppIntegrations は にCreateGrantリクエストを送信して、ユーザーに代わって許可を作成します AWS KMS。の許可 AWS KMS は、アカウントの KMS キー AppIntegrations へのアクセスを Amazon に許可するために使用されます。

権限へのアクセスを取り消すことも、Amazon がカスタマーマネージドキーに対して AppIntegrations 持つアクセスをいつでも削除することもできます。これを行うと、Amazon AppIntegrations はカスタマーマネージドキーによって暗号化されたデータにアクセスできず、そのデータに依存するオペレーションに影響します。

Amazon が AppIntegrations 処理する外部アプリケーションデータは、設定時に指定したカスタマーマネージドキーを使用して S3 バケットに保管時に暗号化されます。統合の設定に関するデータは、保管中、ユーザーアカウントに固有の期間限定キーを使用して暗号化されます。

Amazon AppIntegrations では、以下の内部オペレーションにカスタマーマネージドキーを使用する権限が必要です。

  • カスタマーマネージドキーで暗号化されたデータキーを生成する AWS KMS には、 GenerateDataKeyRequestに送信します。

  • 暗号化されたデータキー AWS KMS を復号するために にDecryptリクエストを送信し、データの暗号化に使用できます。

Amazon Connect Cases での保管時の暗号化

ケースフィールド、ケースコメント、Amazon Connect Cases に保存されているフィールドとテンプレートの説明に顧客が提供するデータはすべて、 AWS Key Management Service () に保存されている暗号化キーを使用して保管時に暗号化されますAWS KMS。

Amazon Connect Cases サービスは、高いセキュリティ基準を満たすために、暗号化キー (つまり、 AWS 所有のキー) を所有、管理、監視、ローテーションします。ケースイベントストリームのペイロードは、カスタマーアカウントのデフォルトバスを介して利用可能になる EventBridge 前に、一時的に (通常は数秒間) Amazon に保存されます。 EventBridge また、 は を使用して保管中のペイロード全体を暗号化します AWS 所有のキー。

Amazon Connect Customer Profiles での保管時の暗号化

Amazon Connect Customer Profiles に格納されたすべてのユーザーデータには、保管時の暗号化が行われます。Amazon Connect Customer Profiles の保管時の暗号化は、 AWS Key Management Service () に保存されている暗号化キーを使用して保管中のすべてのデータを暗号化することで、セキュリティを強化しますAWS KMS。この機能は、機密データの保護における負担と複雑な作業を減らすのに役立ちます。保管時に暗号化することで、セキュリティを重視したアプリケーションを構築して、暗号化のコンプライアンスと規制の厳格な要件を満たすことができます。

組織のポリシー、業界や政府の規制、またはコンプライアンス要件によって、アプリケーションのデータセキュリティを高めるために保管時の暗号化の使用が求められることがあります。Customer Profiles は と統合され AWS KMS 、保管時の暗号化戦略を有効にします。詳細については、「 AWS Key Management Service デベロッパーガイド」の「AWS Key Management Service コンセプト」を参照してください。

新しいドメインを作成する際には、サービスが転送中および保管時のデータを暗号化するために使用する、KMS キーを指定する必要があります。カスタマー管理キーは、ユーザーにより作成、所有、および管理されます。カスタマーマネージドキーを完全に制御できます (AWS KMS 料金が適用されます)。

新しいドメイン、またはプロファイルのオブジェクトタイプを作成する際は、暗号化キーを指定します。あるいは、 AWS Command Line Interface (AWS CLI)、または Amazon Connect Customer Profiles の暗号化 API を使用して、既存のリソースの暗号化キーを切り替えます。カスタマー管理キーを選択すると、Amazon Connect Customer Profiles によってカスタマー管理キーに関する許可が作成され、これにより、カスタマー管理キーへのアクセス許可が付与されます。

AWS KMS カスタマーマネージドキーには 料金が適用されます。料金の詳細については、「AWS KMS の料金」を参照してください。

Amazon Q の保存時の暗号化

Amazon Q in Connect で保存されているすべてのユーザーデータは、 AWS Key Management Serviceに保管された暗号化キーを使用して暗号化されています。必要に応じてカスタマー管理キーを指定すると、Amazon Q in Connect はこのキーを使用して、Amazon Q in Connect 検索インデックスの外に保存されているナレッジコンテンツを暗号化します。Amazon Q in Connect は、お客様ごとに専用の検索インデックスを使用し、 に保存 AWS 所有のキー されている を使用して保管時に暗号化されます AWS Key Management Service。さらに、 CloudTrail を使用して、Amazon Q in Connect APIs を使用してすべてのデータアクセスを監査できます。

AWS KMS 料金は、指定したキーを使用する場合に適用されます。料金の詳細については、「AWS KMS の料金」を参照してください。

Amazon Connect Voice ID での保管時の暗号化

Amazon Connect Voice ID は、登録済みの顧客の音声を取得したり顧客を識別したりするためのリバースエンジニアリングを防止する方法で、顧客の音声プリントを保存します。Amazon Connect Voice ID では、すべてのユーザーデータに対して保管時の暗号化が行われます。新しい Voice ID ドメインを作成する場合は、サービスが保管中のデータを暗号化するために使用する、カスタマー管理キーを指定する必要があります。カスタマー管理キーは、ユーザーにより作成、所有、および管理されます。ユーザーは、キーに関する完全なコントロール権を持ちます。

AWS コマンドラインインターフェイス (AWS CLI) の update-domain コマンドまたは Voice ID API を使用して、Voice ID ドメインの KMS UpdateDomain キーを更新できます。

KMS キーを変更すると、古いデータを新しい KMS キーで再暗号化するために非同期プロセスがトリガーされます。このプロセスが完了すると、ドメインのすべてのデータが新しい KMS キーで暗号化され、古いキーを安全に廃止できます。詳細については、「」を参照してくださいUpdateDomain

Voice ID によって、カスタマー管理キーに関するグラントが作成され、そのキーにアクセスできるようになります。詳細については、「Amazon Connect Voice ID による AWS KMSでの許可の使用」を参照してください。

カスタマー管理キーを使用して保管時に暗号化されるデータの一覧を次に示します。

  • ボイスプリント: システムへの通話者の登録や、不正通話の記録を行った際に生成されたボイスプリント。

  • 通話者と不正通話の音声:通話者の登録ならびに不正通話の記録に使用するオーディオデータ。

  • CustomerSpeakerID : Voice ID に顧客を登録 SpeakerId する際に提供された顧客。

  • 顧客提供のメタデータ: これには、Domain DescriptionDomain NameJob Name など自由形式の文字列が含まれます。

AWS KMS カスタマーマネージドキーには 料金が適用されます。料金の詳細については、「AWS KMS の料金」を参照してください。

Amazon Connect Voice ID による AWS KMSでの許可の使用

Amazon Connect Voice ID には、カスタマー管理キーを使用するための許可が必要です。ドメインを作成すると、Voice ID は、ビューCreateGrantリクエストを に送信して、ユーザーに代わって許可を作成します AWS KMS。このグラントは、以下の内部オペレーションでカスタマー管理キーを使用するために必要です。

  • DescribeKeyリクエストを送信 AWS KMS して、指定された対称カスタマーマネージドキー ID が有効であることを確認します。

  • GenerateDataキーリクエストを KMS キーに送信して、オブジェクトを暗号化するデータキーを作成します。

  • Decrypt リクエストを AWS KMS に送信して、暗号化されたデータキーを復号し、データの暗号化に使用できます。

  • キーが更新され AWS KMS 、新しいキーを使用して制限されたデータセットを再暗号化するときに、 にReEncryptリクエストを送信します。

  • AWS KMS キーを使用して S3 にファイルを保存し、データを暗号化します。

任意のタイミングで、許可に対するアクセス権を取り消したり、カスタマー管理キーに対するサービスからのアクセス権を削除したりできます。これを行うと、Voice ID はカスタマー管理キーによって暗号化されたすべてのデータにアクセスできなくなり、そのデータに依存するすべてのオペレーションが影響を受けます。結果的に、非同期ワークフローで AccessDeniedException エラーが発生しその処理に失敗します。

Voice ID でのカスタマー管理キーポリシー

キーポリシーは、カスタマー管理キーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマー管理キーを作成する際に、キーポリシーを指定することができます。詳細については、「AWS Key Management Service デベロッパーガイド」の「Managing access to KMS keys (KMS キーへのアクセスを管理する)」を参照してください。

次に、カスタマー管理キーを使用して Voice ID API を呼び出す際に必要となる権限をユーザーに付与する、キーポリシーの例を示します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow key access to Amazon Connect VoiceID.", "Effect": "Allow", "Principal": { "AWS": "your_user_or_role_ARN" }, "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "voiceid.region.amazonaws.com" ] } } } ] }

ポリシーでアクセス許可を指定する方法については、「 AWS Key Management Service デベロッパーガイド」の「IAM ポリシーステートメントでの KMS キーの指定」を参照してください。

キーアクセスのトラブルシューティングについては、「 AWS Key Management Service デベロッパーガイド」の「キーアクセスのトラブルシューティング」を参照してください。

Voice ID の暗号化コンテキスト

暗号化コンテキストは、データに関する追加のコンテキスト情報を含むキーと値のペアのオプションセットです。 は、認証された暗号化 をサポートする追加の認証済みデータとして暗号化コンテキスト AWS KMS を使用します。

データの暗号化リクエストに暗号化コンテキストを組み込むと、 AWS KMS は暗号化コンテキストを暗号化後のデータにバインドします。データを復号化するには、そのリクエストに (暗号化時と) 同じ暗号化コンテキストを含めます。

Voice ID は、すべての暗号化オペレーションで同じ AWS KMS 暗号化コンテキストを使用します。キーは aws:voiceid:domain:arnで、値はリソース Amazon リソースネーム (ARN) Amazon リソースネーム (ARN) です。

"encryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }

また、カスタマー管理キーがどのように使用されているかを特定するために、暗号化コンテキストを監査レコードおよびログで使用することもできます。暗号化コンテキストは、 CloudTrail または Amazon CloudWatch Logs によって生成されたログにも表示されます。

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

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

Amazon Connect Voice ID は、権限で暗号化コンテキスト制約を使用して、アカウントまたはリージョン内のカスタマーマネージドキーへのアクセスを制御します。権限の制約では、権限によって許可されるオペレーションで指定された暗号化コンテキストを使用する必要があります。

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

{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable CreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:"aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId"" } } }

Voice ID の暗号化キーのモニタリング

Voice ID で AWS KMS カスタマーマネージドキーを使用する場合、 AWS CloudTrailまたは Amazon CloudWatch Logs を使用して、Voice ID が に送信するリクエストを追跡できます AWS KMS。

次の例は、カスタマーマネージドキーによって暗号化されたデータにアクセスするために Voice ID によって呼び出される CreateGrant オペレーションのサンプル AWS CloudTrail イベントです。

CreateGrant
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA5STZEFPSZEOW7NP3X:SampleUser1", "arn": "arn:aws:sts::111122223333:assumed-role/SampleRole/SampleUser", "accountId": "111122223333", "accessKeyId": "AAAAAAA1111111EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA5STZEFPSZEOW7NP3X", "arn": "arn:aws:iam::111122223333:role/SampleRole", "accountId": "111122223333", "userName": "SampleUser" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-09-14T23:02:23Z", "mfaAuthenticated": "false" } }, "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-09-14T23:02:50Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "SampleIpAddress", "userAgent": "Example Desktop/1.0 (V1; OS)", "requestParameters": { "constraints": { "encryptionContextSubset": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" } }, "retiringPrincipal": "voiceid.amazonaws.com", "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "operations": [ "CreateGrant", "Decrypt", "DescribeKey", "GenerateDataKey", "GenerateDataKeyPair", "GenerateDataKeyPairWithoutPlaintext", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ], "granteePrincipal": "voiceid.amazonaws.com " }, "responseElements": { "grantId": "00000000000000000000000000000cce47be074a8c379ed39f22b155c6e86af82" }, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-13T15:12:39Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "keyId": "alias/sample-key-alias" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-12T23:59:34Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "encryptionContext": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "encryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "35d58aa1-26b2-427a-908f-025bf71241f6", "eventCategory": "Management" }
GenerateDataKeyWithoutPlaintext
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-13T00:26:41Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKeyWithoutPlaintext", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "encryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "keySpec": "AES_256" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "35d58aa1-26b2-427a-908f-025bf71241f6", "eventCategory": "Management" }
ReEncrypt
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-13T00:59:05Z", "eventSource": "kms.amazonaws.com", "eventName": "ReEncrypt", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "destinationEncryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "destinationKeyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "sourceEncryptionAlgorithm": "SYMMETRIC_DEFAULT", "sourceAAD": "SampleSourceAAAD+JXBmH+ZJNM73BfHE/dwQALXp7Sf44VwvoJOrLj", "destinationAAD": "SampleDestinationAAAD+JXBmH+ZJNM73BfHE/dwQALXp7Sf44VwvoJOrLj", "sourceEncryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "destinationEncryptionAlgorithm": "SYMMETRIC_DEFAULT", "sourceKeyId": "arn:aws:kms:us-west-2:111122223333:key/55555555-3333-2222-1111-EXAMPLE22222" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }, { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-7777777777777" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "35d58aa1-26b2-427a-908f-025bf71241f6", "eventCategory": "Management" }

アウトバウンドキャンペーン

アウトバウンドキャンペーンでは、Amazon Pinpoint から Amazon Connect に顧客の電話番号と関連属性が渡されます。Amazon Connect では、これらのデータはカスタマーマネージドキーまたは AWS 所有のキーのいずれかを使用して常に保管時の暗号化が行われます。アウトバウンドキャンペーンデータは、Amazon Connect インスタンス ID 別に分離され、インスタンス固有のキーで暗号化されます。

アウトバウンドキャンペーンへのオンボーディング時に、独自の顧客管理キーを指定できます。

サービスは、このカスタマー管理キーを使用して、保管中の機密データを暗号化します。カスタマー管理キーは、ユーザーにより作成、所有、および管理されます。ユーザーは、カスタマー管理キーに関する完全なコントロール権を持ちます。

独自のカスタマーマネージドキーを指定しない場合、アウトバウンドキャンペーンは Amazon Connect インスタンス AWS 所有のキー に固有の を使用して保管中の機密データを暗号化します。

AWS KMS カスタマーマネージドキーには 料金が適用されます。料金の詳細については、「AWS KMS の料金」を参照してください。

予測、容量計画、スケジュール

予測、キャパシティプラン、およびスケジュールを作成すると、すべてのデータは に保存されている暗号化キーを使用して保管時に AWS 所有のキー 暗号化されます AWS Key Management Service。