使用 SDK 驗證AWS - AWS SDK 適用於 Ruby

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

使用 SDK 驗證AWS

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

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

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

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

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

  • 共用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

Ruby 適用的AWS SDK 不需要將其他套件 (例如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 的開發套件之上,因此許可訊息可能會包含不同的botocore名稱。

更多的驗證證

人類使用者具有人類身分,是應用程式的相關人員、管理員、開發人員、操作員和消費者。他們必須要有一個身分,才能存取您的 AWS 環境和應用程式。擁有您組織成員身分的人類使用者,也具有人力身分

存取時使用臨時認證AWS。您可以為人類使用者使用身分提供者,透過擔任角色 (提供暫時性憑證) 來提供對 AWS 帳戶的聯合存取權。如果是集中式存取管理,我們建議您使用AWS IAM Identity Center (IAM Identity Center) 管理您帳戶的存取權和這些帳戶內的許可。如需詳細資料,請參閱下列各項: