本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用共用AWS認證檔案
請務必檢閱認證的重要警告和指引。)
為應用程式提供認證的一種方法是在共用AWS認證檔案中建立設定檔,然後將認證儲存在這些設定檔中。此檔案可供其他 AWS SDK 使用。它也可以由AWS CLIAWS Tools for Windows PowerShell、和AWS工具組用於 Visual Studio 和 VS 程式碼。JetBrains
警告
為避免安全風險,在開發專用軟體或使用真實資料時,請勿使用 IAM 使用者進行身分驗證。相反地,搭配使用聯合功能和身分提供者,例如 AWS IAM Identity Center。
注意
一般資訊
依預設,共用認AWS證檔案位於您主.aws
目錄中的目錄中,並命名為credentials
;亦即 ~/.aws/credentials
(Linux 或 macOS) 或 %USERPROFILE%\.aws\credentials
(Windows)。若要取得有關替代位置的資訊,請參閱 AWSSDK 和工具參考指南中共用檔案的位置。另請參閱存取應用程式中的認證和設定檔。
共用AWS認證檔案是純文字檔案,並遵循特定格式。如需AWS認證檔案格式的相關資訊,請參閱 AWSSDK 和工具參考指南中認證檔案的格式。
您可以透過多種方式管理共用AWS認證檔案中的設定檔。
-
使用任何文字編輯器建立和更新共用AWS認證檔案。
-
使用亞馬遜。運行時。 CredentialManagementAWS SDK for .NETAPI 的命名空間,如本主題稍後所示。
-
使用和AWS工具組的命令AWS Tools for PowerShell和程序 JetBrains,以及 VS 程式碼。
-
使用AWS CLI指令;例如,
aws configure set aws_access_key_id
和aws configure set aws_secret_access_key
。
設定檔管理範例
以下幾節顯示共用AWS認證檔案中的設定檔範例。某些範例會顯示結果,可透過先前所述的任何憑證管理方法取得結果。其他示例顯示了如何使用特定的方法。
預設設定檔
共用AWS認證檔案幾乎都會有一個名為 default 的設定檔。如果沒有定義其他設定檔,則會在這裡AWS SDK for .NET尋找認證。
設[default]
定檔通常如下所示。
[default] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
透過程式建立設定檔
此範例說明如何建立設定檔,並以程式設計方式將其儲存至共用AWS認證檔案。它使用以下類亞馬遜。運行時。 CredentialManagement命名空間:CredentialProfileOptionsCredentialProfile、和SharedCredentialsFile。
using Amazon.Runtime.CredentialManagement; ... // Do not include credentials in your code. WriteProfile("my_new_profile", SecurelyStoredKeyID, SecurelyStoredSecretAccessKey); ... 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
以編程方式更新現有配置
此範例說明如何以程式設計方式更新先前建立的設定檔。它使用以下類亞馬遜。運行時。 CredentialManagement命名空間:CredentialProfile和SharedCredentialsFile。它還使用 Amazon 命名空間的RegionEndpoint類。
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區域。