本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
访问 Amazon Key Management Service
您可以通过以下 Amazon KMS 方式使用:
主题
Amazon Web Services 管理控制台
控制台是一个基于 Web 的用户界面,用于 Amazon KMS 管理和 Amazon 资源。如果您已注册 Amazon Web Services 账户,则可以通过登录 Amazon Web Services 管理控制台 并在 Amazon Web Services 管理控制台 主页上进行选择 Amazon KMS 来访问 Amazon KMS 控制台。
使用所需的权限 Amazon KMS 控制台
要使用 Amazon KMS 控制台,用户必须拥有一组允许他们使用其中的 Amazon KMS 资源的最低权限 Amazon Web Services 账户。除这些 Amazon KMS 权限以外,用户还必须拥有列出 IAM 用户和 IAM 角色的权限。如果创建比必需的最低权限更为严格的 IAM policy,对于附加了该 IAM policy 的用户, Amazon KMS 控制台将无法按预期正常运行。
有关允许用户对 Amazon KMS 控制台进行只读访问所需的最低权限,请参阅允许用户在 Amazon KMS 控制台中查看 KMS 密钥。
要允许用户使用 Amazon KMS 控制台创建和管理 KMS 密钥,请将AWSKeyManagementServicePowerUser托管策略附加到用户,如中所述Amazon 的托管策略 Amazon Key Management Service。
对于通过 Amazon SDK
Amazon Command Line Interface
您可以使用这些 Amazon CLI 工具在系统的命令行上发布命令或生成脚本来执行 Amazon (包括 Amazon KMS)任务。
有关 Amazon KMS 通过使用的更多信息 Amazon CLI,请参阅Amazon CLI 命令参考
Amazon KMS REST API
的架构设计 Amazon KMS 为与编程语言无关。REST API是一个 HTTP 接口 Amazon KMS。使用 REST API 时,您可通过标准的 HTTP 请求来创建、获取和删除密钥。
有关使用的更多信息 Amazon KMS REST API,请参阅 Amazon Key Management Service API 参考
Amazon 软件开发工具包
Amazon 提供包含常用编程语言和平台(Java、C、 JavaScript Python 等)的库和示例代码的 SDK(软件开发套件)。这些 Amazon 软件开发工具包为创建对和的编程访问权限提供了一种便捷 Amazon KMS 的 Amazon方式。 Amazon KMS 是一项REST服务。您可以 Amazon KMS 使用 Amazon SDK 库向发送请求,这些库封装了底层内容 Amazon KMS REST API并简化了您的编程任务。有关的信息( Amazon SDKs包括如何下载和安装它们),请参阅构建工具 Amazon
这为 Amazon KMS 通过以下方式使用使用的代码示 Amazon KMS 例 Amazon SDKs提供了一个很好的起点 Amazon SDKs。
Amazon Encryption SDK
Amazon Encryption SDK 是用于在应用程序中实现客户端加密的工具。它不提供对 KMS 的完全访问权限,而是与 KMS 密钥集成 Amazon KMS,或者可以在不引用 KMS 密钥的情况下用作独立 SDK。库可用于 Java JavaScript、C、Python 和其他编程语言。
有关更多信息,请参见Amazon Encryption SDK 开发人员指南。
Amazon KMS key 策略和 IAM 政策
Amazon KMS 最终一致性
由于系统的分布式特性, Amazon KMS API 遵循
当您执行 Amazon KMS API 调用时,可能会有短暂的延迟,然后才能在整个过程中进行更改 Amazon KMS。更改通常需要不到几秒钟的时间即可在整个系统中传播,但在某些情况下,可能需要几分钟。在这段时间内,您可能会遇到意外错误,例如 NotFoundException 或 InvalidStateException。例如,NotFoundException如果您在呼叫后GetParametersForImport立即致电, Amazon KMS 可能会返回CreateKey。
我们建议您在 Amazon KMS 客户端上配置重试策略,以便在短暂等待后自动重试操作。有关更多信息,请参阅《 Amazon SDKs and Tools Reference Guide》中的 Retry behavior。
对于与授权相关的 API 调用,您可以使用授权令牌来避免任何潜在的延迟,并立即在授权中使用权限。有关更多信息,请参阅最终一致性(用于授权)。