使用 設定 SDK 身分驗證 AWS - AWS SDK for .NET

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 設定 SDK 身分驗證 AWS

您必須建立使用 開發 AWS 時程式碼的身分驗證方式 AWS 服務。視環境和您可用的存取權而定,您可以透過不同方式設定 AWS 資源的程式設計 AWS 存取。

若要查看 SDK 的各種身分驗證方法,請參閱 AWS SDKs and Tools 參考指南中的身分驗證和存取

本主題假設新的使用者正在本機開發,其雇主尚未提供身分驗證方法,並將使用 AWS IAM Identity Center 來取得臨時憑證。如果您的環境不適用這些假設,則本主題中的有些資訊可能不適用您的環境,或者有些資訊可能已經提供給您。

設定此環境需要幾個步驟,總結如下:

啟用和設定 IAM Identity Center

若要使用 IAM Identity Center,必須先啟用並設定它。若要查看如何為 SDK 執行此操作的詳細資訊,請參閱 AWS SDKs and Tools 參考指南中的 IAM Identity Center 身分驗證主題中的步驟 1。具體而言,請遵循我尚未透過 IAM Identity Center 建立存取權下的任何必要指示。

設定 SDK 以使用 IAM Identity Center。

有關如何設定 SDK 以使用 IAM Identity Center 的資訊,請參閱 AWS SDKs and Tools 參考指南中的 IAM Identity Center 身分驗證主題中的步驟 2。完成此組態之後,您的系統應該包含下列元素:

  • 在執行應用程式之前 AWS CLI,您用來啟動 AWS 存取入口網站工作階段的 。

  • 包含[default]設定檔的共用 AWS config檔案,其中包含一組可以從 SDK 參考的組態值。若要尋找此檔案的位置,請參閱 AWS SDKs and Tools 參考指南中的共用檔案的位置。 AWS SDK for .NET 使用設定檔的 SSO 權杖提供者,在傳送請求至 之前取得憑證 AWS。此sso_role_name值是連接至 IAM Identity Center 許可集的 IAM 角色,應允許存取您應用程式中 AWS 服務 使用的 。

    下列範例config檔案顯示使用 SSO 字符提供者設定的預設設定檔。設定檔的 sso_session 設定是指已命名的 sso-session 區段。sso-session 本節包含啟動 AWS 存取入口網站工作階段的設定。

    [default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://provided-domain.awsapps.com/start sso_registration_scopes = sso:account:access
重要

如果您使用 AWS IAM Identity Center 進行身分驗證,您的應用程式必須參考下列 NuGet 套件,以便 SSO 解析能夠運作:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

未參考這些套件將導致執行期例外狀況。

啟動 AWS 存取入口網站工作階段

在執行存取的應用程式之前 AWS 服務,您需要有效的 AWS 存取入口網站工作階段,讓 SDK 使用 IAM Identity Center 身分驗證來解析憑證。視您設定的工作階段長度而定,您的存取權最終會過期,而 SDK 將遇到身分驗證錯誤。若要登入 AWS 存取入口網站,請在 中執行下列命令 AWS CLI。

aws sso login

由於您有預設的設定檔設定,因此您不需要使用 --profile 選項呼叫指令。如果您的 SSO 字符提供者組態使用具名設定檔,則命令為 aws sso login --profile named-profile

若要測試是否已有作用中工作階段,請執行下列 AWS CLI 命令。

aws sts get-caller-identity

對此命令的回應應報告共用config檔案中設定的 IAM Identity Center 帳戶和許可集。

注意

如果您已有作用中的 AWS 存取入口網站工作階段並執行 aws sso login,則不需要提供憑證。

登入程序可能會提示您允許 AWS CLI 存取您的資料。由於 AWS CLI 建置在 SDK for Python 之上,因此許可訊息可能包含botocore名稱的變化。

其他資訊

  • 如需在開發環境中使用 IAM Identity Center 和 SSO 的詳細資訊,請參閱 進階身份驗證 單一登入一節中的 。此資訊包括替代和更進階的方法,以及向您展示如何使用這些方法的教學課程。

  • 如需 SDK 身分驗證的更多選項,例如使用設定檔和環境變數,請參閱 AWS SDKs and Tools 參考指南中的組態章節。

  • 若要進一步了解最佳實務,請參閱 IAM 使用者指南中的 Word 中的安全最佳實務IAM

  • 若要建立短期 AWS 憑證,請參閱 IAM 使用者指南中的暫時安全憑證

  • 若要了解其他憑證提供者,請參閱 AWS SDKs and Tools 參考指南中的標準化憑證提供者