

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Connect 中的数据保护
<a name="data-protection"></a>

责任 AWS [共担模式分担责任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)适用于 Amazon Connect 中的数据保护。如本模型所述 AWS ，负责保护运行所有内容的全球基础架构 AWS 云。您负责维护对托管在此基础结构上的内容的控制。您还负责您所使用的 AWS 服务 的安全配置和管理任务。有关数据隐私的更多信息，请参阅[数据隐私常见问题](https://aws.amazon.com/compliance/data-privacy-faq/)。有关欧洲数据保护的信息，请参阅 *AWS Security Blog* 上的 [AWS Shared Responsibility Model and GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 博客文章。

出于数据保护目的，我们建议您保护 AWS 账户 凭证并使用 AWS IAM Identity Center 或 AWS Identity and Access Management (IAM) 设置个人用户。这样，每个用户只获得履行其工作职责所需的权限。还建议您通过以下方式保护数据：
+ 对每个账户使用多重身份验证（MFA）。
+ 用于 SSL/TLS 与 AWS 资源通信。我们要求使用 TLS 1.2，建议使用 TLS 1.3。
+ 使用设置 API 和用户活动日志 AWS CloudTrail。有关使用 CloudTrail 跟踪捕获 AWS 活动的信息，请参阅《*AWS CloudTrail 用户指南》*中的[使用跟 CloudTrail 踪](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)。
+ 使用 AWS 加密解决方案以及其中的所有默认安全控件 AWS 服务。
+ 使用高级托管安全服务（例如 Amazon Macie），它有助于发现和保护存储在 Amazon S3 中的敏感数据。
+ 如果您在 AWS 通过命令行界面或 API 进行访问时需要经过 FIPS 140-3 验证的加密模块，请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息，请参阅《美国联邦信息处理标准（FIPS）第 140-3 版》[https://aws.amazon.com/compliance/fips/](https://aws.amazon.com/compliance/fips/)。

强烈建议您切勿将机密信息或敏感信息（如您客户的电子邮件地址）放入标签或自由格式文本字段（如**名称**字段）。这包括您 AWS 服务 使用控制台、API 或与 Amazon Connect 或其他人合作时 AWS SDKs。 AWS CLI在用于名称的标签或自由格式文本字段中输入的任何数据都可能会用于计费或诊断日志。如果您向外部服务器提供网址，强烈建议您不要在网址中包含凭证信息来验证对该服务器的请求。

**Topics**
+ [

# Amazon Connect 处理的数据
](data-handled-by-connect.md)
+ [

# Amazon Connect 的静态加密
](encryption-at-rest.md)
+ [

# Amazon Connect 的传输加密
](encryption-in-transit.md)
+ [

# Amazon Connect 中的密钥管理
](key-management.md)
+ [VPC 端点 (AWS PrivateLink)](vpc-interface-endpoints.md)
+ [服务改进以及如何选择不使用您的数据来改善服务](data-opt-out.md)

# Amazon Connect 处理的数据
<a name="data-handled-by-connect"></a>

Amazon Connect 中保存的数据由 AWS 账户 ID 和 Amazon Connect 实例 ID 隔开。这样可确保数据只能由特定 Amazon Connect 实例的授权用户访问。

Amazon Connect 处理与联系中心相关的各种数据，包括但不限于以下类别。
+ **资源和配置**-包括队列、流程、用户、路由配置文件和任务模板。
+ **联系人元数据**-包括连接时间、处理时间、来源号码 (ANI)、目的地号码 (DNIS) 和用户定义的联系人属性。
+ 与@@ **代理相关的绩效数据**-包括登录时间、状态更改和已处理的联系人。
+ **电话音频流**-启用后，它还包括通话录音。
+ **聊天转录** – 仅在流中启用时包括。
+ **屏幕录制** – 仅在流中启用时包括。
+ **附件** – 仅在实例级别启用时包括。
+ **集成配置** – 当创建与外部应用程序的集成时，包括用户定义的名称、描述和元数据。
+ **知识文档** – 其中包括座席用来处理联系事宜的文档。
+ **声纹** – 启用 Amazon Connect Voice ID 后，将根据客户的语音创建声纹以供将来进行身份验证。同样，声纹是在 Voice ID 系统中注册欺诈者时创建的，以备将来的欺诈检测。
+ **发言者和欺诈者音频** – 启用 Amazon Connect Voice ID 后，将存储用于登记发言者和注册欺诈者的音频，以便语音 ID 可以在将来需要时重新登记和重新注册他们。
+ **预测、容量规划和调度** – 仅在启用和创建时包括。

Amazon Connect 存储以下与您客户相关的个人身份信息 (PII) 数据：
+ 客户的电话号码：用于入站呼叫的 ANI，用于出站呼叫或转接的 DNIS。
+ 如果您使用的是 Amazon Connect Customer Profiles，则所有这些数据都可能是 PII。此数据始终使用客户托管密钥或 AWS 拥有的密钥进行静态加密。Amazon Connect Customer Profiles 数据按 AWS 账户 ID 和域隔离。多个 Amazon Connect 实例可以共享单个 Customer Profiles 域。
+ 为了出站活动，Amazon Pinpoint 会将客户的电话号码和相关属性传递给 Amazon Connect。在 Amazon Connect 端，始终使用客户托管密钥或 AWS 拥有的密钥对其进行静态加密。出站活动数据按 Amazon Connect 实例 ID 进行隔离，并使用特定于实例的密钥对其进行加密。

## 外部应用程序数据
<a name="external-application-data"></a>

Amazon AppIntegrations 使您能够与外部应用程序集成。它存储对其他 AWS 资源的引用和客户服务指定的元数据。除了在处理过程中偶然存储的数据外，不会存储任何数据。定期与 Amazon Connect 服务同步数据时，会使用客户托管密钥对数据进行加密，并临时存储一个月。

## 电话通话媒体
<a name="phone-call-media-handling"></a>

对于该服务处理的通话，Amazon Connect 位于音频路径中。因此，它负责在参与者之间中继通话的媒体流。这可以包括客户与流/IVR 之间的音频，客户与座席之间的音频，或者混合在电话会议或转接过程中的多方音频。有两种类型的电话通话：
+ PSTN 呼叫。如果在联系人控制面板 (CCP) 中启用了此选项，这包括入站客户呼叫、座席向客户发出的出站呼叫以及对座席物理电话的呼叫。
+ 软件电话呼叫转接到座席的浏览器。

PSTN 呼叫通过 Amazon Connect 与我们提供商之间维护的专用线路或现有 AWS Internet 连接，在 Amazon Connect 与各种电信运营商之间进行连接。对于通过公共 Internet 路由的 PSTN 呼叫，信令通过 TLS 加密，音频媒体通过 SRTP 加密。

软件电话呼叫通过使用 TLS 的加密 WebSocket连接与代理的浏览器建立。传输到浏览器的音频媒体流量在传输中使用 DTLS-SRTP 进行加密。

## 通话录音和屏幕录制
<a name="call-recording-handling"></a>

在实例级别，默认情况下，当为通话录音和屏幕录制功能创建 Amazon S3 存储桶时，这些功能才可用。您可以通过在流中指定联系人来确定记录哪些联系人。这样有助于更详细地控制要记录哪些联系人。

请注意通话录音的以下行为：
+ 通话录音功能提供了多个选项，您可以选择是在 IVR 互动期间记录客户和系统音频，还是在座席互动期间记录客户、座席或两者的任意组合。
+ 每个联系总共有两个可能的录音：一个用于自动互动（即 IVR），另一个用于座席互动。为自动互动启用或禁用录音功能将立即生效。相反，修改座席互动的录音只有在座席加入通话后才会生效。
+ 当座席不在通话中时，座席音频不会传输到 Amazon Connect。2023 年 11 月 9 日，Amazon Connect 部署了一项优化措施来提高座席的工作效率，即在联系人到达之前预先配置座席浏览器的麦克风媒体流。这样可以缩短来电和去电的设置时间。因此，即使座席不在通话中，其浏览器中的麦克风图标也会显示为打开状态。
+ 当客户在座席互动期间处于保持状态时，仍会对座席进行录音。
+ 座席之间的转接对话会被录音。
+ 当通话在流或 IVR 互动期间转接时（例如，使用“转接到电话号码”数据块），录音仍会继续捕捉客户所说和听到的内容，即使在通话转接到外部语音系统之后也是如此。
+ 座席离开通话后，不会对在座席互动期间任何转接到外部号码的通话进行录音。
+ 例如，如果参与者将自己的麦克风静音以咨询坐在旁边的人，则不会录制他们的私下对话。

仅当联系人启用屏幕录制功能时，屏幕录制才会录制座席的屏幕。屏幕录制从座席接受联系人呼叫时开始，以座席完成联系后续工作结束。屏幕录制支持语音、聊天和任务通道。

**重要**  
在视频通话或屏幕共享会话期间，即使客户处于等待状态，座席仍然能够看到客户的视频或屏幕共享。处理个人身份信息（PII）是客户的责任。如果您要更改此行为，可以构建一个自定义 CCP 和通信小部件。有关更多信息，请参阅 [将应用内通话、Web 通话、视频通话和屏幕共享原生集成到您的应用程序中](config-com-widget2.md)。

您可以基于用户权限来限制对通话录音和屏幕录制的访问权限。可以在 Amazon Connect 管理员网站中搜索和播放录音。

### 通话录音和屏幕录制存储
<a name="call-recording-storage"></a>

通话录音和屏幕录制分两个阶段存储：
+ 在联系过程中以及联系之后，但在传输之前，录音/录制临时存储在 Amazon Connect 中。
+ 录音/录制传输到您的 Amazon S3 存储桶中。

存储在您 Amazon S3 存储桶中的录音/录制使用在创建实例时配置的 KMS 密钥进行保护。

在任何时候，您都可以完全控制发送到 Amazon S3 存储桶的通话录音的安全性。

### 访问通话录音和屏幕录制
<a name="call-recording-access"></a>

您可以在 Amazon Connect 中搜索和收听通话录音或查看屏幕录制。要确定哪些用户可以执行此操作，请在其安全配置文件中为他们分配相应的权限。如果启用， AWS CloudTrail 则会捕获 Amazon Connect 用户对特定录音的访问权限 CloudTrail。

Amazon S3 和 IAM 的功能使您可以完全控制谁有权访问通话录音数据。 AWS KMS

## 联系元数据
<a name="contact-metadata"></a>

Amazon Connect 存储与流经系统的联系相关的元数据，并允许授权用户访问此信息。联系搜索功能允许您搜索和查看联系数据，如发起电话号码或由流设置的其他属性，这些属性与联系人相关联，用于诊断或报告目的。

由 Amazon Connect 存储的归类为 PII 的联系数据使用特定于 Amazon Connect 实例的时间限制密钥进行静态加密。具体而言，使用特定于实例的密钥以加密方式对客户发起电话号码进行哈希处理，以便在联系搜索中使用。对于联系搜索，加密密钥对时间不具有时效性。

由 Amazon Connect 存储的以下数据被视为敏感数据：
+ 发起电话号码
+ 出站电话号码
+ 座席拨打进行转接的外部号码
+ 通过流转接的外部号码
+ 联系人姓名
+ 控制描述
+ 所有联系人属性
+ 所有联系人参考信息

## Contact Lens 实时处理
<a name="real-time-processing-data"></a>

由 Contact Lens 实时处理的内容在静态和传输过程中会进行加密。数据使用由 Contact Lens 拥有的密钥进行加密。

Contact Lens 会在 Amazon Connect 侧短暂保留数据（转录、类别名称等）。这是为了确保 API 在联系终止后的 24 小时内能持续提供数据。

## 声纹和 Voice ID 录音
<a name="voiceprints-data-protection"></a>

当您启用 Amazon Connect Voice ID 时，它会计算出客户语音中的声纹，以便将来对他们进行身份验证，并存储数据。同样，当您启用欺诈检测时，它会存储在 Voice ID 中注册的每个欺诈者的声纹。

在将客户注册到 Voice ID 以进行身份验证和欺诈检测时，您必须为他们指定 `CustomerSpeakerId`。由于 Voice ID 会存储每位发言者的生物识别信息，因此强烈建议您在 `CustomerSpeakerId` 字段中使用不包含 PII 的标识符。

## 发言者和欺诈者音频
<a name="speaker-fraudster-audio-data-protection"></a>

当您启用 Amazon Connect Voice ID 时，它会存储在登记发言者或注册欺诈者时汇总的音频（称为言语）的压缩版本。将来，每当需要重新生成发言者和欺诈者的声纹时，都会使用此音频。在发言者/欺诈者被删除前，会一直保留该数据。用于注册或评估的原始音频将在 24 小时的保留期后删除。

数据将一直保留，直到 speaker/fraudster 被删除或选择退出。

## 出站活动
<a name="outbound-communications-data-protection"></a>

为了出站活动，Amazon Pinpoint 会将客户的电话号码和相关属性传递给 Amazon Connect。在 Amazon Connect 上，它们始终使用客户托管密钥或 AWS 拥有的密钥进行静态加密。出站活动数据按 Amazon Connect 实例 ID 进行隔离，并使用特定于实例的密钥进行加密。

## 任务模板
<a name="task-templates-data-protection"></a>

Amazon Connect 中对任务模板资源的任何处理都是在静态和传输过程中进行加密的。数据使用加密 AWS KMS key。

## 预测、容量规划和调度
<a name="forecasts-data-protection"></a>

在生成预测、容量规划和调度时，它们始终在静态和传输过程中进行加密。数据使用加密 AWS KMS key。

# Amazon Connect 的静态加密
<a name="encryption-at-rest"></a>

归类为 PII 的联系人数据，或代表由 Amazon Connect 存储的客户内容的数据，使用所拥有的加密密钥进行静 AWS KMS 态加密（即在放置、存储或保存到磁盘之前）。 AWS有关 AWS KMS 密钥的信息，请参阅[什么是 AWS Key Management Service？](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 在《*AWS Key Management Service 开发人员指南》*中。对非临时存储中的联系数据进行加密，以便从 KMS 密钥生成的数据加密密钥不会在 Amazon Connect 实例之间共享。

Amazon S3 服务器端加密用于加密对话录音（语音和聊天）。通话录音、屏幕录制和转录分两个阶段存储：
+ 在联系过程中以及联系之后，但在传输之前，录音/录制临时存储在 Amazon Connect 中。
+ 录音/录制传输到您的 Amazon S3 存储桶中。

存储在您 Amazon S3 存储桶中的录音/录制和聊天转录使用在创建实例时配置的 KMS 密钥进行保护。

有关 Amazon Connect 中的密钥管理的更多信息，请参阅 [Amazon Connect 中的密钥管理](key-management.md)。

**Topics**
+ [Amazon AppIntegrations](#encryption-at-rest-appintegrations)
+ [Amazon Connect Cases](#encryption-at-rest-cases)
+ [Amazon Connect Customer Profiles](#encryption-at-rest-customer-profiles)
+ [Connect 人工智能代理](#encryption-at-rest-wisdom)
+ [

## Amazon Connect Voice ID 静态加密
](#encryption-at-rest-voiceid)
+ [出站活动静态加密](#encryption-at-rest-outboundcommunications)
+ [

## 预测、容量规划和调度
](#forecasts-encryption-at-rest-)

## Amazon 静态 AppIntegrations 数据加密
<a name="encryption-at-rest-appintegrations"></a>

当您创建使用客户托管密钥 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 静态加密
<a name="encryption-at-rest-cases"></a>

Amazon Connect 案例存储的案例字段、案例评论、字段描述和模板中的所有客户提供的数据均使用存储在 AWS Key Management Service (AWS KMS) 中的加密密钥进行静态加密。

 Amazon Connect Cases 服务拥有、管理、监控和轮换加密密钥（即 AWS 拥有的密钥），以满足高安全标准。案例事件流的有效负载会暂时（通常为几秒钟）存储在 Amazon 中， EventBridge 然后通过客户账户中的默认总线提供。 EventBridge 还使用 AWS 拥有的密钥对整个静态有效载荷进行加密。

## Amazon Connect Customer Profiles 静态加密
<a name="encryption-at-rest-customer-profiles"></a>

Amazon Connect Customer Profiles 中存储的所有用户数据均进行静态加密。Amazon Connect 客户档案静态加密使用存储在 AWS Key Management Service (AWS KMS) 中的加密密钥对所有静态数据进行加密，从而增强安全性。此功能减少保护敏感数据时涉及的操作负担和复杂性。利用静态加密，可以构建符合严格加密合规性和法规要求的安全敏感型应用程序。

组织政策、行业或政府法规以及合规性需求通常要求使用静态加密增强数据安全性。与客户档案集成 AWS KMS ，以启用其静态加密策略。有关更多信息，请参阅《 AWS Key Management Service 开发人员指南》中的 [AWS Key Management Service 概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)。

创建新域时，您必须提供 [KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys)，服务将使用该密钥对传输中的数据和静态数据进行加密。客户托管密钥由您创建、拥有和管理。您可以完全控制客户管理的密钥（AWS KMS 收费）。

通过使用 AWS 命令行界面 (AWS CLI) 或 Amazon Connect Customer Profiles 加密 API，您可以在创建新域或配置文件对象类型时指定加密密钥，也可以切换现有资源的加密密钥。当您选择客户托管密钥时，Amazon Connect Customer Profiles 将创建对客户托管密钥的授权，以授予其对客户托管密钥的访问权限。

AWS KMS 客户管理的密钥需要付费。有关定价的更多信息，请参阅 [AWS KMS 定价](https://aws.amazon.com/kms/pricing/)。

## Connect AI 代理静态加密
<a name="encryption-at-rest-wisdom"></a>

存储在 Connect AI 代理中的所有用户数据都使用存储在中的加密密钥进行静态加密 AWS Key Management Service。如果您选择提供客户托管密钥，Connect AI 代理会使用它来加密存储在 Connect AI 代理搜索索引之外的静态知识内容。Connect AI 代理为每个客户使用专用的搜索索引，并使用 AWS 拥有的密钥 存储在中对这些索引进行静态加密 AWS Key Management Service。此外，您还可以使用 Connect AI 代理 CloudTrail 来审核任何数据访问 APIs。

AWS KMS 使用您提供的密钥时会收取费用。有关定价的更多信息，请参阅 [AWS KMS 定价](https://aws.amazon.com/kms/pricing/)。

## Amazon Connect Voice ID 静态加密
<a name="encryption-at-rest-voiceid"></a>

Amazon Connect Voice ID 存储的客户声纹无法通过逆向工程来获取注册客户的语音或识别客户。Amazon Connect Voice ID 中存储的所有用户数据均进行静态加密。创建新 Voice ID 域时，您必须提供客户托管密钥，此服务将使用该密钥对您的静态数据进行加密。客户托管密钥由您创建、拥有和管理。您对该密钥拥有完全控制权。

您可以使用命令行界面 (AWS CLI) 中的`update-domain` AWS 命令或语音 ID API 更新[UpdateDomain](https://docs.aws.amazon.com/voiceid/latest/APIReference/API_UpdateDomain.html)语音 ID 域中的 KMS 密钥。

当您更改 KMS 密钥时，将触发一个异步过程，以使用新的 KMS 密钥重新加密旧数据。此过程完成后，您的所有域的数据都将使用新的 KMS 密钥进行加密，您可以放心地停用旧密钥。有关更多信息，请参阅 [UpdateDomain](https://docs.aws.amazon.com/voiceid/latest/APIReference/API_UpdateDomain.html)。

Voice ID 会创建对客户托管密钥的授权，以授予其对该密钥的访问权限。有关更多信息，请参阅 [Amazon Connect 语音识别如何使用授权 AWS KMS](#voiceid-uses-grants)。

以下是使用客户托管密钥进行静态加密的数据的列表：
+ **声纹**：当在系统中登记发言者和注册欺诈者时生成的声纹。
+ **发言者和欺诈者音频**：用于登记发言者和注册欺诈者的音频数据。
+ **CustomerSpeakerId**：客户在为客户注册语音 ID SpeakerId 时提供的信息。
+ **客户提供的元数据**：其中包括自由格式的字符串，例如 `Domain` `Description`、`Domain Name`、`Job Name` 等。

AWS KMS 客户管理的密钥需要付费。有关定价的更多信息，请参阅 [AWS KMS 定价](https://aws.amazon.com/kms/pricing/)。

### Amazon Connect 语音识别如何使用授权 AWS KMS
<a name="voiceid-uses-grants"></a>

Amazon Connect Voice ID 需要授权，才能使用客户托管密钥。创建域名时，Voice ID 会通过向发送查看[CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)请求来代表您创建授权 AWS KMS。需要该授权才能将客户托管密钥用于以下内部操作：
+ 向发送[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)请求 AWS KMS 以验证提供的对称客户托管密钥 ID 是否有效。
+ 向 KMS 密钥发送[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)请求以创建用于加密对象的数据密钥。
+ 将 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 请求发送 AWS KMS 到以解密加密的数据密钥，以便它们可用于加密您的数据。
+ 在更新密钥 AWS KMS 时向发送[ReEncrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html)请求，以便使用新密钥对有限的数据集进行重新加密。
+ 使用 AWS KMS 密钥将文件存储在 S3 中以加密数据。

您可以随时撤销授予访问权限，或删除服务对客户托管密钥的访问权限。如果您这样做，Voice ID 将无法访问由客户托管密钥加密的任何数据，这样会影响依赖于该数据的所有操作，从而导致异步工作流中出现 `AccessDeniedException` 错误和故障。

### 适用于 Voice ID 的客户托管密钥政策
<a name="encryption-at-rest-cmkpolicy-voiceid"></a>

密钥政策控制对客户托管密钥的访问。每个客户托管式密钥必须只有一个密钥策略，其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时，可以指定密钥策略。有关更多信息，请参阅《AWS Key Management Service 开发人员指南》**中的[管理对 KMS 密钥的访问](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access)。

以下是密钥策略示例，该策略为用户提供了 APIs 使用客户管理的密钥拨打所有语音 ID 所需的权限：

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

****  

```
{
    "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.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

有关在策略中指定权限的信息，请参阅 AWS Key Management Service 开发人员指南[中的在 IAM 策略声明中指定 KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)。

有关密钥访问疑难解答的信息，请参阅《 AWS Key Management Service 开发人员指南》中的[密钥访问疑难解答](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html)。

### Voice ID 加密上下文
<a name="voiceid-encryption-context"></a>

[加密上下文](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)是一组可选的键值对，其中包含有关数据的其他上下文信息。 AWS KMS 使用加密上下文作为[其他经过身份验证的数据](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html)来支持经过[身份验证的加密](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#digital-sigs)。

在请求中包含加密上下文以加密数据时， AWS KMS 将加密上下文绑定到加密的数据。要解密数据，您必须在请求中包含相同的加密上下文。

语音 ID 在所有 AWS KMS 加密操作中使用相同的加密上下文，其中密钥为`aws:voiceid:domain:arn`，值为资源亚马逊资源名称 (ARN) Amazon 资源名称 (ARN) [Amazon 资源名称 (AR](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) N)。

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

您还可以在审核记录和日志中使用加密上下文来确定客户托管密钥的使用情况。加密上下文还会显示在 CloudTrail 或 Amazon Logs 生成的 CloudWatch 日志中。

#### 使用加密上下文控制对客户托管密钥的访问
<a name="encryption-context-customer-managed-key"></a>

您可以使用密钥策略和 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 的加密密钥
<a name="monitoring-encryption-keys"></a>

当您将 AWS KMS 客户托管密钥与语音 ID 一起使用时，您可以使用[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)或 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 来跟踪语音 ID 发送到的请求 AWS KMS。

以下示例是语音 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"
}
```

------

## 出站活动静态加密
<a name="encryption-at-rest-outboundcommunications"></a>

 出站活动存储客户的电话号码和相关属性。此信息始终使用客户自主管理型密钥或 AWS 拥有的密钥进行静态加密。数据由 Amazon Connect 实例 ID 分隔，并通过实例特定的密钥进行加密。

 当您加入出站活动时，您可以提供自己的客户自主管理型密钥。

 该服务使用客户自主管理型密钥对敏感数据进行静态加密。此密钥由您创建、拥有和完全管理，因此您可以完全控制其使用和安全性。

 如果您不提供自己的客户托管密钥，则出站活动会使用专属于您的 Amazon Connect 实例的 AWS 自有密钥对静态敏感数据进行加密。您无法查看、管理、使用或审核 AWS 拥有的密钥。但是，无需采取任何措施或更改任何计划即可保护用于加密数据的密钥。有关更多信息，请参阅《AWS Key Management Service 开发人员指南》**中的 [AWS 拥有的密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)。

 AWS KMS 客户管理的密钥需要付费。有关定价的更多信息，请参阅 [AWS KMS 定价](https://aws.amazon.com/kms/pricing/)。

### 出站广告系列如何使用补助金 AWS KMS
<a name="how-outbound-campaigns-uses-grants-in-aws-kms"></a>

 出站活动需要授权才能使用客户自主管理型密钥。当您使用 AWS 控制台或 `StartInstanceOnboardingJob` API 加入出站广告系列时，出站广告系列会通过向发送`CreateGrant`请求来代表您创建授权 AWS KMS。中的授权 AWS KMS 用于授予 Amazon Connect 出站广告系列服务相关角色访问您账户中 KMS 密钥的权限。

 出站活动需要授权才能使用客户自主管理型密钥，以执行以下内部操作：
+  向发送[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)请求 AWS KMS 以验证提供的对称客户托管密钥 ID 是否有效。
+  向 AWS KMS 发送 `GenerateDataKeyWithoutPlainText` 请求，以生成由客户自主管理型密钥加密的数据密钥。
+  向发送解密加密数据密钥的`Decrypt`请求，以便这些密钥可用于加密您的数据。 AWS KMS 

 您可以随时撤销对授权的访问权限，也可以随时移除出站活动对客户自主管理型密钥的访问权限。如果您这样做，出站活动将无法访问由客户自主管理型密钥加密的任何数据，这会影响依赖于该数据的操作。

### 出站活动的客户自主管理型密钥策略
<a name="customer-managed-key-policy-for-outbound-campaigns"></a>

 密钥政策控制对客户托管密钥的访问。每个客户托管式密钥必须只有一个密钥策略，其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时，可以指定密钥策略。有关更多信息，请参阅《AWS Key Management Service 开发人员指南》**中的[管理对 KMS 密钥的访问](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access)。

 以下是密钥策略示例，该策略为用户提供了调用出站广告系列所需的权限 [StartInstanceOnboardingJob](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-outbound-campaigns_StartInstanceOnboardingJob.html)，[PutDialRequestBatch](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-outbound-campaigns_PutDialRequestBatch.html)以及使用客户托管密钥的 [PutOutboundRequestBatch](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-outbound-campaigns_PutOutboundRequestBatch.html)API：

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

****  

```
{
  "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.us-east-1.amazonaws.com",
          "kms:EncryptionContext:aws:accountId": "111122223333",
          "kms:EncryptionContext:aws:connect:instanceId": "InstanceID"
        }
      }
    },
    {
      "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 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)。

 有关密钥访问疑难解答的信息，请参阅《 AWS Key Management Service 开发人员指南》中的[密钥访问疑难解答](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html)。

### 出站活动加密上下文
<a name="outbound-campaigns-encryption-context"></a>

[加密上下文](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)是一组可选的键值对，其中包含有关数据的其他上下文信息。 AWS KMS 使用加密上下文作为[其他经过身份验证的数据](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html)来支持经过[身份验证的加密](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#digital-sigs)。

 在请求中包含加密上下文以加密数据时， AWS KMS 将加密上下文绑定到加密的数据。要解密数据，您必须在请求中包含相同的加密上下文。

 出站活动在所有 AWS KMS 加密操作中使用相同的加密上下文，其中密钥为 aws:accountId 和 aws:connect:instanceId，而值为 AWS 账户 ID 和 Connect 实例 ID。

```
"encryptionContext": {
   "aws:accountId": "111122223333",
   "aws:connect:instanceId": "sample instance id"
}
```

 您还可以在审核记录和日志中使用加密上下文来确定客户托管密钥的使用情况。加密上下文还会显示在 CloudTrail 或 Amazon Logs 生成的 CloudWatch 日志中。

#### 使用加密上下文控制对客户托管密钥的访问
<a name="using-encryption-context-to-control-access-to-your-customer-managed-key"></a>

 您可以使用密钥策略和 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"
          }
     }
}
```

### 监控出站活动的加密密钥
<a name="monitoring-your-encryption-keys-for-outbound-campaigns"></a>

 当您在出站活动资源中使用 AWS KMS 客户托管密钥时，您可以使用[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)或 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 来跟踪亚马逊位置发送到的请求 AWS KMS。

 以下示例是 CreateGrant、、和 Decrypt AWS CloudTrail 的事件 GenerateDataKeyWithoutPlainText DescribeKey，用于监控 Amazon Location 为访问由您的客户托管密钥加密的数据而调用的 KMS 操作：

------
#### [ CreateGrant ]

```
{
  "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"
}
```

------
#### [ GenerateDataKeyWithoutPlainText ]

```
{
  "eventVersion": "1.09",
  "userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAIGDTESTANDEXAMPLE:connect-campaigns-session",
    "arn": "arn:aws:sts::111122223333:assumed-role/AWSServiceRoleForConnectCampaigns_EXAMPLE/connect-campaigns-session",
    "accountId": "111122223333",
    "accessKeyId": "AROAIGDTESTANDEXAMPLE",
    "sessionContext": {
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAIGDTESTANDEXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE",
        "accountId": "111122223333",
        "userName": "AWSServiceRoleForConnectCampaigns_EXAMPLE"
      },
      "attributes": {
        "creationDate": "2024-08-27T18:46:29Z",
        "mfaAuthenticated": "false"
      }
    },
    "invokedBy": "connect-campaigns.amazonaws.com"
  },
  "eventTime": "2024-08-27T18:46:29Z",
  "eventSource": "kms.amazonaws.com",
  "eventName": "GenerateDataKeyWithoutPlaintext",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "connect-campaigns.amazonaws.com",
  "userAgent": "connect-campaigns.amazonaws.com",
  "requestParameters": {
    "encryptionContext": {
      "aws:connect:instanceId": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
      "aws:accountId": "111122223333"
    },
    "keyId": "arn:aws:kms:us-west-2:586277393662:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
    "keySpec": "AES_256"
  },
  "responseElements": null,
  "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
  "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
  "readOnly": true,
  "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"
}
```

------
#### [ DescribeKey ]

```
{
  "eventVersion": "1.09",
  "userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAIGDTESTANDEXAMPLE:connect-campaigns-session",
    "arn": "arn:aws:sts::111122223333:assumed-role/AWSServiceRoleForConnectCampaigns_EXAMPLE/connect-campaigns-session",
    "accountId": "111122223333",
    "accessKeyId": "AROAIGDTESTANDEXAMPLE",
    "sessionContext": {
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAIGDTESTANDEXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE",
        "accountId": "111122223333",
        "userName": "AWSServiceRoleForConnectCampaigns_EXAMPLE"
      },
      "attributes": {
        "creationDate": "2024-08-27T18:46:29Z",
        "mfaAuthenticated": "false"
      }
    },
    "invokedBy": "connect-campaigns.amazonaws.com"
  },
  "eventTime": "2024-08-27T18:46:29Z",
  "eventSource": "kms.amazonaws.com",
  "eventName": "DescribeKey",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "connect-campaigns.amazonaws.com",
  "userAgent": "connect-campaigns.amazonaws.com",
  "requestParameters": {
    "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
    "grantTokens": [
      "EL7BPAGG-KDm8661M1pl55WcQD_9ZgFwYXN-SAMPLE"
    ]
  },
  "responseElements": null,
  "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
  "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
  "readOnly": true,
  "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"
}
```

------
#### [ Decrypt ]

```
{
  "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": "AKIAIOSFODNN7EXAMPLE3",
        "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-27T19:09:02Z",
  "eventSource": "kms.amazonaws.com",
  "eventName": "Decrypt",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "connect-campaigns.amazonaws.com",
  "userAgent": "connect-campaigns.amazonaws.com",
  "requestParameters": {
    "encryptionContext": {
      "aws:connect:instanceId": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
      "aws:accountId": "111122223333"
    },
    "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
    "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
  },
  "responseElements": null,
  "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
  "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
  "readOnly": true,
  "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"
}
```

------

## 预测、容量规划和调度
<a name="forecasts-encryption-at-rest-"></a>

在创建预测、容量计划和计划时，所有数据都使用存储在中的 AWS 拥有的密钥 加密密钥进行静态加密 AWS Key Management Service。

# Amazon Connect 的传输加密
<a name="encryption-in-transit"></a>

与 Amazon Connect 交换的所有数据在用户的 Web 浏览器与 Amazon Connect 之间传输时均使用行业标准 TLS 加密进行保护。[哪个版本的 TLS？](infrastructure-security.md#supported-version-tls)

外部数据在由 AWS KMS处理时会额外加密。

当 Amazon Connect 与 Amazon Kinesis 或 Amazon Polly 等 AWS AWS Lambda服务集成时，传输中的数据始终使用 TLS 进行加密。

当事件数据从外部应用程序转发到 Amazon Connect 时，在传输过程中始终使用 TLS 对其进行加密。

# Amazon Connect 中的密钥管理
<a name="key-management"></a>

您可以指定 AWS KMS 密钥，包括自带密钥 (BYOK)，用于对 Amazon S3 存储 input/output 桶进行信封加密。

当您将 AWS KMS 密钥与 Amazon Connect 中的 S3 存储位置关联时，API 调用者的权限（或控制台用户的权限）将使用相应的 Amazon Connect 实例服务角色作为被授权者委托人创建对密钥的授权。对于特定于 Amazon Connect 实例的服务相关角色，此授权允许角色使用密钥进行加密和解密。例如：
+ 如果您调用 [DisassociateInstanceStorageConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_DisassociateInstanceStorageConfig.html)API 将 AWS KMS 密钥与 Amazon Connect 中的 S3 存储位置断开关联，则会从密钥中移除授权。
+ 如果您调用 [AssociateInstanceStorageConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateInstanceStorageConfig.html)API 将 AWS KMS 密钥关联到 Amazon Connect 中的 S3 存储位置，但您没有`kms:CreateGrant`权限，则关联将失败。

使用 [https://awscli.amazonaws.com/v2/documentation/api/2.0.34/reference/kms/list-grants.html](https://awscli.amazonaws.com/v2/documentation/api/2.0.34/reference/kms/list-grants.html) CLI 命令列出指定 客户托管式密钥的所有授权。

有关 AWS KMS 密钥的信息，请参阅[什么是 AWS Key Management Service？](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 在《*AWS 密钥管理服务开发人员指南》*中。

## Connect 人工智能代理
<a name="key-management-qic"></a>

Connect AI 代理使用 BYOK 或服务拥有的密钥将静态加密的知识文档存储在 S3 中。知识文档在 Amazon OpenSearch 服务中使用服务拥有的密钥进行静态加密。Connect AI 代理使用 BYOK 或服务拥有的密钥存储代理查询和通话记录。

Connect AI 代理使用的知识文档由 AWS KMS 密钥加密。

## Amazon AppIntegrations
<a name="key-management-appinteg"></a>

Amazon AppIntegrations 不支持 BYOK 对配置数据进行加密。当同步外部应用程序数据时，需要定期执行 BYOK。Amazon AppIntegrations 需要获得授权才能使用您的客户托管密钥。当您创建数据集成时，Amazon AppIntegrations 会代表您向发送`CreateGrant`请求。 AWS KMS 您可以随时撤销授予访问权限，或删除服务对客户托管密钥的访问权限。如果您这样做，亚马逊将 AppIntegrations 无法访问由客户托管密钥加密的任何数据，这会影响依赖该数据的Amazon Connect服务。

## Customer Profiles
<a name="key-management-profiles"></a>

对于客户档案，您可以指定用于加密数据的 AWS KMS 密钥。如果您未指定客户托管密钥，Amazon Connect 客户档案会默认使用 AWS自有的加密密钥为您的静态数据提供加密。

在为新域或现有域开启数据存储之前，必须配置 AWS KMS key。

您也可以为对象类型定义单独的 KMS 密钥。加密客户数据时，我们会使用对象类型 KMS 密钥（如果有）。否则，我们将使用域名的 KMS 密钥。

启用 Data Vault 后，您无法更新您的域名或对象类型的 KMS 密钥。虽然您可以使用新密钥创建新的对象类型，但不能修改现有的按键设置。

## Voice ID
<a name="key-management-voiceid"></a>

 要使用 Amazon Connect Voice ID，在创建 Amazon Connect Voice ID 域时必须提供客户托管密钥 KMS 密钥（BYOK），该密钥用于静态加密所有客户数据。

## 出站活动
<a name="key-management-outboundcampaigns"></a>

出站活动使用 AWS 拥有的密钥 或客户托管密钥对所有敏感数据进行加密。由于客户托管密钥由您创建、拥有和管理，因此您可以完全控制客户托管密钥（AWS KMS 收费）。

# Amazon Connect 和接口 VPC 端点 (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

您可以通过创建接口 VPC 端点 在 VPC 和 Amazon Connect 中的端点子集之间建立私有连接。以下为受支持的端点：
+ Amazon AppIntegrations
+ Customer Profiles
+ Outbound campaigns
+ Voice ID
+ Connect 人工智能代理
+ Amazon Connect 服务

接口终端节点由一项技术提供支持 [AWS PrivateLink](https://aws.amazon.com/privatelink)，使您 APIs无需互联网网关、NAT 设备、VPN 连接或 Direct Connect 连接即可私密访问 Amazon Connect。您的 VPC 中的实例不需要公有 IP 地址即可与集成的 Amazon Connect APIs 进行通信 AWS PrivateLink。

有关更多信息，请参阅 [AWS PrivateLink 指南](https://docs.aws.amazon.com/vpc/latest/privatelink/)。

## 为 Amazon Connect 创建接口 VPC 端点
<a name="vpc-endpoint-create"></a>

您可以使用 Amazon VPC 控制台或 AWS Command Line Interface (AWS CLI) 创建接口端点。有关更多信息，请参阅《AWS PrivateLink 指南》**中的[创建接口端点](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)。

Amazon Connect 支持以下服务名称：
+ com.amazonaws。 *region*.app 集成
+ com.amazonaws。 *region*. 案例
+ com.amazonaws。 *region*. 个人资料
+ com.amazonaws。 *region*.connect-cam
+ com.amazonaws。 *region*.voiceid
+ com.amazonaws。 *region*.wisdom（这是适用于 Connect 人工智能代理的。）
+ com.amazonaws。 *region*. 连接
+ com.amazonaws。 *region*.connect-fips（用于为符合联邦信息处理标准 (FIPS) 的 Amazon Connect 服务创建终端节点。）

如果为接口端点启用私有 DNS，则可使用区域的默认 DNS 名称向 Amazon Connect 发出 API 请求。例如：voiceid.us-east-1.amazonaws.com。有关更多信息，请参阅《AWS PrivateLink 指南》**中的 [DNS 主机名](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html#interface-endpoint-dns-hostnames)。

## 创建 VPC 端点策略
<a name="vpc-endpoint-policy"></a>

您可以为 VPC 端点附加控制访问权限的端点策略。该策略指定以下信息：
+ 可执行操作的主体。
+ 可执行的操作。
+ 可对其执行操作的资源。

有关更多信息，请参阅《AWS PrivateLink 指南》中的**[使用端点策略控制对服务的访问](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)。

### 示例：VPC 端点策略
<a name="example-vpc-interface-endpoints"></a>

以下 VPC 端点策略会向所有资源上的所有主体授予对列出的 Amazon Connect Voice ID 操作的访问权限。

```
{
    "Statement":[
        {
            "Effect":"Allow",
            "Action":[
                "voiceid:CreateDomain",
                "voiceid:EvaluateSession",
                "voiceid:ListSpeakers"
            ],
            "Resource":"*",
            "Principal":"*"
        }
    ]
}
```

以下为另一个示例。在本示例中，VPC 端点策略会向所有资源上的所有主体授予对列出的出站活动操作的访问权限。

```
{
    "Statement":[
        {
            "Effect":"Allow",
            "Action":[
                 "connect-campaigns:CreateCampaign",
                "connect-campaigns:DeleteCampaign",
                "connect-campaigns:ListCampaigns"
            ],
            "Resource":"*",
            "Principal":"*"
        }
    ]
}
```

# Amazon Connect 服务改进以及如何选择不使用您的数据来改善服务
<a name="data-opt-out"></a>

当您启用 Amazon Connect 时，我们可能会使用由 Amazon Connect 处理的您的内容来发展和改善您的体验。

允许 AWS 使用您的内容改进服务的好处：

通过提供您的内容来改进 Amazon Connect，您可以帮助我们更快地创新，自定义功能以满足您的需求，并提供更好的支持。更具体地说，这使我们能够增强服务，以：
+ 更快地提供更智能的功能-根据您的实际使用模式和特定要求改进 Connect
+ 主动预防问题-在问题影响您的体验和业务成果之前识别并解决问题
+ 更快地解决问题-更快地诊断和修复出现的问题

所有这些都有助于 Amazon Connect 与您合作，不断提高您的业务绩效。

启用以下 Amazon Connect 功能后，我们可以使用您的内容来开发和改善您的体验。这些功能级别的选择退出将于 2026 年 3 月 31 日停止：
+ **Amazon Connect Contact Lens**
+ **Amazon Connect Customer Profiles**
+ **Amazon Connect 预测、容量规划和调度**
+ **出站式广告系列**
+ **Connect 人工智能代理**

只有 Amazon 员工才能访问这些数据。您的信任、隐私和您的内容安全是我们的首要任务，并确保我们的使用符合我们对您的承诺。有关更多信息，请参阅 [ 数据隐私 FAQ](https://aws.amazon.com/compliance/data-privacy-faq/)。

通过选择退出政策，您可以随时选择不使用您的数据来开发和改进 Amazon Connec AWS Organizations t。有关如何选择退出的信息，请参阅《AWS Organizations 用户指南》**中的 [AI 服务选择退出策略](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)。

 要查看您的选择退出状态，请查看您的组织配置的选择退出政策。[单击此处](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out_syntax.html#ai-opt-out-policy-syntax-reference)了解有关退出政策语法和示例的更多信息。

**注意**  
要使用选择退出政策，您的 AWS 账户必须由集中管理。 AWS Organizations如果您尚未为自己的 AWS 账户创建组织，请参阅*AWS Organizations 用户指南*中的[创建和管理组织](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org)。

选择退出会导致：
+ 不使用您的数据 AWS 来改善服务。