问题标签 [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.
python-3.x - 无服务器:在 lambda 函数中处理 API 密钥解密
我正在实现一个使用第三方库的 API。
第三方库提供了一个需要作为输入传入的密钥。关键是动态的,可以根据消费者/业务场景而变化。lambda 函数应该能够解密密钥。
有人可以建议一种解密密钥的方法吗?我正在探索 aws-kms 方法。
请注意:我已经记下了实现它的 .env 方式。但是,今天我的 API 被一个消费者使用,因此一个 API 密钥。明天,数字将增加(将导致多个键),我可能无法存储/更新该功能。
编辑:我需要通过有效负载传递一些敏感信息。这可以是一个字母数字值。例如 {"sender": "+123", "secret": "encrypted_value"} 客户端和服务器应该共享一个密钥,客户端可以使用该密钥加密信息,服务器(lambda 函数)应该解密它。
任何建议都会很棒!谢谢!
c# - 使用 KMS 加密的 S3 PutObject 失败并出现 403“拒绝访问”错误
我一直在尝试使用带有 KMS 密钥的服务器端加密对 AWS S3 进行 PutObject 调用,但调用一直失败并显示 403 代码并且消息显示“访问被拒绝”。
这是我用来拨打电话的 C# 代码:
HTTP 请求如下所示:
这是回应:
这些是我设置的 IAM 权限。首先,S3:
然后是 KMS:
当我注释掉加密时,调用通过并且我可以看到正在创建的文件。
我不确定“拒绝访问”是什么意思。我被拒绝访问什么资源?任何帮助将不胜感激。
amazon-web-services - AWS AppSync 加密 DynamoDB 数据
我正在与 AppSync 合作开展一个项目,并将捕获相对敏感的用户数据,这些数据需要在数据库中进行静态加密。
目前,我在突变或查询后使用 DynamoDB 解析器构建,但很高兴探索其他解决方案(例如通过 Lambda 函数使用 KMS 加密,然后发送到 DynamoDB;或者在创建新条目后使用 DynamoDB Streams 重构数据在一张桌子上?)
KMS 将通过 IAM 管理,用户通过 Cognito 用户池分配(我对此很陌生,但相信这是最好的方法)。
amazon-web-services - 如何让 AWS 跨账户 KMS 密钥正常工作?
我正在尝试设置跨账户访问以允许外部账户使用我的 KMS 密钥来解密来自 S3 存储桶的数据。我有密钥、策略、角色设置,我认为是正确的授权,但我无法描述来自外部帐户的密钥。希望得到一些关于我做错了什么的意见。
帐户 111:向外部帐户的根授予策略授权的密钥 (999)
帐户 999 中的角色,附加策略授予从 111 访问密钥的权限:
然而,当我使用 aws-shell 在 999 中担任角色时:
amazon-web-services - 更改现有 s3 对象的加密
我正在寻找一种使用 AWS SDK 更改现有 s3 对象的服务器端加密的方法。
CopyObject 似乎是更改加密类型(S3 或 AWS KMS)的方法之一。这确实提供了通过将存储桶名称作为源和目标来避免下载对象的方法。但是,它需要的时间与文件的大小成正比。
有没有一种有效的方法来更改现有 s3 对象的加密?
encryption - 使用 KMS 将 AWS RDS Aurora 选择到 S3 加密存储桶中
我正在尝试使用具有 KMS 的默认服务器端加密的 AWS RDS AuroraSELECT * INTO OUTFILE S3 :some_bucket/object_key
功能some_bucket
。
我收到此错误,这是有道理的:
InternalError: (InternalError) (1871, u'S3 API returned error: Unknown:Unable to parse ExceptionName: KMS.NotFoundException Message: Invalid keyId')
我怎样才能完成这项工作,让 Aurora 拥有 KMS 密钥,以便它可以将文件上传到 S3?
amazon-web-services - 无法使用 SSE 在 S3 存储桶上设置跨区域复制
当对象在服务器端加密时,我无法设置跨区域复制。我正在使用 awscli 进行设置。这就是我所做的。
跨区域复制角色 IAM 策略如下所示:
这是我的复制配置文件的样子:
这就是我的 cli 命令的样子:
当我在运行 cli 命令后转到 S3 存储桶时,我可以看到使用KMS-Encrypted Object
as创建的复制规则,replicate
但是当我单击edit
查看详细信息时,它没有选择任何 KMS 密钥。
- - - 更新 - - - -
如果我删除 cli 创建的规则并使用控制台设置它,它会选择向导中的所有 kms 键。所以问题是为什么我在使用 cli 时不选择源区域中的 kms 键?我在这里想念什么?
java - AWS 加密 SDK 使用数据密钥加密/解密
我正在尝试使用 KMS 和 AWS 加密 SDK 加密数据。查看AWS 文档中提供的示例,似乎没有明确设置数据键的地方。
我找到了EncryptionMaterialsRequest
该类的 API 文档,该文档允许您使用关联的构建器类设置明文密钥EncryptionMaterialsRequest.Builder
,并且该类有一个返回EncryptionMaterials
. EncryptionMaterials
执行加密操作时,我找不到任何地方可以使用该实例。
这是我到目前为止的代码。请注意,该EncryptionMaterials
实例未在请求中使用。
使用 AWS 加密 SDK 和 KMS 生成的数据密钥加密数据的推荐方法是什么?
python - 从 ec2 实例获取 aws kms 密钥
我试图避免在 AWS EC2 实例上运行的 python 应用程序中对 AWS 'KMS 密钥'进行硬编码。AWS EC2 实例分配有一个 IAM 角色,其中定义了对特定 KMS 密钥的访问权限。该实例无权列出帐户中的所有 KMS 密钥,但只能访问一个。有没有办法获取 KMS 密钥名称,它可以从应用程序访问(使用 boto3?) KMS 密钥 IAM 角色定义如下所示:
encryption - Kinesis Streams 中的加密是否会导致传出记录被加密?
我正在使用 Cloudformation 堆栈并且我有一个管道Kinesis Stream ==> Kinesis Firehose ==> S3 Bucket
。在Kinesis Stream 模板中,它列出了一个StreamEncryption
字段并说:
流加密
使用 AWS KMS 密钥为指定的流启用或更新服务器端加密。
我在有问题的陈述中加粗。
另外,从这里,
当您将数据从数据生产者发送到 Kinesis 流时,Kinesis Data Streams 服务会使用 AWS KMS 密钥加密您的数据,然后再将其静态存储。当您的 Kinesis Data Firehose 传输流从您的 Kinesis 流中读取数据时,Kinesis Data Streams 服务首先解密数据,然后将其发送到 Kinesis Data Firehose。Kinesis Data Firehose 根据您指定的缓冲提示缓冲内存中的数据,然后将其传送到您的目的地,而不存储未加密的静态数据。
我希望使用我的 KMS 密钥对最终在 S3 中的记录进行加密,这样对我的 S3 而非 KMS 具有完全访问权限的人将无法读取数据。
这会这样做吗?如果没有,我如何让数据在 S3 内“双重”加密?