我有一个现有的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中是否有办法将我的第三方密钥输入某个地方/某个网站应用程序可以直接查询的内容?
答案 0 :(得分:1)
您有两个很好的选择来存储Amazon EC2实例的凭据。两者都是亚马逊推荐的方法。请勿在EC2实例,代码或S3上存储凭据。
为您的EC2实例创建IAM角色,分配所需权限,将此角色分配给您的实例。 Amazon SDK将自动提取这些凭据。这是最简单的方法。
在IAM中创建凭据,然后使用EC2参数存储安全地存储凭据。