gpt4 book ai didi

web-config - 存储 Amazon AWS Id 和 key 的最安全位置在哪里?

转载 作者:行者123 更新时间:2023-12-03 23:29:49 25 4
gpt4 key购买 nike

我正在使用 ASP.NET 开发应用程序。我想知道 在哪里最安全存储亚马逊 AWS Id 和 key 的地方?

我想到了两种可能性: 在实际的 AmazonAPI.cs(类)本身作为私有(private)成员。二、作为web.config中的appSettings变量?

为了使用适用于 .NET 的 AWS API,我必须在 API 调用中提供这些凭证。我不使用网络服务调用电话。调用是通过我专门为封装 Amazon API 调用而制作的 .cs 类文件进行的。

请你:
提供一个示例代码来演示如何完成它(一个好方法就像找到的 here ) - 如果使用 ASP.NET 4.0,可能会有更好的方法,但我不确定。同样,我想在 web.config 中加密以下内容:

<appSettings>
<add key="AWSAccessKey" value="" />
<add key="AWSSecretKey" value="" />
</appSettings>

谢谢。

顺便说一句:还有一个使用 IAM 用户临时凭证的选项——你知道吗?

最佳答案

您不应将 AWS 访问 key 和 secret 存储在您的代码中。 AWS 使用实例假定的 IAM 角色来获得直接解决此问题的权限。 AWS 在部署时为 EC2 实例提供 IAM 角色。

使用 IAM 角色将权限委派给在 Amazon EC2 上运行的应用程序
http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-ec2instance.html

编辑:
AWS 开发工具包的当前版本鼓励您:

A) 使用 EC2 角色凭证(推荐)

当您将代码部署到 EC2 实例时,代码将自动在角色的上下文中运行。因此,您向分配给 EC2 实例的 IAM 角色添加权限。

B) 使用凭证文件

在生产中使用角色时,您可以在本地/本地机器上开发时使用此技术。这种方法也允许您使用不同的帐户。只需根据需要将更多配置文件部分添加到您的配置中。

  • 在 c:\aws_service_credentials 中创建一个名为
    凭证(无扩展名)
  • 将以下内容添加到您的 app.config<configuration>
    <appSettings>
    <add key="AWSProfileName" value="development"/>
    <add key="AWSProfilesLocation" value="C:\aws_service_credentials\credentials"/>
    </appSettings>
    </configuration>
  • 在正确的文件夹中添加您的凭证文件(例如,C:\aws_service_credentials\credentials)[development]
    aws_access_key_id=AKIAIOSFODNN7EXAMPLE
    aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

  • http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html设置您的凭据。

    确保在进程可以访问的文件夹中创建配置文件(例如,文件夹和文件的所有人权限)。如果您以管理员身份运行您的应用程序,这可能不是问题,但如果您将应用程序作为服务或后台应用程序运行。默认情况下,在 C:\中创建的文件夹不会打开以供所有人阅读,因此如果您缺少权限,请添加权限。

    C) 直接将凭据添加到您的应用配置(不推荐)

    不建议使用这种方法,因为如果您的应用配置可以共享并且您的 key 被泄露。
    <add key="AWSAccessKey" value="key"/>
    <add key="AWSSecretKey" value="secret"/>
    <add key="AWSRegion" value="eu-west-1" />

    关于web-config - 存储 Amazon AWS Id 和 key 的最安全位置在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7041092/

    25 4 0
    文章推荐: servlets - @WebServlet 注释不适用于 Tomcat 8
    文章推荐: cpu - SIMD 是否需要多核 CPU?
    文章推荐: angular - typescript 错误 : Type Observable is not assignable to type