凭证和配置文件解析 - Amazon SDK for .NET
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

是否要将 .NET 应用程序部署到Amazon通过几个简单点击即可? 尝试我们的新.NET CLI 工具为了简化部署体验!阅读我们的博客帖子然后提交反馈GitHub

有关更多信息,请参阅部署工具

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

凭证和配置文件解析

这些区域有:Amazon SDK for .NET按特定顺序搜索凭证,并对当前应用程序使用第一个可用集。

凭证搜索顺序

  1. 在Amazon服务客户端,如访问应用程序中的凭据和配置文件.

    注意

    该主题位于特殊注意事项部分,因为它不是指定凭据的首选方法。

  2. 凭证配置文件具有由Amazon 配置。文件名.

  3. 凭证配置文件,具有由AWS_PROFILE环境变量。

  4. [default] 凭证配置文件。

  5. 会话可旋转的开发工具包,这些都是从AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY, 和AWS_SESSION_TOKEN环境变量(如果这些变量都不为空)。

  6. BasicAWSCredentials的开发工具包,这些都是从AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY环境变量(如果这两个变量不为空)。

  7. 任务的 IAM 角色了解亚马逊云服务器任务。

  8. Amazon EC2 实例元数据。

如果您的应用程序在 Amazon EC2 实例上运行(例如在生产环境中),请使用 IAM 角色,如通过 IAM 角色授予访问权限. 否则,例如在预发布测试中,将凭证存储在使用Amazon凭证文件格式(Web 应用程序有权访问此格式)。

配置文件解析

对于两种不同的凭证存储机制,请务必了解如何配置Amazon SDK for .NET使用这些功能。这些区域有:Amazon 配置。Amazon 配置文件位置属性控制Amazon SDK for .NET查找凭据配置文件。

AWSS 配置文件位置 配置文件解析行为

null (未设置) 或空

搜索 SDK 应用商店(如果平台支持),然后搜索共享Amazon凭证文件,默认位置. 如果配置文件不在这两个位置中,请搜索~/.aws/config(Linux 或 macOS)或 macOS)%USERPROFILE%\.aws\config(Windows)。

文件的路径Amazon凭证文件格式格式

在指定文件中搜索具有指定名称的配置文件。

使用联合身份用户帐户凭证

应用程序使用Amazon SDK for .NET(AWSSDK.Core版本 3.1.6.0 和更高版本)可以通过 Active Directory Federation Services (AD FS) 使用联合用户帐户来访问Amazon服务,通过使用安全断言标记语言 (SAML)。

联合访问支持意味着用户可使用您的 Active Directory 进行身份验证。系统将自动为用户授予临时凭证。当您的应用程序调用当您的应用程序调用时,将使用这些临时凭证 (有效期为 1 小时)Amazon服务。开发工具包将管理临时凭证。对于已加入域的用户账户,如果您的应用程序发出调用但凭证已过期,则将自动重新验证用户的身份并授予全新凭证。(对于未加入域的账户,在重新进行身份验证之前,系统将提示用户输入凭证。)

要在 .NET 应用程序中使用此支持,您必须先使用 PowerShell cmdlet 设置角色配置文件。要了解如何操作,请参阅Amazon Tools for Windows PowerShell文档.

设置角色配置文件后,请在应用程序中引用配置文件。有很多方法可以做到这一点,其中之一是使用Amazon 配置。文件名属性,与使用其他凭证配置文件的方式相同。

这些区域有:Amazon Security Token Service程序集 (AWSDK。安全令牌)提供 SAML 支持以获取Amazon凭证。要使用联合用户帐户凭证,请确保此程序集对应用程序可用。

指定角色或临时证书

对于 Amazon EC2 实例上运行的应用程序,管理凭证的最安全方式是使用 IAM 角色,如通过 IAM 角色授予访问权限.

对于软件可执行文件对组织外部用户可用的应用程序情景,建议您将软件设计为临时安全凭证. 除了提供限制访问Amazon资源,则这些凭证在指定时段后过期也会有好处。有关临时安全凭证的更多信息,请参阅:

使用代理凭证

如果您的软件与Amazon通过代理,则可通过使用ProxyCredentials属性Config类的服务。这些区域有:Config类通常是服务的主命名空间的一部分。示例包括:卓越亚马逊云目录配置中的卓越亚马逊云目录命名空间和亚马逊配置中的卓越亚马逊游戏命名空间。

适用于Amazon S3,例如,您可以使用如下所示的代码,其中 {my-username} 和 {my-password} 为NetworkCredential对象。

AmazonS3Config config = new AmazonS3Config(); config.ProxyCredentials = new NetworkCredential("my-username", "my-password");
注意

早期版本的开发工具包使用的是 ProxyUsernameProxyPassword,但这两个属性已被弃用。