使用共享的 AWS 凭据文件 - 适用于 .NET 的 AWS 开发工具包
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

使用共享的 AWS 凭据文件

(请务必查看 凭证的重要警告和指导.)

为应用程序提供凭证的一种方法是在 共享 AWS 凭据文件 然后将凭证存储在这些配置文件中。此文件可由其他AWSSDK使用。它也可以由 AWS CLI, 适用于 Windows PowerShell 的 AWS 工具和AWS工具包 视觉工作室, 黑玉、和 VS代码.

一般信息

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

共享的 AWS 凭证文件是纯文本文件,遵循特定格式。有关 AWS 凭证文件,请参阅 凭据文件的格式AWSSDK和工具共享配置和凭据参考指南.

您可以在共享的 AWS 凭证文件。

配置文件管理示例

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

默认配置文件

共享的 AWS 凭证文件几乎总是有一个名为 默认. 这里是 适用于 .NET 的 AWS 开发工具包 如果没有定义其他配置文件,会查找凭证。

[default] 配置文件通常类似于以下。

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

以编程方式创建配置文件

此示例向您展示如何创建配置文件并将其保存到共享的 AWS 凭证文件编程。它使用以下类别 Amazon.Runtime.凭证管理 命名空间: 凭证配置文件选项, 凭据配置文件、和 共享凭证文件.

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

以编程方式更新现有个人资料

此示例向您展示如何以编程方式更新之前创建的配置文件。它使用以下类别 Amazon.Runtime.凭证管理 命名空间: 凭据配置文件共享凭证文件. 它还使用 区域端点 类别 亚马逊 命名空间。

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
注意

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