本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
静态加密
IAM Identity Center 使用以下密钥类型提供加密以保护静态数据:
-
Amazon 拥有的密钥(默认密钥类型)- IAM Identity Center 默认使用这些密钥自动加密您的数据。您无法查看、管理、审计其使用情况,也无法将 Amazon 拥有密钥用于其他目的。IAM Identity Center 完全处理密钥管理以保护您的数据安全,您无需采取任何操作。有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的 Amazon 拥有密钥。
-
客户自主管理型密钥 - 在 IAM Identity Center 的组织实例中,您可以选择对称客户自主管理型密钥来对您的员工身份数据(例如用户和组属性)进行静态加密。您创建、拥有并管理这些加密密钥。由于您可以完全控制这层加密,因此可以执行以下任务:
-
建立和维护密钥策略,以将对密钥的访问权限限制为仅需要访问的 IAM 主体,例如同一 Amazon Organizations 中的 IAM Identity Center 和 Amazon 托管应用程序 及其管理员。
-
制定并维护用于密钥访问(包括跨账户访问)的 IAM 策略
-
启用和禁用密钥策略
-
轮换加密材料
-
审计需要密钥访问权限的数据访问
-
添加标签
-
创建密钥别名
-
安排密钥删除
-
要了解如何在 IAM Identity Center 中实施客户自主管理型 KMS 密钥,请参阅 在 Amazon IAM Identity Center 中实施客户自主管理型 KMS 密钥。有关客户自主管理型密钥的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的客户自主管理型密钥。
注意
IAM Identity Center 自动使用 Amazon 拥有的 KMS 密钥启用静态加密以保护客户数据,无需付费。不过,当使用客户自主管理型密钥时,会收取 Amazon KMS 费用。有关定价的更多信息,请参阅 Amazon Key Management Service 定价
实施客户自主管理型密钥的注意事项:
-
现有会话的例外情况:使用客户自主管理型密钥的静态加密也适用于临时存储在用户会话中的员工身份数据,例如用户和组属性。当您在 IAM Identity Center 中配置客户自主管理型密钥时,客户自主管理型密钥将用于加密新会话中的员工身份数据。在此功能发布之前启动的会话中,员工身份数据仍使用默认的 Amazon 拥有的密钥 加密,直到会话过期(最长 90 天)或终止,此时这些数据会自动删除。
-
专用密钥:我们建议为每个 IAM Identity Center 实例创建一个新的专用客户自主管理型 KMS 密钥,而不是重用现有密钥。这种方法可以更清晰地分离职责,简化访问控制管理,并使安全审计更直接。拥有专用密钥还可以通过将密钥更改的影响限制在单个 IAM Identity Center 实例来降低风险。
注意
IAM Identity Center 在加密您的员工身份数据时使用信封加密。您的 KMS 密钥充当包装密钥的角色,用于加密实际用于加密数据的数据密钥。
有关 Amazon KMS 的更多信息,请参阅什么是 Amazon Key Management Service?
IAM Identity Center 加密上下文
加密上下文是一组可选的非机密键值对,包含有关数据的其他上下文信息。Amazon KMS 会将加密上下文用作其他已经过验证的数据以支持经过身份验证的加密。在请求中包含加密上下文以加密数据时,Amazon KMS 将加密上下文绑定到加密的数据。要解密数据,您必须在请求中包含相同的加密上下文。有关加密上下文的更多信息,请参阅《Amazon KMS 开发人员指南》。
IAM Identity Center 使用以下加密上下文键:aws:sso:instance-arn、aws:identitystore:identitystore-arn 和 tenant-key-id。例如,以下加密上下文可能出现在由 IAM Identity Center API 调用的 Amazon KMS API 操作中。
"encryptionContext": { "tenant-key-id": "ssoins-1234567890abcdef", "aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef" }
以下加密上下文可能出现在由 Identity Store API 调用的 Amazon KMS API 操作中。
"encryptionContext": { "tenant-key-id": "12345678-1234-1234-1234-123456789012", "aws:identitystore:identitystore-arn": "arn:aws:identitystore::123456789012:identitystore/d-1234567890" }
使用加密上下文控制对客户托管密钥的访问
您可以使用密钥政策和 IAM 策略中的加密上下文作为条件来控制对您的对称客户托管密钥的访问。高级 KMS 密钥策略语句 中的一些密钥策略模板包含此类条件,以确保密钥仅与特定的 IAM Identity Center 实例一起使用。
监控 IAM Identity Center 的加密密钥
当您将客户自主管理型 KMS 密钥与 IAM Identity Center 实例一起使用时,可以使用 Amazon CloudTrail 或 Amazon CloudWatch Logs 来跟踪 IAM Identity Center 发送到 Amazon KMS 的请求。IAM Identity Center 调用的 KMS API 操作清单,请参阅 步骤 2:准备 KMS 密钥策略语句。这些 API 操作的 CloudTrail 事件包含加密上下文,使您能够监控由 IAM Identity Center 实例调用的 Amazon KMS API 操作,这些操作用于访问由您的客户自主管理型密钥加密的数据。
Amazon KMS API 操作的 CloudTrail 事件中的加密上下文示例:
{ "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "encryptionContext": { "aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-xxxxxxxxxxxxxxxx", "tenant-key-id": "ssoins-xxxxxxxxxxxxxxxx" } } }
Amazon 托管应用程序对 IAM Identity Center 身份属性的存储、加密和删除
一些您通过 Amazon IAM Identity Center 部署的 Amazon 托管应用程序(例如 Amazon Systems Manager 和 Amazon CodeCatalyst)会将 IAM Identity Center 中的特定用户和组属性存储在其自己的数据存储中。在 IAM Identity Center 中使用客户自主管理型 KMS 密钥进行的静态加密不扩展到存储在 Amazon 托管应用程序中的 IAM Identity Center 用户和组属性。Amazon 托管应用程序对其存储的数据支持不同的加密方法。最后,当您在 IAM Identity Center 中删除用户和组属性时,这些 Amazon 托管应用程序可能会在 IAM Identity Center 中删除后继续存储此信息。请参阅您的 Amazon 托管应用程序的用户指南,了解应用程序内存储数据的加密和安全性。