【问题标题】:How to specify AWS credentitals for .NET AWS SDK如何为 .NET AWS 开发工具包指定 AWS 凭证
【发布时间】:2016-05-17 20:20:02
【问题描述】:

AWS .Net SDK 指定了几种指定凭证的方法。其中之一是 SDK 商店 - http://docs.aws.amazon.com/AWSSdkDocsNET/V3/DeveloperGuide/net-dg-config-creds.html#net-dg-config-creds-sdk-store

在同一份文件中,写了两个看似矛盾的东西:

“SDK 商店配置文件特定于特定主机上的特定用户。它们不能复制到其他主机或其他用户。因此,SDK 商店配置文件不能用于生产应用程序。”

“相关的凭据在构建过程中被合并到应用程序中。”

如果在构建时将凭据包含在程序中,那么为什么我不能在生产环境中使用 SDK 存储方法?

这让我要么将凭据存储在 .config 文件或凭据文件中,要么使用角色。

【问题讨论】:

    标签: amazon-web-services aws-sdk


    【解决方案1】:

    为了澄清,文档说明如果您只使用 SDK 商店,您不能简单地拿起您的应用程序并将其移动到任何其他机器上,同时期望它按原样工作。如果您使用配置文件名称,您的应用程序将引用本地 SDK 存储中的配置文件名称(或者,如果失败,则引用其他 AWS 资源(如 AWS CLI)使用的凭证文件)。

    例如,如果您在个人计算机上创建了一个名为 dev-Amit 的配置文件,然后在生产中移动到另一台机器上,则 dev-Amit 将不存在,除非您已经在该机器上配置了相同的 SDK 存储个人资料名称。

    此行为违反了在 EC2 中传递凭据的推荐做法using temporary credentials via IAM Roles。使用此方法,您只需将 IAM 角色附加到具有足够权限以执行您的应用程序需要执行的任何操作的实例,即可可靠地将凭证传递给 EC2 实例上的应用程序。这种方法是首选,因为您不必登录到实例来配置任何东西;您只需在创建时附加 IAM 角色。

    更多资源:

    【讨论】:

    • 感谢您的澄清。有一段时间,文档让我相信凭据是在构建时在应用程序中烘焙的。我最终使用了配置文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 2017-05-14
    • 2019-04-24
    • 2015-08-18
    • 2011-11-10
    • 1970-01-01
    • 2016-11-10
    相关资源
    最近更新 更多