保管中の暗号化 - 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 は にCreateGrantリクエストを送信してユーザーに代わってグラント AppIntegrations を作成します 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 CLI) または Amazon Connect Customer Profiles Encryption を使用して AWS 、新しいドメインまたはプロファイルオブジェクトタイプを作成するとき、または既存のリソースの暗号化キーを切り替えるときに、暗号化キーを指定できます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 コマンドまたは音声 ID を使用してUpdateDomain、音声 ID ドメインの KMS キーを更新できますAPI。

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 は に See CreateGrantリクエストを送信することで、ユーザーに代わってグラントを作成します AWS KMS。このグラントは、以下の内部オペレーションでカスタマー管理キーを使用するために必要です。

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

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

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

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

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

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

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

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

以下は、カスタマーマネージドキーAPIsを使用してすべての Voice ID を呼び出すために必要なアクセス許可をユーザーに付与するキーポリシーの例です。

{ "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 によって生成されたログにも表示されます。

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

キーポリシーおよび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。