

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

# 在 Amazon MSF 中使用客户自主管理型密钥
使用客户自主管理型密钥

在建立、管理和操作受 CMK 策略约束的 Amazon MSF 应用程序时，您需要考虑以下因素。

**客户自主管理型密钥**  
这是[密钥策略](https://docs.amazonaws.cn/kms/latest/developerguide/key-policies.html)和[密钥材料](https://docs.amazonaws.cn/kms/latest/developerguide/concepts.html#key-material)。您需要创建一个密钥，该密钥用于加密运行中应用程序存储和持久应用程序存储中的应用程序状态。

**应用程序生命周期操作员（API 调用方）**  
这是 **Operator** IAM 用户或角色。操作员可以是人工，也可以是自动化人员，例如创建、部署和运行 Amazon MSF 应用程序的 CI/CD 管道。应用程序生命周期操作员可以是 IAM 角色或用户。

**注意**  
密钥管理员和操作员可能是同一个人。在这种情况下，我们建议您始终使用单独的角色或用户。

**应用程序**  
这是您创建的 Amazon MSF 应用程序。应用程序执行（IAM）角色无需更改即可使用 CMK。有关 Amazon S3 中 IAM 的更多信息，请参阅 [Amazon Managed Service for Apache Flink 的身份和访问管理](security-iam.md)。

**策略之间的依赖项**  
分配给 CMK 的密钥策略与定义应用程序生命周期操作员权限的 IAM 策略之间存在依赖项。您可能需要按以下顺序创建这些依赖项：  
在没有定义 CMK 权限的 IAM 策略的情况下创建操作员 IAM 用户或角色。操作员使用 AOK 创建应用程序。
创建有权管理 KMS 密钥的密钥管理员。密钥管理员创建 CMK。密钥策略指的是操作员和管理员角色 ARNs以及应用程序 ARN。有关更多信息，请参阅 [创建 KMS 密钥策略](manage-cmk-api.md#create-cmk-kms-key-policy)。
为操作员创建允许管理应用程序 CMK 的 IAM 策略。有关更多信息，请参阅 [应用程序生命周期操作员（API 调用方）权限](manage-cmk-api.md#create-cmk-kms-api-caller-permissions)。向操作员附加新的 IAM 策略。操作员更新启用 CMK 的应用程序。有关更多信息，请参阅 [更新现有应用程序以使用 CMK](manage-cmk-api.md#update-existing-app-use-cmk-api)。
如果应用程序不存在，则在没有 CMK 的情况下创建应用程序。

以下部分演示如何在 Amazon MSF 中实施 CMK。

![\[在 Amazon MSF 中实施客户自主管理型密钥。\]](http://docs.amazonaws.cn/managed-flink/latest/java/images/MSF_CMK_architecture.png)


1. **客户自主管理型密钥（CMK）**：包括密钥策略和密钥材料。

1. **密钥管理员**：`KeyAdmin` IAM 用户或角色。

1. **应用程序生命周期操作员（API 调用方）**：操作员 IAM 用户或角色。

1. **应用程序**：附加执行（IAM）角色。