

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

# Amazon KMS 补助金的最佳实践
<a name="grant-best-practices"></a>

Amazon KMS 建议在创建、使用和管理拨款时采用以下最佳做法。
+ 将授权中的权限限制为被授权者委托人所需的权限。使用[最小特权访问权限](https://docs.amazonaws.cn/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)的原则。
+ 使用特定的被授权者委托人（如 IAM 角色），并授予被授权委托人仅使用他们所需的 API 操作的权限。
+ 使用加密上下文[授权约束](grants.md#terms-grant-constraint)以确保调用方正在将 KMS 密钥用于预期目的。有关如何在请求中使用加密上下文来保护数据的详细信息，请参阅*Amazon 安全博客 EncryptionContext*中的[如何使用 Amazon Key Management Service 和保护加密数据的完整性](https://www.amazonaws.cn/blogs/security/how-to-protect-the-integrity-of-your-encrypted-data-by-using-aws-key-management-service-and-encryptioncontext/)。
**提示**  
尽可能使用[EncryptionContextEqual](create-grant-overview.md#grant-constraints)授权约束。[EncryptionContextSubset](create-grant-overview.md#grant-constraints)授权约束更难正确使用。如果您需要使用它，请仔细阅读文档并测试授权约束以确保它按预期工作。
+ 删除重复的授权。重复授权具有相同的密钥 ARN、API 操作、被授权者委托人、加密上下文和名称。如果您停用或撤销原始授予，但保留重复项授权，则剩余的重复授权将构成意外的权限提升。为了在重试 `CreateGrant` 请求时避免重复授权，请使用 [`Name` 参数](create-grant-overview.md#grant-create)。要检测重复的授权，请使用[ListGrants](https://docs.amazonaws.cn/kms/latest/APIReference/API_ListGrants.html)操作。如果您意外创建了重复授权，请尽快停用或撤销该授权。
**注意**  
[Amazon 托管密钥](concepts.md#aws-managed-key)的授权可能看起来像重复授权，但具有不同的被授权者委托人。  
`ListGrants` 响应中的 `GranteePrincipal` 字段通常包含授权的被授权者委托人。但是，当赠款中的受赠方委托人是 Amazon 服务时，该`GranteePrincipal`字段包含[服务委托](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services)人，它可能代表几个不同的受赠方委托人。
+ 请记住，授权不会自动过期。当权限不再需要时，立即[停用或撤销授权](grant-delete.md)。未删除的授权可能会对加密资源造成安全风险。