【发布时间】:2012-08-26 23:49:44
【问题描述】:
是否可以在我的服务器上存储客户的密钥和访问密钥 ID 以允许我代表他们访问 AWS API?
对于密码,只需使用散列来存储加密版本,但我每次调用 AWS 时都需要使用实际的密钥值,因此无法散列。
简单来说,对于每个经过身份验证的用户,我都会像这样存储一个对象:
{userdId: [myUserId],
secretKey: 'jHuiU-jiuhd...',
accessKeyId: 'abcdef...',
etc}
我可以在每次调用 AWS 时访问它。
现在,我可以对其进行 base64 编码和/甚至自己加密,但在某些阶段我必须对其进行解码和解密才能发出我的请求,并且我需要执行这些选项的所有内容都将存储在服务器上的某个位置。
如果数据保存在服务器上——从不发送回客户端——并且如果从服务器到 AWS 的传输是通过 SSL 完成的,那么这就足够了吗?
【问题讨论】:
-
您说的是专门配置的 IAM 用户访问密钥,对吧?不是客户端的根访问密钥...
-
我猜想使用的理想密钥是通过安全令牌服务创建的密钥。我正在考虑的一个选项是提供一个简单的接口(从本地客户端到 AWS),以使用自定义策略(用于联合访问)生成临时令牌,然后让客户端向服务器发送这些详细信息。
标签: security node.js amazon-web-services