首页 > 解决方案 > 如何安全地存储 Amazon KMS 的亚马逊访问令牌

问题描述

我正在探索亚马逊 KMS 托管服务,存储主密钥和数据密钥似乎很安全。我能够使用 AWS KMS API / CLI 从加密的数据密钥中将数据密钥解密为纯文本。

但我有一个担心,要访问亚马逊 KMS 以解密数据密钥,我需要传递访问令牌和加密的数据密钥。

那么我可以在哪里安全地存储亚马逊访问令牌和加密数据密钥?

任何想法表示赞赏。

谢谢,
哈利

标签: amazon-web-servicesencryptionaws-kmskey-management

解决方案


我需要传递访问令牌和加密的数据密钥。

实际上,您需要在调用任何 AWS 服务之前对客户端进行身份验证和授权。

也许您可以详细说明amazon access token的含义。实际上,您需要存储访问密钥和访问密钥以及可选的(临时)会话令牌以正确授权服务。我假设在“亚马逊访问令牌”下,您的意思是客户端凭据。

我可以在哪里安全地存储亚马逊访问令牌和加密数据密钥?

对于数据密钥 - 加密的数据密钥可以与数据一起存储/发送(如果您为每次加密生成一个新密钥)或作为配置(如果您计划重用密钥),这已经安全加密。

如果您的客户端(使用 KMS 的代码)在 AWS 基础设施上运行,您可以使用服务角色来允许从服务访问 KMS 服务,而无需显式存储身份凭证。如果客户端也在 AWS 上运行,这是默认(也是最佳)方式。

如果您从 AWS 外部访问 KMS 服务,您的应用程序需要具有客户端凭证。如前所述,理论上您也可以使用 Secret Manager,但无论如何您都需要凭据才能访问该服务。


推荐阅读