存储API凭据

时间:2017-08-18 21:06:41

标签: amazon-web-services deployment

如何以无法入侵的方式存储API凭据?例如,AWS密钥或Google云密钥?

在生产使用中(比如Heroku或EC2实例),如果你说一个Github存储库,那么很容易被黑客入侵。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您不会将类似的凭据提交给代码。在您的Heroku示例中,您将set them as config variables,然后您的代码将在需要时从环境中提取值。

在AWS中,您可以do something similar,或者您可以使用AWS KMS服务或AWS SSM Parameter Store。此外,在您访问其他AWS服务时,您将使用分配给您的资源的IAM角色,而不是直接使用凭据。

答案 1 :(得分:0)

很简单,你没有。

AWS上的最佳做法是使用分配给EC2(或ECS)实例的IAM实例(或任务)角色。来自文档:

  

我们设计了IAM角色,以便您的应用程序可以安全地从您的实例发出API请求,而无需您管理应用程序使用的安全凭据。您可以委派使用IAM角色发出API请求的权限,而不是创建和分发您的AWS凭据。

您可以在AWS文档的 IAM Roles for Amazon EC2 部分中详细了解IAM角色的工作原理:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html