

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

# 实施最低权限
<a name="keystore-least-privilege"></a>

使用密钥库和 AWS KMS 分层密钥环时，我们建议您通过定义以下角色来遵循最低权限原则：

**密钥库管理员**  
密钥库管理员负责创建和管理密钥库及其持久保存和保护的分支密钥。密钥存储管理员应该是唯一对用作您的密钥存储的 Amazon DynamoDB 表具有写入权限的用户。他们应该是唯一有权访问特权管理员操作（例如[`CreateKey`](create-branch-keys.md)和）的用户[`VersionKey`](rotate-branch-key.md)。只有在[静态配置密钥库操作时，才能执行这些操作](keystore-actions.md#static-keystore)。  
`CreateKey`是一项特权操作，可以将新的 KMS 密钥 ARN 添加到您的密钥库许可名单。此 KMS 密钥可以创建新的活动分支密钥。我们建议限制对此操作的访问权限，因为一旦将 KMS 密钥添加到分支密钥存储中，便无法将其删除。

**密钥库用户**  
在大多数用例中，密钥库用户在加密、解密、签名和验证数据时仅通过分层密钥环与密钥库进行交互。因此，他们只需要对用作您的密钥存储库的 Amazon DynamoDB 表具有读取权限。密钥库用户只需要访问使加密操作成为可能的使用操作，例如`GetActiveBranchKey``GetBranchKeyVersion`、和`GetBeaconKey`。他们不需要权限即可创建或管理他们使用的分支密钥。  
当密钥存储操作处于[静态配置状态时，或者将密钥存储操作配置为](keystore-actions.md#static-keystore)用于[发现](keystore-actions.md#discovery-keystore)时，您可以执行使用操作。将密钥存储操作配置为用于发现时，您无法执行管理员操作（`CreateKey`和`VersionKey`）。  
如果您的分支密钥存储管理员在您的分支密钥存储中列入了多个 KMS 密钥，我们建议您的密钥存储用户配置其密钥存储操作以进行发现，以便他们的分层密钥环可以使用多个 KMS 密钥。