使用 SDK 驗證 AWS - AWS SDK for JavaScript

我們宣布了即將推 end-of-support 出的 AWS SDK for JavaScript v2。我們建議您移轉至 AWS SDK for JavaScript v3。有關日期,其他詳細信息以及如何遷移的信息,請參閱鏈接的公告。

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

使用 SDK 驗證 AWS

在開發 AWS 時,您必須建立程式碼的驗證方式。 AWS 服務您可以根據環境和您可用的存取權限,以不同的方式設定 AWS 資源的程式設計 AWS 存取。

若要選擇驗證方法並針對 SDK 進行設定,請參閱 SDK 工具參考指南中AWS 的驗證和存取

我們建議在本地開發,並且沒有給予雇主身份驗證方法的新用戶應該設置 AWS IAM Identity Center。此方法包括安裝以便 AWS CLI 於設定,以及定期登入 AWS 存取入口網站。如果選擇此方法,則在 AWS SDK 和工具參考指南中完成 IAM 身分中心身份驗證的程序後,您的環境應包含以下元素:

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

  • 具有設定AWSconfig檔的共用檔案,其中包含一組可從 SDK 參考的設定值。[default]若要尋找此檔案的位置,請參閱 AWS SDK 和工具參考指南中的共用檔案位置

  • 共用config檔案會region設定設定。這會設 AWS 區域 定 SDK 用於 AWS 要求的預設值。此區域用於未指定與要使用的區域一起指定的 SDK 服務請求。

  • SDK 會使用設定檔的 SSO 權杖提供者組態,在傳送要求之前取得認證 AWS。此sso_role_name值是連接至 IAM 身分中心權限集的 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

的 SDK JavaScript 不需要將其他套件 (例如SSOSSOOIDC) 新增至您的應用程式,即可使用 IAM 身分中心驗證。

啟動 AWS 存取入口網站會話

在執行存取的應用程式之前 AWS 服務,您需要 SDK 的使用中存 AWS 取入口網站工作階段,才能使用 IAM 身分中心身分驗證來解析登入資料。根據您設定的工作階段長度,您的存取最終會過期,SDK 會遇到驗證錯誤。若要登入 AWS 存取入口網站,請在中執行下列命令 AWS CLI。

aws sso login

如果您遵循指引並具有預設設定檔設定,則不需要使用--profile選項呼叫指令。如果您的 SSO 權杖提供者組態使用已命名的設定檔,則命令為 aws sso login --profile named-profile

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

aws sts get-caller-identity

如果您的工作階段處於作用中狀態,對此命令的回應會報告共用config檔案中設定的 IAM 身分中心帳戶和權限集。

注意

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

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

更多認證資訊

人類使用者具有人類身分,是應用程式的相關人員、管理員、開發人員、操作員和消費者。他們必須具有身份才能訪問您的 AWS 環境和應用程序。屬於您組織成員的人類使用者 (也就是開發人員) 稱為員工身分識別

存取時使用臨時登入資料 AWS。您可以為您的人類使用者使用身分識別提供者,藉由假設角色 (提供臨時認證) 來提供 AWS 帳戶的聯合存取權。對於集中式存取管理,我們建議您使用 AWS IAM Identity Center (IAM Identity Center) 來管理帳戶的存取權限和這些帳戶內的許可。有關更多替代方案,請參閱以下內容: