将AWS KMS和/或credstash与非AWS服务器一起使用

时间:2017-11-23 10:39:09

标签: amazon-kms

是否可以在不使用EC2或同等资源的情况下使用AWS KMS和credstash之类的工具,还是仅仅依赖于IAM角色?

我在其他地方有一台服务器我正在测试一些东西,最终我会考虑将应用程序迁移到EC2等以利用扩展。但是现在,虽然我正在设置我的部署管道等,但我想知道是否仍然可以在我的非aws配置服务器上使用KMS?

我能想到的唯一可行方法是在相关服务器上安装AWS CLI工具。这听起来像是正确的做法吗?

1 个答案:

答案 0 :(得分:0)

@Viccari所说的是正确的(在评论中)。就您想要做的事情(存储密码)而言,AWS参数存储将非常适合您。有关详细信息,请参阅https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html。该指南明确地调出了您的用例:

  

Parameter Store具有以下优点和功能。

     
      
  • 使用安全,可扩展的托管机密管理服务(无需管理服务器)。
  •   

最后,如果您最终使用参数存储或KMS,则需要在某处存储某种凭据以获取用于调用底层AWS服务的AWS STS令牌。如果在AWS EC2之外工作,您将需要来自IAM用户的AWS Access Key和AWS Secret Key。如果您在EC2中,IAM实例角色将神奇地为您提供凭据并使用该角色来调用这些AWS服务。 AWS开发工具包在幕后为您完成此任务。

但是,正如您所述,您不想在EC2中运行此操作(为了省钱或其他原因)。存储这些凭据的最快方法是将它们放在未跟踪的文件中(添加到.gitignore),您可以将其作为环境变量来源,然后程序将读取这些变量。这允许您进行本地测试,并在EC2中轻松运行 零代码更改。有关要设置的变量,请参阅https://docs.aws.amazon.com/cli/latest/userguide/cli-environment.html。请注意,此doc讲述了CLI; SDK遵循相同的行为。