静态加密 - AWS IAM Identity Center

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

静态加密

IAM Identity Center 使用以下密钥类型提供加密以保护静态数据:

  • AWS 拥有的密钥 (默认密钥类型)— IAM Identity Center 默认使用这些密钥来自动加密您的数据。您无法查看、管理、审核其使用情况,也无法将 AWS 拥有的密钥用于其他目的。IAM Identity Center 完全处理密钥管理以保护您的数据安全,您无需采取任何操作。有关更多信息,请参阅《AWS Key Management Service 开发人员指南》中的 AWS 拥有密钥

  • 客户自主管理型密钥 - 在 IAM Identity Center 的组织实例中,您可以选择对称客户自主管理型密钥来对您的员工身份数据(例如用户和组属性)进行静态加密。您创建、拥有并管理这些加密密钥。由于您可以完全控制这层加密,因此可以执行以下任务:

    • 制定和维护密钥策略,将密钥的访问权限限制为只有需要访问权限的 IAM 委托人,例如 IAM Identity Center AWS Organizations 及其管理员。AWS 托管应用程序

    • 制定并维护用于密钥访问(包括跨账户访问)的 IAM 策略

    • 启用和禁用密钥策略

    • 轮换加密材料

    • 审计需要密钥访问权限的数据访问

    • 添加 标签

    • 创建密钥别名

    • 安排密钥删除

要了解如何在 IAM Identity Center 中实施客户自主管理型 KMS 密钥,请参阅 在中实现客户托管的 KMS 密钥 AWS IAM Identity Center。有关客户自主管理型密钥的更多信息,请参阅《AWS Key Management Service 开发人员指南》中的客户自主管理型密钥

注意

IAM Identity Center 使用 AWS 自有的 KMS 密钥自动启用静态加密,从而免费保护客户数据。但是,使用客户管理的密钥需要 AWS KMS 付费。有关定价的更多信息,请参阅 AWS Key Management Service 定价

实施客户自主管理型密钥的注意事项:

  • 专用密钥:我们建议为每个 IAM Identity Center 实例创建一个新的专用客户自主管理型 KMS 密钥,而不是重用现有密钥。这种方法可以更清晰地分离职责,简化访问控制管理,并使安全审计更直接。拥有专用密钥还可以通过将密钥更改的影响限制在单个 IAM Identity Center 实例来降低风险。

  • 在多个实例中使用 IAM 身份中心 AWS 区域:如果您计划将您的 IAM 身份中心实例复制到其他实例 AWS 区域,则需要使用客户托管的 KMS 密钥进行静态加密。多区域 IAM 身份中心不支持默认 AWS 拥有的 KMS 密钥类型。有关更多信息,请参阅 跨多个使用 IAM 身份中心 AWS 区域

注意

IAM Identity Center 在加密您的员工身份数据时使用信封加密。您的 KMS 密钥充当包装密钥的角色,用于加密实际用于加密数据的数据密钥。

有关 AWS KMS 的更多信息,请参阅什么是 AWS 密钥管理服务?

IAM Identity Center 加密上下文

加密上下文是一组可选的非秘密密钥值对,其中包含有关数据的其他上下文信息。 AWS KMS 使用加密上下文作为其他经过身份验证的数据来支持经过身份验证的加密。当您在加密数据的请求中包含加密上下文时,会将加密上下文 AWS KMS 绑定到加密数据。要解密数据,您必须在请求中包含相同的加密上下文。有关加密上下文的更多信息,请参阅《AWS 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 Identity Center 的加密密钥

当您将客户托管的 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 身份中心身份属性的存储、加密和删除

您部署的某些 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 托管应用程序的用户指南。