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