问题标签 [amazon-kms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
311 浏览

python - 如何检测变量是否在 AWS lambda 中加密

oscontext或对象中是否有一个参数event可以告诉您环境变量是否已加密,或者是否有任何变量已加密?

将尝试解密变量并在失败时使用明文,但不优雅且容易出错。有没有更好的办法?

0 投票
0 回答
935 浏览

amazon-web-services - 无法使用 cloudformation 创建加密密钥

我正在尝试使用 cloudformation 创建我的加密密钥。所以只是为了测试我有一个非常简单的如下:

}

它工作正常,但这不是我想要的。相反,我想将已经存在的策略附加到它上面,例如:

但这不起作用,我收到以下错误:

任何人都可以帮助我。它完全可行吗?

0 投票
1 回答
95 浏览

amazon-web-services - 当我尝试同时使用 / 和子函数时出现约束问题

我正在尝试用 / 形成文本。这是我的cloudformation代码:

我在此行收到约束验证错误:

显然 cfn 不喜欢 / 那里。但是,当我用静态的东西替换子函数时:

另外,当我按如下方式使用 join 时:

我收到以下错误:

属性 AliasName 的值必须是 String 类型

如何实现上述目标并通过约束问题?或者有可能吗?

0 投票
1 回答
10709 浏览

aws-kms - AWS KMS 解密错误 Credstash

我的 aws 帐户位于 us-west-2 区域。并且在该账户中创建的 KMS 密钥具有 ARN arn:aws:kms:us-east-1::key/。在我的节点模块中,我使用 Credstash 来解密使用 KMS 密钥加密的密钥。

我越来越低于异常。

以下是 sls 文件中的 IAM 政策。

解决此问题的任何指示都会有很大帮助

0 投票
1 回答
750 浏览

amazon-web-services - 秘密密码的 Kms 加密

我尝试使用 aws kms 加密和解密对纯文本进行编码和解码。但它显示以下错误:

我使用的命令:

提前致谢!

0 投票
2 回答
6629 浏览

amazon-web-services - 仅授予对 Amazon 别名密钥的访问权限的 IAM 策略

KMS中有亚马逊别名密钥(例如/alias/aws/s3)和客户主密钥(CMK)。

对于每个开发团队,我都有一些带有别名的 CMK(例如/alias/team1/default/alias/team1/confidential

我想允许所有 IAM 用户/组/角色访问 aws 别名密钥,但提供对团队级密钥的团队级访问权限

尝试允许访问 aws 托管密钥时出现我的问题

iam:*提供对and的隐式拒绝kms:*,但允许访问 aws 别名键

使用 IAM 策略模拟器时,看起来我必须提供对完整密钥 arn ( arn:aws:kms:us-east-1:111111111111:key/abcd123-acbd-1234-abcd-acbcd1234abcd) 而不是别名 ( arn:aws:kms:us-east-1:111111111111:alias/aws/*)的访问权限

有没有更好的方法来管理这个?

我知道我可以使用密钥策略管理对 CMK 的访问,并且不允许来自 IAM 的访问,但您不能Principal在 KMS 密钥策略中使用组

0 投票
1 回答
553 浏览

amazon-web-services - AWS CLI,kms 未知输出类型:q

尝试拨打电话时aws kms get-parameters-for-import --key-id .... --wrapping-algorithm RSAES_OAEP_SHA_1 --wrapping-key-spec RSA_2048收到错误消息Unknown output type: q。我正在按照http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html中的说明进行操作,但该步骤没有运气。

0 投票
1 回答
375 浏览

aws-sdk - generateDataKey 错误签名在 AWS KMS 上已过期?

我正在与我的客户合作,因此我克隆了 git repo 并构建了使用 AWS KMS 生成数据密钥的应用程序。

一切都在实时服务器上运行良好,但是当我在本地环境中失败时。

这是代码片段和错误结果。

有没有办法解决这个错误?

在此处输入图像描述

GenerateDataKey 错误签名已过期......

0 投票
1 回答
674 浏览

amazon-web-services - 区域之间的 AWS 加密 SDK 标头不匹配

我使用Amazon Encryption SDK在将数据存储到数据库之前对其进行加密。我也在使用Amazon KMS。作为加密过程的一部分,SDK 将用于加密的数据密钥的密钥提供者 ID存储在生成的密文头中。

如此处的文档所述http://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/message-format.html#header-structure

AWS 加密 SDK 中的加密操作返回包含加密数据(密文)和所有加密数据密钥的单个数据结构或消息。要理解这种数据结构,或者构建读取和写入它的库,您需要了解消息格式。

消息格式至少由两部分组成:标头和正文。在某些情况下,消息格式由第三部分组成,即页脚。

Key Provider ID 值包含 AWS KMS 客户主密钥 (CMK) 的 Amazon 资源名称 (ARN)。

这就是问题所在。现在我有两个不同的 KMS 区域可用于加密。每个密钥提供者 ID 都具有完全相同的加密数据密钥值。所以任何一个密钥都可以用来解密数据。但是,问题在于密文标头。假设我有 KMS1 和 KMS2。如果我使用 KMS1 提供的密钥对数据进行加密,那么密钥提供者 ID 将存储在密文头中。如果我尝试使用 KMS2 解密数据,即使加密数据密钥相同,解密也会失败,因为标头不包含 KMS2 的密钥提供程序。它具有 KMS1 的密钥提供程序 ID。它失败并出现此错误:

它无法验证标头完整性并失败。这不好,因为我计划拥有多个 KMS,以防一个区域的 KMS 出现故障。我们在所有地区复制我们的数据,并且我们认为只要加密的数据密钥匹配,我们就可以使用来自这些地区的任何 KMS 进行解密。但是,看起来我只能使用加密数据的原始 KMS?如果我们只能依赖一个 KMS,我们究竟如何将其扩展到多个区域?

我可以在调用中包含所有区域主密钥来加密数据。这样,标题将始终匹配,尽管它不会反映它实际使用的 KMS。但是,这也是不可扩展的,因为我们将来可以添加/删除区域,这会导致所有已经加密的数据出现问题。

我错过了什么吗?我已经考虑过这一点,我想在不破坏 SDK/加密提供的任何完整性检查的情况下解决这个问题。

更新:

基于@jarmod 的评论

使用别名也不起作用,因为我们只能将别名与区域中的键相关联,并且它存储了它所指向的键 ARN 的解析名称。

我正在阅读这份文件,上面写着

此外,信封加密可以帮助您设计灾难恢复应用程序。您可以在区域之间按原样移动加密数据,并且只需使用特定于区域的 CMK 重新加密数据密钥

但是,这根本不准确,因为重新加密的数据密钥的 Key Provider ID 将完全不同,因此加密 SDK 在不同的区域将无法解密!

0 投票
1 回答
200 浏览

amazon-kms - 将 AWS KMS 和/或 credstash 与非 AWS 服务器一起使用

是否可以在不使用 EC2 或同等产品的情况下使用 AWS KMS 和 credstash 之类的工具,还是仅依赖 IAM 角色?

我在其他地方有一台服务器,我正在测试一些东西,最终我将考虑将应用程序迁移到 EC2 等以利用扩展。但是现在,当我设置我的部署管道等时,我想知道是否仍然可以在我的非 aws 配置服务器上使用 KMS?

我能想到的唯一可能的方法是在相关服务器上安装 AWS CLI 工具。这听起来像是正确的方法吗?