靜態加密 - Amazon Connect

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

靜態加密

分類為 PII 的聯絡人資料或代表 Amazon Connect 存放之客戶內容的資料,會使用擁有的加密金鑰在靜態時 (亦即在放置、儲存或儲存到磁碟之前) 進行 AWS KMS AWS加密。如需 AWS KMS 金鑰的相關資訊,請參閱什麼是 AWS Key Management Service?AWS Key Management Service 開發人員指南中。非臨時儲存的聯絡資料會經過加密,因此從 KMS 金鑰產生的資料加密金鑰不會在 Amazon Connect 執行個體之間共用。

Amazon S3 伺服器端加密是用於加密對話錄製內容 (語音和聊天)。通話錄音、畫面錄製和文字記錄分兩個階段儲存:

  • 在聯絡期間和之後,但在傳遞之前,錄音會立即保留在 Amazon Connect 中。

  • 錄音會傳遞到 Amazon S3 儲存貯體。

透過建立執行個體時所設定的 KMS 金鑰,儲存在 Amazon S3 儲存貯體中的錄音和聊天文字記錄會受到保護。

Amazon 靜態 AppIntegrations 數據加密

當您使用客戶受管金鑰建立 DataIntegration 加密時,Amazon AppIntegrations 會將CreateGrant請求傳送至,以代表您建立授權 AWS KMS。中的授權 AWS KMS 用於授予 Amazon AppIntegrations 存取您帳戶中的 KMS 金鑰。

您可以隨時撤銷授權的存取權,或移除 Amazon AppIntegrations 對客戶受管金鑰的存取權。如果這樣做,Amazon 將 AppIntegrations 無法存取任何由客戶管理金鑰加密的資料,這會影響依賴該資料的操作。

Amazon AppIntegrations 處理的外部應用程式資料會使用您在組態期間提供的客戶受管金鑰在 S3 儲存貯體中進行靜態加密。整合組態資料會使用有時間限制且特定於使用者帳戶的金鑰進行靜態加密。

Amazon AppIntegrations 需要授權才能使用客戶受管金鑰進行下列內部作業:

  • 傳送GenerateDataKeyRequest AWS KMS 至以產生由客戶管理金鑰加密的資料金鑰。

  • 發送Decrypt請求以 AWS KMS 解密加密的數據密鑰,以便將其用於加密您的數據。

Amazon Connect Cases 靜態加密

Amazon Connect 案例儲存的所有客戶在案例欄位、案例註解、欄位說明和範本中提供的資料,都會使用 AWS Key Management Service (AWS KMS) 中儲存的加密金鑰進行靜態加密。

Amazon Connect 案例服務擁有、管理、監控和輪換加密金鑰 (亦即 AWS 擁有的金鑰),以符合高安全標準。在透過客戶帳戶中的預設匯流排提供案例事件串流 EventBridge 之前,案例事件串流的承載會暫時存放在 Amazon 中 (通常為幾秒鐘)。 EventBridge 還使 AWS 擁有的金鑰用加密靜態的整個有效載荷。

Amazon Connect Customer Profiles 靜態加密

儲存在 Amazon Connect Customer Profiles 中的所有使用者資料都會靜態加密。Amazon Connect 客戶設定檔靜態加密透過使用 AWS Key Management Service (AWS KMS) 中儲存的加密金鑰加密所有靜態資料,以提供增強的安全性。此功能協助降低了保護敏感資料所涉及的操作負擔和複雜性。您可以透過靜態加密,建立符合嚴格加密合規和法規要求,而且對安全性要求甚高的應用程式。

組織政策、行業或政府法規,以及合規要求可能會經常需要使用靜態加密來增加應用程式的資料安全性。與整合的客戶個人檔案 AWS KMS 以啟用其靜態加密策略。如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的 AWS Key Management Service 概念

建立新網域時,您必須提供服務用來加密傳輸中和靜態資料的 KMS 金鑰。客戶受管金鑰由您建立、擁有且管理。您可以完全控制客戶管理的金鑰 (AWS KMS 需付費)。

當您使用 AWS 命令列界面 (AWS CLI) 或 Amazon Connect Customer Profiles 加密 API 建立新的網域或設定檔物件類型,或切換現有資源上的加密金鑰時,您可以指定加密金鑰。當您選擇客戶受管金鑰時,Amazon Connect Customer Profiles 會為客戶受管金鑰建立授予,以授予其對客戶受管金鑰的存取權限。

AWS KMS 客戶管理的金鑰需支付費用。如需定價的詳細資訊,請參閱 AWS KMS 定價

Amazon Q in Connect 靜態加密

儲存在 Amazon Q in Connect 中的所有使用者資料都會使用儲存在 AWS Key Management Service中的加密金鑰進行靜態加密。如果您選擇性地提供客戶受管金鑰,則 Amazon Q in Connect 會使用此金鑰來加密儲存在 Amazon Q in Connect 搜尋索引之外的靜態知識內容。Connect 中的 Amazon Q 會針對每位客戶使用專用的搜尋索引,並使用 AWS 擁有的金鑰 儲存在中進行靜態加密 AWS Key Management Service。此外,您還可以使 CloudTrail 用 Connect API 中的 Amazon Q 來稽核任何資料存取。

AWS KMS 使用您提供的金鑰時會收取費用。如需定價的詳細資訊,請參閱 AWS KMS 定價

Amazon Connect Voice ID 靜態加密

Amazon Connect Voice ID 可儲存客戶的聲紋,這些聲紋無法進行反向設計以取得註冊客戶的語音或識別客戶。存放在 Amazon Connect Voice ID 中的使用者資料會靜態加密。建立新的 Voice ID 網域時,您必須提供客戶受管金鑰,以加密您的靜態資料。客戶受管金鑰由您建立、擁有且管理。您有金鑰的完整控制權。

您可以使用update-domain命令列介面 (AWS CLI) 或語音識別碼 API 中的 AWS 命令來更新UpdateDomain語音識別碼網域中的 KMS 金鑰。

當您變更 KMS 金鑰時,將觸發非同步程序,以使用新的 KMS 金鑰重新加密舊資料。完成此程序後,您網域的所有資料都會以新的 KMS 金鑰加密,您可以安全地淘汰舊金鑰。如需詳細資訊,請參閱UpdateDomain

Voice ID 會針對客戶受管金鑰建立授予,授予客戶受管金鑰的存取權。如需詳細資訊,請參閱 Amazon Connect Voice ID 如何在 AWS KMS中使用授予

以下是使用客戶受管金鑰靜態加密的資料清單:

  • 聲紋:註冊說話者和將詐騙者登記到系統時產生的聲紋。

  • 說話者和詐騙者音訊:用於註冊說話者和註冊詐騙者的音訊資料。

  • CustomerSpeakerID:客戶在將客戶註冊到語音 ID SpeakerId 時提供的。

  • 客戶提供的中繼資料:包括自由格式的字串,例如 Domain DescriptionDomain Name 以及 Job Name 等等。

AWS KMS 客戶管理的金鑰需支付費用。如需定價的詳細資訊,請參閱 AWS KMS 定價

Amazon Connect Voice ID 如何在 AWS KMS中使用授予

Amazon Connect Voice ID 需要授予,才能使用客戶受管金鑰。當您建立網域時,Voice ID 會將 see CreateGrant要求傳送給,代表您建立授權 AWS KMS。授予請求才能在下列內部操作中使用客戶受管金鑰:

  • 傳送DescribeKey AWS KMS 要求以驗證所提供的對稱客戶管理金鑰 ID 是否有效。

  • 傳送金GenerateData鑰要求至 KMS 金鑰,以建立用來加密物件的資料金鑰。

  • 發送解密請求 AWS KMS 以解密加密的數據密鑰,以便將其用於加密您的數據。

  • 在更新金鑰 AWS KMS 時傳送ReEncrypt要求,以使用新金鑰重新加密有限的資料集。

  • 使用 AWS KMS 金鑰將檔案存放在 S3 中以加密資料。

您可以隨時撤銷授予的存取權,或移除服務對客戶受管金鑰的存取權。如果您這麼做,Voice ID 將無法存取由客戶受管金鑰加密的任何資料,這會影響與該資料有關的所有操作,進而導致非同步工作流程中的 AccessDeniedException 錯誤和失敗。

Voice ID 的客戶受管的金鑰政策

金鑰政策會控制客戶自管金鑰的存取權。每個客戶受管金鑰都必須只有一個金鑰政策,其中包含決定誰可以使用金鑰及其使用方式的陳述式。在建立客戶自管金鑰時,可以指定金鑰政策。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的管理 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 會將加密內容繫結至加密的資料。若要解密資料,您必須在請求中包含相同的加密內容。

語音 ID 在所有密 AWS KMS 碼編譯操作中使用相同的加密內容,其中金鑰所在,值為資源 Amazon 資源名稱 (ARN) Amazon 資源名稱 (AR N)。aws:voiceid:domain:arn

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

您也可以在稽核記錄和記錄中使用加密內容,以識別客戶受管金鑰的使用方式。加密內容也會出現在 CloudTrail 或 Amazon 日誌產生的 CloudWatch 日誌中。

使用加密內容控制對客戶受管金鑰的存取

您也可以在金鑰政策和 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 的加密金鑰

當您將 AWS KMS 客戶受管金鑰與語音 ID 搭配使用時,您可以使用AWS CloudTrailAmazon CloudWatch Logs 來追蹤語音 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。