使用 SDK 驗證 AWS - AWS SDK for PHP

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

使用 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 用於要求的預設值。此區域用於未明確設定region屬性的 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

AWS SDK for PHP 不需要將其他套件 (例如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名稱的變體。

進一步了解驗證