本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 SDK 驗證 AWS
在開發 AWS 時,您必須建立程式碼的驗證方式。 AWS 服務您可以根據環境和您可用的存取權,以不同的方式設定 AWS 資源的程式設計 AWS 存取。
若要選擇驗證方法並針對 SDK 進行設定,請參閱 SDK 和工具參考指南中AWS 的驗證和存取。
我們建議在本地開發,並且沒有給予雇主身份驗證方法的新用戶應該設置 AWS IAM Identity Center。此方法包括安裝以便 AWS CLI 於設定,以及定期登入 AWS 存取入口網站。如果選擇此方法,則在 AWS SDK 和工具參考指南中完成 IAM 身分中心身份驗證的程序後,您的環境應包含以下元素:
-
您可以在 AWS CLI執行應用程式之前啟動 AWS 存取入口網站工作階段。
-
具有設定AWS
config
檔的共用檔案,其中包含 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 不需要將其他套件 (例如SSO
和SSOOIDC
) 新增至您的應用程式,即可使用 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
名稱的變體。
進一步了解驗證
-
如需使用 IAM 身分中心進行身份驗證的詳細資訊,請參閱 AWS SDK 和工具參考指南中的了解 IAM 身分中心身份驗證
-
如需了解有關最佳實務的資訊,請參閱 IAM 使用者指南中的 IAM 安全最佳實務。
-
若要建立短期 AWS 登入資料,請參閱 IAM 使用者指南中的臨時安全登入資料。
-
若要瞭解 AWS SDK for PHP 可以使用的其他認證提供者,請參閱 AWS SDK 和工具參考指南中的標準化認證提供者。