2

是否可以在我的服务器上存储客户的密钥和访问密钥 ID 以允许我代表他们访问 AWS API?

对于密码,只需使用散列来存储加密版本,但我每次调用 AWS 时都需要使用实际的密钥值,因此我无法对其进行散列。

简单来说,对于每个经过身份验证的用户,我都会存储一个类似这样的对象:

{userdId: [myUserId],
 secretKey: 'jHuiU-jiuhd...',
 accessKeyId: 'abcdef...',
 etc}

然后我可以在每次调用 AWS 时访问它。

现在,我可以对其进行 base64 编码和/甚至自己加密,但在某些阶段我必须对其进行解码和解密才能发出我的请求,并且我需要执行这些选项的所有内容都将存储在服务器上的某个位置。

如果数据保存在服务器上——从不发送回客户端——并且如果从服务器到 AWS 的传输是通过 SSL 完成的,那么这就足够了吗?

4

1 回答 1

0

如何安全地存储和使用客户的 AWS 密钥

Ansible

如果您使用 Ansible,请考虑使用Vault 保护敏感的 Ansible 数据。因此,您可以将其配置为加密敏感内容,例如私钥。

密钥库

另一种方法是使用Keybase应用程序,它在您的所有设备上提供端到端的加密数据。

PGP

使用加密来加密和解密敏感密钥。

OpenSSL

使用您的公钥加密文件,然后使用您的私钥解密它。

SSH 保险库

检查ssh-vault它如何使用 SSH 密钥加密/解密数据。

于 2018-04-09T14:37:28.823 回答