本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中实现客户托管的 KMS 密钥 Amazon IAM Identity Center
客户管理的密 Amazon 钥是您创建、拥有和管理的密钥管理服务密钥。要在 Amazon IAM Identity Center 中实施客户托管的 KMS 密钥进行静态加密,请执行以下步骤:
重要
某些 Amazon 托管应用程序不能与配置了客户托管 KMS 密钥的 Amazon IAM 身份中心一起使用。请参阅Amazon 可与 IAM 身份中心配合使用的托管应用程序。
-
步骤 1:确定组织的使用案例 - 要正确定义 KMS 密钥的使用权限,您需要确定整个组织的相关使用案例。KMS 密钥权限由 KMS 密钥策略语句和基于身份的策略组成,它们协同工作以允许适当的 IAM 主体为其特定使用案例使用 KMS 密钥。
-
步骤 2:准备 KMS 密钥策略语句 - 根据步骤 1 中确定的使用案例选择相关的 KMS 密钥策略语句模板,并填写必需的标识符和 IAM 主体名称。从基线 KMS 密钥策略语句开始,如果您的安全策略要求,请按照高级 KMS 密钥策略语句中的描述对其进行细化。
-
步骤 3:创建客户自主管理型 KMS 密钥-在 KMS 中创建符合 IAM 身份中心要求的 Amazon KMS 密钥,并将步骤 2 中准备的 KMS 密钥策略声明添加到 KMS 密钥策略中。
-
步骤 4:为 KMS 密钥的跨账户使用配置 IAM 策略 - 根据步骤 1 中确定的使用案例选择相关的 IAM 策略语句模板,并通过填写密钥 ARN 来准备使用它们。然后,通过将准备好的 IAM 策略语句添加到主体的 IAM 策略中,允许每个特定使用案例的 IAM 主体跨账户使用 KMS 密钥。
-
步骤 5:在 IAM Identity Center 中配置 KMS 密钥 - 在您的 IAM Identity Center 实例中启用客户自主管理型 KMS 密钥,以将其用于静态加密。
步骤 1:确定组织的使用案例
在创建和配置客户自主管理型 KMS 密钥之前,请确定您的使用案例并准备所需的 KMS 密钥权限。有关 KMS 密钥策略的更多信息,请参阅《Amazon KMS 开发人员指南》。
调用 IAM 身份中心服务的 IAM 委托人 APIs 需要权限。例如,可以通过权限集策略授权授权管理员使用这些 APIs 权限。当使用客户托管密钥配置 IAM 身份中心时,IAM 委托人还必须有权通过 IAM 身份中心服务 APIs使用 KMS API。您在两个地方定义这些 KMS API 权限:KMS 密钥策略和与 IAM 主体关联的 IAM 策略中。
KMS 密钥权限包括如下:
-
您在 步骤 3:创建客户自主管理型 KMS 密钥 中创建 KMS 密钥时在密钥上指定的 KMS 密钥策略语句。
-
您在 步骤 4:为 KMS 密钥的跨账户使用配置 IAM 策略 中创建 KMS 密钥后为 IAM 主体指定的 IAM 策略语句。
下表指定了相关使用案例以及需要使用您的 KMS 密钥权限的 IAM 主体。
| 使用案例 | 需要使用 KMS 密钥权限的 IAM 主体 | 必需/可选 |
|---|---|---|
| Amazon IAM 身份中心的使用 |
|
必需 |
| 在 IAM 身份中心使用 Amazon 托管应用程序 |
|
可选 |
| 在启用 Amazon Control Tower 的 Amazon IAM 身份中心实例上使用 |
|
可选 |
| 通过 IA Amazon M 身份中心对 Amazon EC2 实例进行单点登录 |
|
可选 |
| 使用 IAM 委托人调用 IAM Identity Center 服务的任何其他 APIs 用例,例如客户托管的应用程序、权限集配置工作流程或 Amazon Lambda 函数 |
|
可选 |
注意
表中列出的多个 IAM 委托人需要 Amazon KMS API 权限。但是,为了保护您在 IAM 身份中心中的用户和群组数据,只有 IAM 身份中心和身份存储服务可以直接调用 Amazon KMS API。
步骤 2:准备 KMS 密钥策略语句
确定与您的组织相关的使用案例后,您可以准备相应的 KMS 密钥策略语句。
-
选择与您组织的使用案例匹配的 KMS 密钥策略语句。从基线策略模板开始。如果您需要基于安全要求的更具体策略,可以使用 高级 KMS 密钥策略语句 中的示例修改策略语句。有关此决策的指导,请参阅 选择基线与高级 KMS 密钥策略语句的注意事项。此外,基线 KMS 密钥和 IAM 策略语句 中的每个基线部分都包含相关的注意事项。
-
将相关策略复制到编辑器中,并在 KMS 密钥策略语句中插入所需的标识符和 IAM 主体名称。有关查找引用标识符值的帮助,请参阅 在哪里可以找到所需的标识符。
以下是每个使用案例的基线策略模板。使用 KMS 密钥仅需要 Amazon IAM 身份中心的第一组权限。我们建议您查看适用的子部分以获取更多使用案例特定信息。
重要
修改已由 IAM Identity Center 使用的密钥的 KMS 密钥策略时请务必谨慎。虽然 IAM Identity Center 在您初始配置 KMS 密钥时会验证加密和解密权限,但它无法验证后续的策略更改。无意中移除必要的权限可能会中断您的 IAM Identity Center 的正常运行。有关排查 IAM Identity Center 中客户自主管理型密钥相关常见错误的指导,请参阅 对客户管理的密钥进行故障排除 Amazon IAM Identity Center。
注意
IAM Identity Center 及其关联的 Identity Store 需要服务级权限才能使用您的客户自主管理型 KMS 密钥。此要求扩展到 APIs 使用服务证书调用 IAM Identity Center 服务的 Amazon 托管应用程序。对于通过 APIs 正向访问会话调用 IAM Identity Center 服务的其他用例,只有发起方 IAM 委托人(例如管理员)需要 KMS 密钥权限。值得注意的是,使用 Amazon 访问门户和 Amazon 托管应用程序的最终用户不需要直接的 KMS 密钥权限,因为这些权限是通过相应的服务授予的。
步骤 3:创建客户自主管理型 KMS 密钥
您可以使用 Amazon 管理控制台或 KMS 创建客户托管 Amazon 密钥 APIs。在创建密钥时,将您在步骤 2 中准备的 KMS 密钥策略语句添加到 KMS 密钥策略中。有关详细说明,包括关于默认 KMS 密钥策略的指南,请参阅《Amazon Key Management Service 开发人员指南》。
密钥必须满足以下要求:
-
KMS 密钥必须与 IAM 身份中心实例位于同一 Amazon 区域
-
您可以选择多区域密钥或单区域密钥。但是,如果您计划同时使用 IAM 身份中心, Amazon Web Services 区域 则必须创建多区域 KMS 密钥。您无法将单区域 KMS 密钥转换为多区域 KMS 密钥,因此除非您对使用单区域 KMS 密钥有特殊要求,否则我们建议您从多区域 KMS 密钥开始。
-
KMS 密钥必须是配置为“加密和解密”用途的对称密钥
-
KMS 密钥必须与 IAM Identity Center 的组织实例位于同一个 Amazon Organizations 管理账户中
注意
如果您计划将此 KMS 密钥复制到要复制您的 IAM 身份中心的区域,我们建议您先完成本节中的设置,然后按照中的指导进行操作 将 IAM 身份中心复制到其他区域
步骤 4:为 KMS 密钥的跨账户使用配置 IAM 策略
使用其他 Amazon 账户的 IAM 身份中心服务的 APIs 任何 IAM 委托人(例如 IAM Identity Center 委托管理员)还需要一份允许通过这些账户使用 KMS 密钥的 IAM 政策声明 APIs。
对于在步骤 1 中确定的每个使用案例:
-
在“基线 KMS 密钥和 IAM 策略语句”中找到相关的 IAM 策略语句模板。
-
将模板复制到编辑器中,并填写密钥 ARN(在步骤 3 中创建 KMS 密钥后,此 ARN 现已可用)。有关查找密钥 ARN 值的帮助,请参阅 在哪里可以找到所需的标识符。
-
在中 Amazon Web Services 管理控制台,找到与用例关联的 IAM 委托人的 IAM 策略。此策略的位置因使用案例和授予访问权限的方式而异。
-
对于在 IAM 中直接授予的访问权限,您可以找到 IAM 主体,例如 IAM 控制台中的 IAM 角色。
-
对于通过 IAM Identity Center 授予的访问权限,您可以在 IAM Identity Center 控制台中找到相关的权限集。
-
-
将特定于使用案例的 IAM 策略语句添加到 IAM 角色并保存更改。
注意
此处所述的 IAM 策略是基于身份的策略。虽然此类策略可以附加到 IAM 用户、组和角色,但我们建议尽可能使用 IAM 角色。有关 IAM 角色与 IAM 用户的更多信息,请参阅 IAM 用户指南。
某些 Amazon 托管应用程序中的其他配置
某些 Amazon 托管应用程序要求您配置服务角色以允许应用程序使用 IAM Identity Center 服务 APIs。如果您的组织将 Amazon 托管应用程序与 IAM Identity Center 配合使用,请为每个已部署的应用程序完成以下步骤:
-
查看应用程序的用户指南,确认权限是否已更新,以包含将该应用程序与 IAM Identity Center 一起使用时所需的 KMS 密钥相关权限。
-
如果是,请按照应用程序用户指南中的说明更新权限,以避免中断应用程序的操作。
注意
如果您不确定 Amazon 托管应用程序是否使用这些权限,我们建议您查看所有已部署的 Amazon 托管应用程序的用户指南。对于每个需要此配置的应用程序,您只需执行一次此配置。
步骤 5:在 IAM Identity Center 中配置 KMS 密钥
重要
在执行此步骤之前:
-
确认您的 Amazon 托管应用程序与客户托管的 KMS 密钥兼容。有关兼容应用程序的列表,请参阅可与 IAM Identity Center 一起使用的Amazon 托管应用程序。如果您有不兼容的应用程序,请勿继续。
-
配置使用 KMS 密钥所需的必要权限。如果没有适当的权限,此步骤可能会失败或中断 IAM Identity Center 管理、 Amazon 托管应用程序的使用以及其他需要 KMS 密钥权限的使用案例。有关更多信息,请参阅 步骤 1:确定组织的使用案例。
-
确保 Amazon 托管应用程序和使用 IAM 角色调用 IAM 身份中心服务的 APIs 客户托管应用程序的权限也允许通过 IAM 身份中心服务使用 KMS 密钥 APIs。某些 Amazon 托管应用程序要求您配置权限(例如服务角色)才能使用这些权限 APIs。请参阅每个已部署的 Amazon 托管应用程序的用户指南,以确认是否需要添加特定的 KMS 密钥权限。
在启用新的 IAM Identity Center 组织实例时指定 KMS 密钥
在启用新的 IAM Identity Center 组织实例时,您可以在设置过程中指定客户自主管理型 KMS 密钥。这可确保实例从一开始就使用您的密钥进行静态加密。开始之前,请参阅 客户自主管理型 KMS 密钥和高级 KMS 密钥策略的注意事项。
-
在启用 IAM Identity Center 页面上,展开静态加密部分。
-
选择管理加密。
-
选择客户自主管理型密钥。
-
对于 KMS 密钥,请执行以下操作之一:
-
选择从您的 KMS 密钥中选择,然后从下拉列表中选择您创建的密钥。
-
选择输入 KMS 密钥 ARN,然后输入密钥的完整 ARN。
-
-
选择保存。
-
选择启用,以完成设置。
有关更多信息,请参阅启用 IAM Identity Center。
更改现有 IAM Identity Center 组织实例的密钥配置
您可以随时将客户自主管理型 KMS 密钥更改为另一个密钥,或切换到 Amazon 拥有密钥。
客户自主管理型密钥注意事项
-
更新用于 IAM Identity Center 操作的 KMS 密钥配置不会影响 IAM Identity Center 中的活动用户会话。 APIs 在此过程中,您可以继续使用 Amazon 访问门户、IAM 身份中心控制台和 IAM 身份中心服务。
-
当切换到新的 KMS 密钥时,IAM Identity Center 会验证其是否可以成功使用该密钥进行加密和解密。如果您在设置密钥策略或 IAM 策略时出错,控制台将显示说明性错误消息,并且将继续使用先前的 KMS 密钥。
-
默认的年度 KMS 密钥轮换将自动进行。您可以参阅《Amazon KMS 开发人员指南》以获取有关密钥轮换、监控 Amazon KMS 密钥和控制密钥删除访问权限等主题的信息。
重要
如果您的 IAM Identity Center 实例正在使用的客户自主管理型 KMS 密钥被删除、禁用或因不正确的 KMS 密钥策略而无法访问,您的员工用户和 IAM Identity Center 管理员将无法使用 IAM Identity Center。访问丢失可能是暂时的(可以更正密钥策略)或永久的(已删除的密钥无法恢复),具体取决于情况。我们建议您限制访问关键操作,例如删除或禁用 KMS 密钥。此外,我们建议您的组织设置Amazon 漏洞访问程序,以确保您的特权用户 Amazon 在无法访问 IAM Identity Center 时能够进行访问。
在哪里可以找到所需的标识符
在为客户自主管理型 KMS 密钥配置权限时,您需要特定的 Amazon 资源标识符来完成密钥策略和 IAM 策略语句模板。在 KMS 密钥策略语句中插入所需的标识符(例如,组织 ID)和 IAM 主体名称。
以下是在 Amazon 管理控制台中查找这些标识符的指南。
IAM Identity Center Amazon 资源名称(ARN)和 Identity Store ARN
IAM 身份中心实例是一种具有自己唯一 ARN 的 Amazon 资源,例如 arn: aws: sso::: instance/ssoins-1234567890abcdef。ARN 遵循服务授权参考中 IAM Identity Center 资源类型部分记录的模式。
每个 IAM Identity Center 实例都有一个关联的 Identity Store,用于存储用户和组身份。Identity Store 有一个称为 Identity Store ID 的唯一标识符(例如,d-123456789a)。ARN 遵循服务授权参考中 Identity Store 资源类型部分记录的模式。
您可以在 IAM Identity Center 的“设置”页面上找到 ARN 和 Identity Store ID 值。Identity Store ID 位于“身份源”选项卡中。
Amazon Organizations ID
如果要在密钥策略中指定组织 ID(例如,o-exampleorg1),可以在 IAM Identity Center 和 Organizations 控制台的“设置”页面找到其值。ARN 遵循服务授权参考中 Organizations 资源类型部分记录的模式。
KMS 密钥 ARN
您可以在控制台中找到 KMS 密钥的 ARN。 Amazon KMS 在左侧选择“客户自主管理型密钥”,单击要查找 ARN 的密钥,您将在“常规配置”部分看到它。ARN 遵循服务授权参考 Amazon KMS 资源类型部分中记录的模式。
有关中的密钥策略 Amazon KMS 和疑难解答 Amazon KMS 权限的更多信息,请参阅《 Amazon Key Management Service 开发人员指南》。有关 IAM 策略及其 JSON 表示的更多信息,请参阅 IAM 用户指南。