凭证和配置文件解析 - 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. 具有由中的值指定的名称的凭证配置文件awsConfigs.awspro文件名称.

  3. 具有由指定的名称的凭证配置文件AWS_PROFILE环境变量。

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

  5. SessionAs 凭据从创建的AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY, 和AWS_SESSION_TOKEN环境变量(如果这些变量都不为空)。

  6. BasicAWSCredentials 据从创建的AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY环境变量(如果这两个变量都不为空)。

  7. 任务的 IAM 角色对于 Amazon ECS 任务。

  8. Amazon EC2 实例元数据。

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

资料分辨率

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

awsprofile 位置 配置文件解析行

null (未设置) 或空

搜索 SDK Store(如果平台支持),然后搜索共享Amazon中的凭证文件默认位置. 如果该配置文件不在这两个位置中的任何一个位置,则~/.aws/config(Linux 或 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文档.

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

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

指定角色或临时证书

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

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

使用代理凭证

如果你的软件与Amazon您可以通过代理来指定代理的凭证,方法是使用ProxyCredentials的财产Config服务的类别。这些区域有:Config服务的类通常是服务的主命名空间的一部分。示例包括:卓越亚马逊云目录配置中的Amazon.CloudDirectory命名空间和AmazongGameLiftConfig中的Amazon.gamelLift命名空间。

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

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

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