如何使用AWS存储和访问我的第三方API密钥

时间:2017-11-23 15:36:42

标签: c# asp.net api amazon-web-services encryption

我有一个现有的ASP.NET / C#网站,我希望迁移到AWS。 我目前在加密部分的web.config文件中存储所有第三方API令牌/凭据。

加密是通过普通的aspnet_regiis命令完成的,类似于:

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"

一切都很好。

转到AWS世界我明白我可以使用web.config文件做同样的事情,但我想知道是否有更好,更合适的方法来做到这一点。

AWS Key Management Service听起来似乎是为了解决这个问题,但我可以确定它只是用于存储您的AWS主密钥。

我已经看到人们使用主密钥加密上传到AWS Web服务器的文本文件,然后在需要时使用主密钥解密文件。该文件可能包含第三方密钥列表,因此是解决问题的一种方法。

我想要了解但未能做到的是,这是正确的方法(即将第三方密钥存储在text / json / xml文件中并使用AWS主密钥加密并存储在服务器上并在必要时查询)或者AWS中是否有办法将我的第三方密钥输入某个地方/某个网站应用程序可以直接查询的内容?

1 个答案:

答案 0 :(得分:1)

您有两个很好的选择来存储Amazon EC2实例的凭据。两者都是亚马逊推荐的方法。请勿在EC2实例,代码或S3上存储凭据。

  1. 为您的EC2实例创建IAM角色,分配所需权限,将此角色分配给您的实例。 Amazon SDK将自动提取这些凭据。这是最简单的方法。

  2. 在IAM中创建凭据,然后使用EC2参数存储安全地存储凭据。

  3. IAM Roles

    The Right Way to Store Secrets using Parameter Store