本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 SDK 应用商店(仅适用于 Windows)
(一定要查看重要警告和指南。)
在 Windows 上,开发工具包商店是创建配置文件和存储加密凭据的另一个地方Amazon SDK for .NET应用程序. 它位于%USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json
. 您可以在开发过程中使用 SDK Store 作为替代共享的Amazon凭证文件.
一般信息
SDK 应用商店具有以下优势:
-
SDK 应用商店中的凭证将进行加密,并且 SDK 应用商店驻留在用户的主目录中。这将限制意外泄露凭证的风险。
-
SDK 应用商店还向Amazon Tools for Windows PowerShell和Amazon Toolkit for Visual Studio.
SDK Store 配置文件针对特定主机上的特定用户。无法将这些配置文件复制到其他主机或其他用户。这意味着您无法为其他主机或开发人员计算机重用您的开发计算机上的 SDK Store 配置文件。它还意味着您无法在生产应用程序中使用 SDK Store 配置文件。
您可通过以下方式管理 SDK Store 中的配置文件:
-
在中使用图形用户界面 (GUI)Amazon Toolkit for Visual Studio.
-
使用Amazon.runtime.凭证管理命名空间Amazon SDK for .NETAPI,如本主题后面的所示。
-
使用来自Amazon Tools for Windows PowerShell;例如,
Set-AWSCredential
和Remove-AWSCredentialProfile
.
个人资料管理示例
以下示例向您演示如何在 SDK Store 中以编程方式创建和更新配置文件。
通过编程方式创建配置文件
此示例向您演示如何通过编程方式创建配置文件并将配置文件保存到 SDK Store 中。它使用以下类Amazon.runtime.凭证管理命名空间: 凭据配置文件选项、凭据配置文件, 和NetSDKCredentialsFile.
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 netSdkStore = new NetSDKCredentialsFile(); netSdkStore.RegisterProfile(profile); }
这样的代码通常不应该出现在你的应用程序中。如果应用程序中包含它,请采取适当的预防措施,以确保无法在代码中、网络甚至在计算机内存中看到明文密钥。
以下是由此示例创建的配置文件。
"[generated GUID]" : { "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]", "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]", "ProfileType" : "AWS", "DisplayName" : "my_new_profile", }
以编程方式更新现有的配置文件
此示例向您展示如何以编程方式更新之前创建的配置文件。它使用以下类Amazon.runtime.凭证管理命名空间: 凭据配置文件和NetSDKCredentialsFile. 它还使用RegionEndpoint类亚马逊命名空间。
using Amazon.Runtime.CredentialManagement; ... AddRegion("my_new_profile", RegionEndpoint.USWest2); ... void AddRegion(string profileName, RegionEndpoint region) { var netSdkStore = new NetSDKCredentialsFile(); CredentialProfile profile; if (netSdkStore.TryGetProfile(profileName, out profile)) { profile.Region = region; netSdkStore.RegisterProfile(profile); } }
以下是更新的配置文件。
"[generated GUID]" : { "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]", "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]", "ProfileType" : "AWS", "DisplayName" : "my_new_profile", "Region" : "us-west-2" }
您也可以设置Amazon在其他位置或使用其他方法进行区域。有关更多信息,请参阅配置Amazon区域。