问题标签 [aws-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.
amazon-web-services - 我们可以将来自 List Grants API 的 GranteePrincipal 链接回授予授权的用户/角色吗?
在 Amazon Key Management Service 中,可以列出客户主密钥上的授权。这将返回 GrantListEntry 对象的列表。每个都有一个 getGranteePrincipal() 方法,该方法返回一个类似于AIDAJBVZPN4EIJ44R7AZM
. 这应该映射到与此授权相关的用户/角色,但是,我无法弄清楚如何将此字符串映射到用户。这不是他们的 IAM 密钥或 ARN。有没有办法将此字符串与原始用户相关联?
powershell - 如何从 New-KMSDataKey 返回的“Plaintext”属性的内存流中读取?
我正在使用一个AWS Powershell cmdlet New-KMSDataKey
,它创建了一个System.IO.MemoryStream
包含我需要用来加密某些文件的加密密钥。
这是命令的文档:
http://docs.aws.amazon.com/powershell/latest/reference/items/New-KMSDataKey.html
这是该 cmdlet 返回的对象:
我正在尝试获得plaintext
财产。如何访问System.IO.MemoryStream
以获取密钥?
这是我的脚本示例:
这给了我:
amazon-web-services - 在 Heroku 上使用 Amazon KMS 服务
有没有人尝试在 Heroku 上使用 AWS KMS?
一方面,Heroku 在 AWS 上运行,所以它应该可以工作。
另一方面,我没有看到任何在 Heroku 中使用它的参考资料。
我的主要目标是能够从硬件安全模块中获取加密密钥(而不是在我的代码中硬编码或将其放入环境变量中)。
php - AWS KMS - 存储/使用密文 Blob
我只是让自己使用 AWS Key Management Service 进行设置并调用该方法generateDataKey
。该方法正在工作并返回 CiphertextBlob 和明文 blob。
但是,blob 的格式类似于:
我正在使用 API,因此根据文档,它没有被编码。我试图了解明文是否可以在 PHP 中以某种方式“解码”,以便我可以存储/使用它而无需所有看起来很奇怪的 ASCII 字符。我期待的是一长串字符,而不是上面的特殊字符。我觉得我错过了一些简单的东西。
谢谢!
.net - 使用 KMS 加密为 S3 对象生成预签名 URL - 我做错了什么?
我正在使用适用于 .NET 4.0 的 AWS SDK v2.3.44.0 并尝试为客户端生成预签名 URL 以下载对象。所有对象都存储在 S3 存储桶中,并使用aws:kms
服务器端加密方法进行加密。
我正在使用AmazonS3Client
'sGetPreSignedURL
方法生成 URL。
我的AmazonS3Client
对象是这样创建的:
我的GetPresignedUrlRequest
对象是这样创建的:
现在,当我运行client.GetPreSignedURL(request)
它时,它会生成一个这样的 URL(为便于阅读和清理而格式化):
导航到此 URL 时,我收到一个错误的 XML 细分:SignatureDoesNotMatch
.
这个 URL 看起来与亚马逊在他们的文档中描述的不同。此外,使用 AWS 插件从 Visual Studio 生成 URL 会生成一个如下所示的工作URL(再次格式化和清理):
aws:kms
我的预签名 URL 没有正确生成以下载加密文件,我做错了什么?
c# - AccessDenied when sending Encrypt request to Amazon KMS
I want to encrypt a string using Amazon KMS services. My credentials work, I can use the client to get a list of keys, but I get a 400 when I try to encrypt my string. This is my code (I bet I'm missing something simple):
What could be the cause of this?
I also have my profile set up in visual studio.
Edit 1: The error message is:
Error making request with Error Code AccessDeniedException and Http Status Code BadRequest. No further error information was returned by the service.
amazon-web-services - 如何将 boto 的 s3 bucket.copy_key 与 KMS SSE 一起使用?
我正在使用 boto 版本 2.38.0 来尝试将 s3 上的密钥的区域到区域复制到位于不同区域的不同存储桶中的相同密钥。源密钥使用 KMS 密钥加密,目标也应使用 KMS 密钥加密,尽管是不同的密钥。
我可以使用以下代码正确复制到未加密的目标密钥:
但是,如果我尝试使用此处指定的标头 ( http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html ) 使用 KMS 密钥启用 SSE,则会收到 SignatureDoesNotMatch 错误。
因此,例如,如果我将 copy_key 行更改为:
然后我收到如下错误:
我查看了“解决 AWS 签名版本 4 错误”页面 ( http://docs.aws.amazon.com/general/latest/gr/signature-v4-troubleshooting.html ),这可能会给出一些提示,但是似乎有助于解决自己的自定义签名代码,而不是 boto SDK。
难道我做错了什么?如何正确地将密钥从一个区域复制到另一个区域(没有本地中介),同时还指定用于服务器端加密的 KMS 加密密钥?
aws-lambda - 如何在 AWS lambda 中使用 AWS KMS
我刚刚开始使用 AWS 服务,尤其是 AWS Lambda。有没有办法在 Lambda 代码 (Java) 中使用 AWS KMS 服务。我想使用 KMS 来解密加密的外部化(从属性中读取)秘密。我的 Lambda 代码在 java 中。提前致谢。
amazon-web-services - AWS 中加密数据的跨区域副本
如果我必须将我的 RDS 数据库中的加密数据从 AWS 中的一个区域复制到另一个区域,那么基于以下设计点我有哪些选项:
1) 如果我使用 CloudHSM 或 KMS 等服务,我的密钥将特定于某个地区
2) 我不想在本地拥有一个密钥管理实例,我可以从那里向任何一个区域共同提供密钥
3) 我可以加密整个 RDS 或进行基于列的加密
python - 使用 S3 元数据调用 kms.decrypt 时出现 InvalidCiphertextException
我可以通过 Java SDK 添加客户端加密文件,也可以获取该文件。我现在正在尝试使用 boto3 访问它。(我知道 boto3 不支持此功能,但 s3-wrapper 支持。不过,这涉及 boto3)。
我正在获取 s3 元数据,然后像这样调用 kms.decrypt:
那么,如果我应该将密钥作为 CiphertextBlob 传递怎么办?
然后我尝试传入一个base64的密钥:
然后我尝试将 s3 内容作为 blob 传递。
所以,我想我的问题是,什么是 S3 元数据中正确的 CiphertextBlob?由于我将它与 Java SDK 的EncryptedPutObjectRequest和AmazonS3EncryptionClient 放在一起,将它抽象出来,我不知道那个 blob 应该是什么样子。
相关链接
- stackoverflow:ruby 中的客户端解密;不使用 KMS
- boto3 github问题:在boto3 for s3中kms解密的开始;不起作用,也许是因为这是“v2”键?