本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 存储桶中。
存储在您 Amazon S3 存储桶中的录音/录制和聊天转录使用在创建实例时配置的 KMS 密钥进行保护。
有关 Amazon Connect 中的密钥管理的更多信息,请参阅 Amazon Connect 中的密钥管理。
内容
Amazon 静态 AppIntegrations 数据加密
当您创建使用客户托管密钥 DataIntegration 加密的时,Amazon AppIntegrations 会通过向发送CreateGrant
请求来代表您创建授权 AWS KMS。中的授权 AWS KMS 用于让 Amazon AppIntegrations 访问您账户中的 KMS 密钥。
您可以随时撤销对授予的访问权限,或者取消亚马逊 AppIntegrations 对客户托管密钥的访问权限。如果您这样做,Amazon 将 AppIntegrations 无法访问由客户托管密钥加密的任何数据,这会影响依赖该数据的操作。
Amazon AppIntegrations 处理的外部应用程序数据使用您在配置期间提供的客户托管密钥在 S3 存储桶中进行静态加密。使用有时间限制且特定于用户账户的密钥对集成配置数据进行静态加密。
亚马逊 AppIntegrations 要求获得授权,才能使用客户托管密钥进行以下内部操作:
-
发送
GenerateDataKeyRequest
AWS KMS 至,生成由您的客户托管密钥加密的数据密钥。 -
向发送解密加密数据密钥的
Decrypt
请求,以便这些密钥可用于加密您的数据。 AWS KMS
Amazon Connect Cases 静态加密
Amazon Connect 案例存储的案例字段、案例评论、字段描述和模板中的所有客户提供的数据均使用存储在 AWS Key Management Service (AWS KMS) 中的加密密钥进行静态加密。
Amazon Connect Cases 服务拥有、管理、监控和轮换加密密钥(即 AWS 拥有的密钥),以满足高安全标准。案例事件流的有效负载会暂时(通常为几秒钟)存储在 Amazon 中, EventBridge 然后通过客户账户中的默认总线提供。 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 的 Connect 静态加密
存储在 Amazon Q 的 Connect 中的所有用户数据均使用 AWS Key Management Service中存储的加密密钥进行静态加密。如果您选择提供客户托管密钥,Amazon Q 的 Connect 会使用它对静态存储于 Amazon Q 的 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 CLI) 中的update-domain
AWS 命令或语音 ID API 更新UpdateDomain语音 ID 域中的 KMS 密钥。
当您更改 KMS 密钥时,将触发一个异步过程,以使用新的 KMS 密钥重新加密旧数据。此过程完成后,您的所有域的数据都将使用新的 KMS 密钥进行加密,您可以放心地停用旧密钥。有关更多信息,请参阅 UpdateDomain。
Voice ID 会创建对客户托管密钥的授权,以授予其对该密钥的访问权限。有关更多信息,请参阅 Amazon Connect Voice ID 如何使用 AWS KMS中的授权。
以下是使用客户托管密钥进行静态加密的数据的列表:
-
声纹:当在系统中登记发言者和注册欺诈者时生成的声纹。
-
发言者和欺诈者音频:用于登记发言者和注册欺诈者的音频数据。
-
CustomerSpeakerId:客户在为客户注册语音 ID SpeakerId 时提供的信息。
-
客户提供的元数据:其中包括自由格式的字符串,例如
Domain
Description
、Domain Name
、Job Name
等。
AWS KMS 客户管理的密钥需要付费。有关定价的更多信息,请参阅 AWS KMS 定价
Amazon Connect Voice ID 如何使用 AWS KMS中的授权
Amazon Connect Voice ID 需要授权,才能使用客户托管密钥。创建域名时,Voice ID 会通过向发送查看CreateGrant请求来代表您创建授权 AWS KMS。需要该授权才能将客户托管密钥用于以下内部操作:
-
向发送DescribeKey请求 AWS KMS 以验证提供的对称客户托管密钥 ID 是否有效。
-
向 KMS 密钥发送GenerateDataKey请求以创建用于加密对象的数据密钥。
-
将 Decrypt 请求发送 AWS KMS 到以解密加密的数据密钥,以便它们可用于加密您的数据。
-
在更新密钥 AWS KMS 时向发送ReEncrypt请求,以便使用新密钥对有限的数据集进行重新加密。
-
使用 AWS KMS 密钥将文件存储在 S3 中以加密数据。
您可以随时撤销授予访问权限,或删除服务对客户托管密钥的访问权限。如果您这样做,Voice ID 将无法访问由客户托管密钥加密的任何数据,这样会影响依赖于该数据的所有操作,从而导致异步工作流中出现 AccessDeniedException
错误和故障。
适用于 Voice ID 的客户托管密钥政策
密钥政策控制对客户托管密钥的访问。每个客户托管式密钥必须只有一个密钥策略,其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时,可以指定密钥策略。有关更多信息,请参阅《AWS Key Management Service 开发人员指南》中的管理对 KMS 密钥的访问。
以下是密钥策略示例,该策略为用户提供了 APIs 使用客户管理的密钥拨打所有语音 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 将加密上下文绑定到加密的数据。要解密数据,您必须在请求中包含相同的加密上下文。
语音 ID 在所有 AWS KMS 加密操作中使用相同的加密上下文,其中密钥为aws:voiceid:domain:arn
,值为资源亚马逊资源名称 (ARN) Amazon 资源名称 (ARN) Amazon 资源名称 (AR N)。
"encryptionContext": {
"aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId"
}
您还可以在审核记录和日志中使用加密上下文来确定客户托管密钥的使用情况。加密上下文还会显示在 CloudTrail 或 Amazon Logs 生成的 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 CloudTrail或 Amazon CloudWatch Logs 来跟踪语音 ID 发送到的请求 AWS KMS。
以下示例是语音 ID 调用的CreateGrant
操作的示例 AWS CloudTrail 事件,用于访问由您的客户托管密钥加密的数据:
{
"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"
}
出站广告静态加密
出站广告系列存储客户的电话号码和相关属性。这些信息始终使用客户托管密钥或 AWS 自有密钥进行静态加密。数据由 Amazon Connect 实例 ID 分隔,并通过实例特定的密钥进行加密。
在加入出站广告系列时,您可以提供自己的客户托管密钥。
该服务使用您的客户管理的密钥对静态敏感数据进行加密。此密钥由您创建、拥有和完全管理,因此您可以完全控制其使用和安全性。
如果您不提供自己的客户托管密钥,则出站活动会使用专属于您的 Amazon Connect 实例的 AWS 自有密钥对静态敏感数据进行加密。您无法查看、管理、使用或审核 AWS 拥有的密钥。但是,您无需采取任何措施或更改任何程序来保护加密数据的密钥。 有关更多信息,请参阅《AWS Key Management Service 开发者指南》中的AWS 自有密钥。
AWS KMS 客户管理的密钥需要付费。有关定价的更多信息,请参阅 AWS KMS 定价
出站广告系列如何使用补助金 AWS KMS
出站广告活动需要获得授权才能使用您的客户托管密钥。当您使用 AWS 控制台或 StartInstanceOnboardingJob
API 加入出站广告系列时,出站广告系列会通过向发送CreateGrant
请求来代表您创建授权 AWS KMS。中的授权 AWS KMS 用于授予 Amazon Connect 出站广告系列服务相关角色访问您账户中 KMS 密钥的权限。
出站营销活动需要获得授权才能使用客户托管密钥进行以下内部操作:
-
向发送DescribeKey请求 AWS KMS 以验证提供的对称客户托管密钥 ID 是否有效。
-
向发送
GenerateDataKeyWithoutPlainText
请求 AWS KMS 以生成由您的客户托管密钥加密的数据密钥。 -
向发送解密加密数据密钥的
Decrypt
请求,以便这些密钥可用于加密您的数据。 AWS KMS
您可以随时撤消对授权的访问权限,也可以删除出站广告系列对客户托管密钥的访问权限。否则,出站营销活动将无法访问由客户托管密钥加密的任何数据,这会影响依赖该数据的操作。
出站活动的客户托管密钥政策
密钥政策控制对客户托管密钥的访问。每个客户托管式密钥必须只有一个密钥策略,其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时,可以指定密钥策略。有关更多信息,请参阅《AWS Key Management Service 开发人员指南》中的管理对 KMS 密钥的访问。
以下是密钥策略示例,该策略为用户提供了调用出站广告系列所需的权限 StartInstanceOnboardingJob,PutDialRequestBatch以及使用客户托管密钥的 PutOutboundRequestBatchAPI:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow key access to Amazon Connect outbound campaigns.",
"Effect": "Allow",
"Principal": {
"AWS": "your_user_or_role_ARN"
},
"Action": [
"kms:Decrypt",
"kms:CreateGrant"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": [
"connect-campaigns.<region>.amazonaws.com"
]
},
"StringEquals": {
"kms:EncryptionContext:aws:accountId": "111122223333",
"kms:EncryptionContext:aws:connect:instanceId": "sample instance id"
}
}
},
{
"Sid": "Allow direct access to key metadata to the account",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333:root"
]
},
"Action": [
"kms:Describe*"
],
"Resource": "*"
}
]
}
有关在策略中指定权限的信息,请参阅 AWS Key Management Service 开发人员指南中的在 IAM 策略声明中指定 KMS 密钥。
有关密钥访问疑难解答的信息,请参阅《 AWS Key Management Service 开发人员指南》中的密钥访问疑难解答。
出站活动加密上下文
加密上下文是一组可选的键值对,其中包含有关数据的其他上下文信息。 AWS KMS 使用加密上下文作为其他经过身份验证的数据来支持经过身份验证的加密。
在请求中包含加密上下文以加密数据时, AWS KMS 将加密上下文绑定到加密的数据。要解密数据,您必须在请求中包含相同的加密上下文。
出站活动在所有加密操作中使用相同的加密上下文,其中密钥为 aws: accoun AWS KMS tID 和 aws: connect: InstanceID,值为 aws 账户 ID 和 Connect 实例 ID。
"encryptionContext": {
"aws:accountId": "111122223333",
"aws:connect:instanceId": "sample instance id"
}
您还可以在审核记录和日志中使用加密上下文来确定客户托管密钥的使用情况。加密上下文还会显示在 CloudTrail 或 Amazon Logs 生成的 CloudWatch 日志中。
使用加密上下文控制对客户托管密钥的访问
您可以使用密钥政策和 IAM 策略中的加密上下文作为条件来控制对您的对称客户托管密钥的访问。您也可以在授予中使用加密上下文约束。
出站营销活动在授权中使用加密上下文限制来控制对您账户或区域中客户托管密钥的访问权限。授权约束要求授权允许的操作使用指定的加密上下文。
以下是密钥政策声明示例,用于授予对特定加密上下文的客户托管密钥的访问权限。此策略语句中的条件要求授权具有指定加密上下文的加密上下文约束。
{
"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:accountId": "111122223333",
"kms:EncryptionContext:aws:connect:instanceId": "sample instance id"
}
}
}
监控您的出站广告系列的加密密钥
当您在出站活动资源中使用 AWS KMS 客户托管密钥时,您可以使用AWS CloudTrail或 Amazon CloudWatch Logs 来跟踪亚马逊位置发送到的请求 AWS KMS。
以下示例是 CreateGrant、、和 Decrypt AWS CloudTrail 的事件 GenerateDataKeyWithoutPlainText DescribeKey,用于监控 Amazon Location 为访问由您的客户托管密钥加密的数据而调用的 KMS 操作:
{
"eventVersion": "1.09",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE",
"arn": "arn:aws:iam::111122223333:role/Admin/Sampleuser01",
"accountId": "111122223333",
"userName": "Admin"
},
"attributes": {
"creationDate": "2024-08-27T18:40:57Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "connect-campaigns.amazonaws.com"
},
"eventTime": "2024-08-27T18:46:29Z",
"eventSource": "kms.amazonaws.com",
"eventName": "CreateGrant",
"awsRegion": "us-west-2",
"sourceIPAddress": "connect-campaigns.amazonaws.com",
"userAgent": "connect-campaigns.amazonaws.com",
"requestParameters": {
"constraints": {
"encryptionContextSubset": {
"aws:connect:instanceId": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
"aws:accountId": "111122223333"
}
},
"granteePrincipal": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE",
"retiringPrincipal": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE",
"keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"operations": [
"Decrypt",
"Encrypt",
"DescribeKey",
"GenerateDataKey",
"GenerateDataKeyWithoutPlaintext",
"ReEncryptFrom",
"ReEncryptTo"
]
},
"responseElements": {
"grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
"keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
},
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": false,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management",
"sessionCredentialFromConsole": "true"
}
预测、容量规划和调度
在创建预测、容量计划和计划时,所有数据都使用存储在中的 AWS 拥有的密钥 加密密钥进行静态加密 AWS Key Management Service。