本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 SDK 驗證AWS
在開發AWS時,您必須建立程式碼的驗證方式AWS 服務。您可以根據環境和您可用的存取權,以不同的方式設定AWS資源的程式設計AWS存取。
若要選擇驗證方法並針對 SDK 進行設定,請參閱 SDK 和工具參考指南中的驗證和存取。AWS
我們建議在本地開發,並且沒有給予雇主身份驗證方法的新用戶應該設置AWS IAM Identity Center。此方法包括安裝以便AWS CLI於設定,以及定期登入AWS存取入口網站。如果選擇此方法,則在 AWSSDK 和工具參考指南中完成 IAM 身分中心身份驗證的程序後,您的環境應包含以下元素:
-
您可以在AWS CLI執行應用程式之前啟動AWS存取入口網站工作階段。
-
具有設定AWS
config
檔的共用檔案,其中包含一組可從 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 不需要將其他套件 (例如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 的開發套件之上,因此許可訊息可能會包含不同的botocore
名稱。
更多的驗證證
人類使用者具有人類身分,是應用程式的相關人員、管理員、開發人員、操作員和消費者。他們必須要有一個身分,才能存取您的 AWS 環境和應用程式。擁有您組織成員身分的人類使用者,也具有人力身分。
存取時使用臨時認證AWS。您可以為人類使用者使用身分提供者,透過擔任角色 (提供暫時性憑證) 來提供對 AWS 帳戶的聯合存取權。如果是集中式存取管理,我們建議您使用AWS IAM Identity Center (IAM Identity Center) 管理您帳戶的存取權和這些帳戶內的許可。如需詳細資料,請參閱下列各項:
-
如需詳細資訊,請參閱 IAM 使用者指南中的 IAM 安全最佳實務。
-
若要建立短期AWS登入資料,請參閱 IAM 使用者指南中的臨時安全登入資料。
-
若要了解 Ruby 認證提供者的其他AWS SDK,請參閱 AWSSDK 和工具參考指南中的標準化認證提供者。