访问 Amazon Key Management Service - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

访问 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 Web Services 账户 中的 Amazon KMS 资源。除这些 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 SDKAmazon Command Line InterfaceAmazon Tools for PowerShell 使用 Amazon KMS API 的用户,您不需要允许最低的控制台权限。但是,您的确需要授予以下用户使用 API 的权限。有关更多信息,请参阅 权限参考

Amazon Command Line Interface

可以使用 Amazon CLI 工具,在系统的命令行中发出命令或构建脚本来执行 Amazon(包括 Amazon KMS)任务。

有关通过 Amazon CLI 使用 Amazon KMS 的更多信息,请参阅 Amazon CLI 命令参考

Amazon KMS REST API

Amazon KMS 的架构设计为与编程语言无关。REST API 是面向 Amazon KMS 的 HTTP 接口。使用 REST API 时,您可通过标准的 HTTP 请求来创建、获取和删除密钥。

有关使用 Amazon KMS REST API 的更多信息,请参阅 Amazon Key Management Service API 参考

Amazon SDK

Amazon 提供的 SDK(软件开发工具包)包含常用编程语言和平台(Java、JavaScript、C、Python 等)的库和示例代码。Amazon SDK 提供了可通过编程方式访问 Amazon KMS 和 Amazon 的便捷方式。Amazon KMS 是 REST 服务。您可以使用 Amazon SDK 库向 Amazon KMS 发送请求,该库包装了底层 Amazon KMS REST API 并简化了编程任务。有关 Amazon SDKs 的信息(包括如何下载及安装),请参阅在 Amazon 上构建所用的工具

使用 Amazon 开发工具包的 Amazon KMS 代码示例 通过 Amazon SDKs 为使用 Amazon KMS 提供了一个很好的开始。

Amazon Encryption SDK

Amazon Encryption SDK 是在应用程序中实现客户端加密的工具。它不提供对 KMS 的完全访问权限,相反,它与 Amazon KMS 集成,或者可以在不引用 KMS 密钥的情况下作为独立 SDK 使用。库可用于 Java、JavaScript、C、Python 和其他编程语言。

有关更多信息,请参见Amazon Encryption SDK 开发人员指南

Amazon KMS key 策略和 IAM 策略

Amazon KMS 最终一致性

由于系统的分布式特性,Amazon KMS API 遵循最终一致性模型。因此,对 Amazon KMS 资源的更改可能不会立即对您运行的后续命令可见。

当您执行 Amazon KMS API 调用时,可能会出现短暂的延迟,才能使更改在整个 Amazon KMS 中可用。更改通常需要不到几秒钟的时间即可在整个系统中传播,但在某些情况下,可能需要几分钟。在这段时间内,您可能会遇到意外错误,例如 NotFoundExceptionInvalidStateException。例如,如果您在调用 CreateKey 后立即调用 GetParametersForImport,则 Amazon KMS 可能会返回 NotFoundException

我们建议您在 Amazon KMS 客户端上配置重试策略,以便在短暂的等待时间后自动重试操作。有关更多信息,请参阅《Amazon SDKs and Tools Reference Guide》中的 Retry behavior

对于与授权相关的 API 调用,您可以使用授权令牌来避免任何潜在的延迟,并立即在授权中使用权限。有关更多信息,请参阅最终一致性(用于授权)