问题标签 [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 投票
1 回答
260 浏览

puppet - Hiera-eyaml-Kms - 在 puppet 中使用时的解密问题

我在 puppet 中使用 Kms 密钥来解密一些秘密,我在解密秘密时遇到以下错误

这是我的 hiera 配置文件,我已经配置了 kms 密钥 ID 和区域

我正在使用 hiera-eyaml-kms-0.0.1 gem

即使我尝试在环境变量中设置它-AWS_REGION

0 投票
2 回答
1100 浏览

amazon-web-services - 如何在 AWS cloudtrail 上查看 AWS KMS 事件?

我正在使用 AWS KMS 加密和解密一些数据。我想使用 AWS cloudtrail 跟踪所有 KMS 访问。当我打开我的 cloudtrail 事件页面时,我看不到 KMS 相关事件。在 KMS文档页面上,提到 kms 事件记录在 cloudtrail 中。

有设置可以启用吗?

0 投票
0 回答
516 浏览

python - 从 ec2 实例获取 aws kms 密钥

我试图避免在 AWS EC2 实例上运行的 python 应用程序中对 AWS 'KMS 密钥'进行硬编码。AWS EC2 实例分配有一个 IAM 角色,其中定义了对特定 KMS 密钥的访问权限。该实例无权列出帐户中的所有 KMS 密钥,但只能访问一个。有没有办法获取 KMS 密钥名称,它可以从应用程序访问(使用 boto3?) KMS 密钥 IAM 角色定义如下所示:

0 投票
2 回答
3463 浏览

encryption - 使用 Amazon KMS 加密/解密小型应用程序数据的缺点

一对 Amazon Lambda 将对称加密和解密一小段应用程序数据。我想使用 Amazon KMS 来促进这一点,因为它解决了秘密存储和密钥轮换等问题。

Amazon KMS 开发人员指南指出:

这些操作旨在加密和解密数据密钥。他们在加密操作中使用 AWS KMS 客户主密钥 (CMK),并且不能接受超过 4 KB(4096 字节)的数据。尽管您可能会使用它们来加密少量数据,例如密码或 RSA 密钥,但它们并非旨在加密应用程序数据。

它继续推荐使用AWS Encryption SDKAmazon S3 加密客户端来加密应用程序数据。

尽管AWS 加密 SDK 列出的优势显而易见,而且非常有吸引力,尤其是对于不是密码学家的开发人员而言,但为了这个问题,我们假设情况不利于这些替代方案。

如果我的应用程序数据确定永远不会超过 4k,为什么不应该简单地使用 Amazon KMS 来加密和解密这些数据?

用例

我的团队正在实施一个新的身份验证层,以便在我们公司的服务和 API 中使用。我们正在实施 JWT 规范,但我们打算避开广泛记录的困扰 JWE / JWS 兼容令牌签名的加密不满,我们正在对称加密有效负载。因此,我们保留了非加密令牌验证操作(到期等)的标准库实现的优势,并且我们留下了加密“脚枪”。

0 投票
1 回答
12376 浏览

amazon-web-services - 使用 Cloudformation 创建 KMS 密钥时出现消息“没有 IAM 权限来处理 AWS::KMS::Key 资源上的标签”

使用 Cloudformation 创建新的 KMS 密钥时,我在“状态原因”列中看到此消息:

没有 IAM 权限来处理 AWS::KMS::Key 资源上的标签

cloudformation 堆栈似乎已正确创建,但我想知道我能做些什么来防止显示此消息?

我正在使用以下 Cloudformation 模板来创建 KMS 密钥:

我用于创建资源的角色允许执行以下操作:

0 投票
3 回答
1219 浏览

amazon-web-services - Amazon S3:加密来自 Amazon SES 的消息

我正在使用 Amazon SES 接收电子邮件,然后通过规则集将其存储在 Amazon S3 中。这些消息然后由我用 Java 编写的程序检索。

整个过程目前正在像魅力一样工作。当我尝试加密电子邮件时,麻烦就来了……

以下是我的流程步骤:

  1. SES 接收电子邮件
  2. SES 使用 KMS 密钥加密电子邮件(感谢 SES 规则集)。
  3. SES 将电子邮件存储在 Amazon S3 上
  4. 我的 Java 应用程序从 S3 检索邮件。

但是,当我在 S3 上调用以检索电子邮件时,出现以下错误:

如此错误中所述,我认为我用来检索 S3 对象的用户无权访问用于加密消息的密钥。但据我了解亚马逊的政策如何运作,我相信一切都是正确的(显然不是)。

有人知道我做错了什么或者我可以尝试做些什么吗?

下面是有关当前配置的信息,例如我的用户和 KMS 密钥的策略,以及我正在使用的 Java 代码。

地区

用户政策(详见附图)

这里使用的用户名是delivery

关键政策

S3 存储桶策略

Java 代码

在此先感谢您的帮助!

0 投票
3 回答
3096 浏览

amazon-web-services - 在 AWS Glue 作业中写入 S3 时是否可以指定 SSE:KMS 密钥 ID?

如果您按照 AWS Glue 添加作业向导创建脚本以将 parquet 文件写入 S3,您最终会生成类似这样的代码。

是否可以指定 KMS 密钥,以便在存储桶中加密数据?

0 投票
1 回答
152 浏览

hashicorp-vault - 我可以像使用 Amazon KMS 服务一样使用 Vault 吗?

我正在寻找允许以安全方式创建和存储对称主密钥的系统。Amazon KMS 就是这样的系统之一,我可以在其中为每个用户创建主私钥并使用它来加密一些数据(例如用户的私钥)。

但我需要支持多个平台,所以我对 Vault 项目( https://www.vaultproject.io )有疑问。它是完成这项任务的合适工具吗?

我发现 Vault 支持授权功能(https://www.vaultproject.io/docs/auth/userpass.html),我想知道是否可以集中使用此 API 并存储 50k 用户左右?

话虽如此,看起来这些服务解决了不同的问题,而 Vault 不应该像 Amazon KMS 服务那样使用。但我需要与某人讨论这个想法才能完全确定。

非常感谢!

0 投票
2 回答
2482 浏览

encryption - 如何使用 AWS KMS CMK 和 Java 中的数据密钥实施数据加密和解密?

我对 AWS 云环境比较陌生,所以我的知识总体上是有限的。如果这些是简单直接的问题并询问样本,我提前道歉。

我也在 SO 上环顾四周以获取更多信息,但找不到太多信息。也许我在寻找错误的东西。任何帮助将不胜感激。

我正在尝试使用AWS KMS来加密我的应用程序中的一个数据元素。阅读文档后,我的理解如下:

  1. 我需要在我的 AWS 账户中有一个 CMK。我已经在我的账户中创建了一个由 AWS 管理的 CMK。
  2. 记下我从控制台为我的 CMK 获得的 CMK 的密钥 ID 或别名。
  3. 通过传递 KeyID 或 Alias 和 KeySpec 创建一个 GenerateDataKeyRequest 对象。
  4. 使用 awskmsClient.generateDataKey() 方法生成数据密钥并传递上述 GenerateDataKeyRequest 对象。
  5. 上述步骤将为我提供 GenerateDataKeyResult 对象,该对象将具有 Data Key 的“plaintext”和“ciphertextblob”值。

我有如下代码:

文档说使用“明文”数据密钥加密我的数据并删除“明文”数据密钥。

我的第一个问题是:如何使用“明文”数据密钥加密我的数据?

我无法在文档中找到有关如何执行此操作的位置。或者使用哪个 API。AWSKMSClient 类中有一个“加密”方法,但只能与CMK 的 KeyID一起使用,而不能与数据密钥一起使用。还是我理解错了?

然后文档还说要存储加密数据和“ ciphertextblob 数据密钥。这在 AWS KMS 术语中称为信封加密。我无法弄清楚我该怎么做。在这方面的任何帮助将不胜感激。

根据文档,我们需要采取以下步骤来解密:

  1. 使用存储的“ciphertextblob”数据密钥获取“明文”数据密钥。

  2. 使用上述“明文”数据密钥解密数据。

我对此也有几个问题,如下所示:

  1. 在数据库中存储加密数据和“ ciphertextblob ”数据密钥的最佳方式是什么?

  2. 如何从存储的“ciphertextblob”数据密钥中获取“明文”数据密钥?

  3. 最后,如何使用在上述步骤中获得的“明文”数据密钥解密我的数据?

如果您能为上述问题提供示例代码,我将不胜感激。或者请给我指出正确的方向来实现上述目标。

谢谢你。

0 投票
0 回答
698 浏览

amazon-web-services - 从 CloudFormation::Init 中的加密 s3 存储桶下载文件 - 文件步骤

如何在 CloudFormation::Init 资源的文件步骤中从 kms 服务器端加密的 S3 存储桶读取文件?如果 S3 存储桶没有任何加密,则以下示例堆栈有效。但是对于加密的存储桶失败并出现下面显示的错误。

堆栈示例

错误:

使用 AWS KMS 托管密钥指定服务器端加密的请求需要 AWS 签名版本 4。

精简模板: