将敏感数据传递给 EC2 实例

将敏感数据传递给 EC2 实例

将敏感数据传递给只有 root 才能访问的 EC2 实例(在启动时或其他情况下)的最佳方法是什么?

  1. 我不能使用 UserData,因为任何人都可以读取它。
  2. 由于同样的原因,我无法使用私有 S3 存储桶(元数据及凭证可以被机器上的任何人访问)。
  3. 我强烈不想烘焙自己的 AMI,因为这很麻烦。

答案1

我不能使用 UserData,因为任何人都可以读取它。

为什么允许不受信任的用户在你的系统上拥有 shell 账户?

由于同样的原因,我无法使用私有 S3 存储桶(元数据及凭证可以被机器上的任何人访问)。

如果您使用的是 IAM 服务器角色,情况就是如此。但是,您可以仍然使用 S3 存储桶,只需将凭据存储在只有 root 才有权访问的文件中。

答案2

有多种方法可以做到这一点:

  • 虚拟机启动后,您可以通过 ssh 进入虚拟机,使用 sudo 权限成为 root 用户(假设您有其凭据)并复制敏感数据。

  • 如果 root 用户有 ssh 密钥,并且您有权访问公钥,请使用公钥加密敏感数据并将其放置在用户数据中。只有 root 用户才能解密。

  • 前一项的任何变体,其中根用户具有“秘密”,可用于加密数据。

相关内容