KMS 加密 - 本地开发
Posted
技术标签:
【中文标题】KMS 加密 - 本地开发【英文标题】:KMS Encryption - Local Development 【发布时间】:2019-06-09 23:24:03 【问题描述】:我创建了用于加密/解密的 AWS KMS 密钥。已将访问权限提供给可以加密/解密的特定对象。我通常将此角色附加到我的 lambda 以执行加密/解密。但是我在本地运行代码,它失败了,因为 KMS 密钥似乎不是授权操作的关联角色。有没有办法可以使用为本地开发生成的 KMS 密钥?
【问题讨论】:
KMS 是特定于区域的。访问 KMS 密钥时是否指定区域?此外,两个服务(KMS 和服务 (S3?) 必须位于同一区域。KMS 密钥不会跨区域共享。 是的,我提供地区。但是 KMS 密钥被授予对 AWS 账户中特定角色的访问权限。但是,当我运行本地计算机时,我看不到附加该角色以使用 KMS 的方法。如果我将其部署为 AWS lambda 并将所需的角色附加到 lambda,则相同的代码可以正常工作。 您要用于加密/解密的密钥的 KMS 密钥策略是什么?将此添加到您的问题中,以便您可以正确格式化策略。 在 KMS 控制台中,您是否可以访问密钥?它位于Key policy
-> Key users
下。
【参考方案1】:
我们建议您的开发堆栈与生产堆栈使用不同的 KMS CMK。
至于您为什么会被拒绝访问,John 是正确的;那是因为您在本地使用的用户/角色没有使用密钥的权限。
https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html
【讨论】:
以上是关于KMS 加密 - 本地开发的主要内容,如果未能解决你的问题,请参考以下文章