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

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

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

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

使用共享Amazon凭证文件

(请务必查看重要警告和证书指南。)

为应用程序提供凭据的一种方法是在共享Amazon凭证文件,然后将凭据存储在这些配置文件中。此文件可由其他Amazon开发工具包。它还可用于Amazon CLIAmazon Tools for Windows PowerShell,以及AmazonToolkit forVisual StudioJetBrains, 和VS 代码.

一般信息

默认情况下,共享Amazon凭证文件位于.aws目录中的目录,并且命名为credentials;也就是说,~/.aws/credentials(Linux 或 macOS)或 macOS)%USERPROFILE%\.aws\credentials(Windows)。有关备用位置的信息,请参阅。共享文件的位置中的Amazon开发工具包和工具参考指南. 另请参阅访问应用程序中的凭据和配置文件

共享Amazon凭证文件是纯文本文件,并遵循某种格式。有关格式的信息Amazon凭据文件,请参阅凭证文件的格式中的Amazon开发工具包和工具参考指南.

您可以管理共享的Amazon凭证文件(多种方式)。

配置文件管理示例

以下各部分介绍共享Amazon凭证文件。其中一些例子显示了结果,可以通过前面描述的任何证书管理方法获得结果。其他示例演示如何使用特定方法。

默认配置文件

共享Amazon凭据文件几乎总是有一个名为default (默认). 在这种情况下,Amazon SDK for .NET如果没有定义其他配置文件,则会查找凭据。

这些区域有:[default]配置文件通常类似以下内容。

[default] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

以编程方式创建配置文件

本示例说明了如何创建配置文件并将其保存到共享Amazon凭证文件以编程方式。它使用以下类卓越亚马逊运行时间凭证管理命名空间: 凭据配置文件选项凭据配置文件, 和SharedCredentialsFile.

using Amazon.Runtime.CredentialManagement; ... // For illustrative purposes only--do not include credentials in your code. WriteProfile("my_new_profile", "AKIAIOSFODNN7EXAMPLE", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"); ... void WriteProfile(string profileName, string keyId, string secret) { Console.WriteLine($"Create the [{profileName}] profile..."); var options = new CredentialProfileOptions { AccessKey = keyId, SecretKey = secret }; var profile = new CredentialProfile(profileName, options); var sharedFile = new SharedCredentialsFile(); sharedFile.RegisterProfile(profile); }
警告

这样的代码通常不应该在你的应用程序中。如果将其包含在应用程序中,请采取适当的预防措施,以确保无法在代码中、网络甚至在计算机内存中看到明文密钥。

以下是由此示例创建的配置文件。

[my_new_profile] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

以编程方式更新现有的配置文件

此示例说明如何以编程方式更新之前创建的配置文件。它使用以下类卓越亚马逊运行时间凭证管理命名空间: 凭据配置文件SharedCredentialsFile. 它还使用RegionEndpointAmazon命名空间。

using Amazon.Runtime.CredentialManagement; ... AddRegion("my_new_profile", RegionEndpoint.USWest2); ... void AddRegion(string profileName, RegionEndpoint region) { var sharedFile = new SharedCredentialsFile(); CredentialProfile profile; if (sharedFile.TryGetProfile(profileName, out profile)) { profile.Region = region; sharedFile.RegisterProfile(profile); } }

以下是更新后的配置文件。

[my_new_profile] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY region=us-west-2
注意

您也可以设置Amazon在其他位置和使用其他方法的区域。有关更多信息,请参阅配置Amazon区域