本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:使用 IAM Identity Center 在 中執行 Amazon S3 命令 AWS CLI
本主題說明如何設定 AWS CLI 以使用目前的 AWS IAM Identity Center (IAM Identity Center) 驗證使用者,以擷取 Amazon Simple Storage Service (Amazon S3) 的 run AWS Command Line Interface (AWS CLI) 命令的登入資料。
主題
步驟 1:在 IAM Identity Center 中驗證身分
取得 IAM Identity Center 內 SSO 身分驗證的存取權。選擇下列其中一種方法來存取您的 AWS 登入資料。
請遵循 AWS IAM Identity Center 使用者指南的入門說明。此程序可以啟動 IAM Identity Center、建立管理使用者,並新增適當的最低權限許可集。
注意
建立套用最低權限許可的許可集。建議您使用預先定義的 PowerUserAccess 許可集,除非您的雇主已為此目的建立了自訂許可集。
結束入口網站並再次登入,以查看 Administrator或 的 AWS 帳戶程式設計存取詳細資訊和選項PowerUserAccess。在使用 SDK 時選取 PowerUserAccess。
透過 AWS 身分提供者的入口網站登入 。如果您的雲端管理員已授予您 PowerUserAccess(開發人員) 許可,您會看到您有權存取 AWS 帳戶 的 和許可集。您會在許可集名稱旁,看到使用該許可集手動或以程式設計方式存取帳戶的選項。
若您自訂實作,可能會產生不同體驗,例如不同的許可集名稱。若您不確定要使用哪個許可集,請聯絡您的 IT 團隊尋求協助。
透過 AWS 您的 AWS 存取入口網站登入 。如果您的雲端管理員已授予您 PowerUserAccess(開發人員) 許可,您會看到您有權存取 AWS 帳戶 的 和許可集。您會在許可集名稱旁,看到使用該許可集手動或以程式設計方式存取帳戶的選項。
請聯絡您的 IT 團隊尋求協助。
步驟 2:收集您的 IAM Identity Center 資訊
取得 的存取權後 AWS,請執行下列動作來收集您的 IAM Identity Center 資訊:
-
收集您需要執行
aws configure sso的SSO Start URL和SSO Region值-
在您的 AWS 存取入口網站中,選取您用於開發的許可集,然後選取存取金鑰連結。
-
在取得憑證對話方塊中,選擇符合您作業系統的索引標籤。
-
選擇 IAM Identity Center 憑證方法,以取得
SSO Start URL和SSO Region值。
-
-
或者,從 2.22.0 版起,您可以使用新發行者 URL,而不是啟動 URL。發行者 URL 位於 AWS IAM Identity Center 主控台中下列其中一個位置:
-
在儀表板頁面上,發行者 URL 位於設定摘要中。
-
在設定頁面上,發行者 URL 位於身分來源設定中。
-
-
如需要在哪些範圍註冊值的詳細資訊,請參閱《IAM Identity Center 使用者指南》中的 OAuth 2.0 存取範圍。
步驟 1:建立 Amazon S3 儲存貯體
登入 AWS 管理主控台 ,並在 https://https://console.aws.amazon.com/s3/
在本教學課程中,建立數個儲存貯體以供稍後在清單中擷取。
步驟 4:安裝 AWS CLI
為您的作業系統安裝 AWS CLI 下列指示。如需詳細資訊,請參閱安裝或更新至 AWS CLI 的最新版本。
安裝完成後,您可以開啟偏好的終端並執行下列命令來驗證安裝。這應該會顯示您已安裝的 版本 AWS CLI。
$ aws --version
步驟 5:設定您的 AWS CLI 設定檔
使用下列其中一種方法來設定您的設定檔
config 檔案的 sso-session區段用於將用於取得 SSO 存取權杖的組態變數分組,然後可用於取得 AWS 登入資料。使用下列的設定:
您可以定義 sso-session 區段,並將其與設定檔建立關聯。sso_region 和 sso_start_url 設定必須在 sso-session 區段中設定。一般而言,sso_account_id 和 sso_role_name 必須在 profile 區段中設定,以讓開發套件請求 SSO 憑證。
下列範例會將開發套件設定為請求 SSO憑認證,並支援自動字符重新整理:
$ aws configure sso
SSO session name (Recommended): my-sso
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]: us-east-1
SSO registration scopes [None]: sso:account:access對於雙堆疊支援,您可以使用雙堆疊 SSO 啟動 URL 格式:
$ aws configure sso
SSO session name (Recommended): my-sso
SSO start URL [None]: https://ssoins-1234567890abcdef.portal.us-east-1.app.aws
SSO region [None]: us-east-1
SSO registration scopes [None]: sso:account:access代碼交換證明金鑰 (PKCE) 授權自 2.22.0 版起為 AWS CLI 的預設值,且必須在具有瀏覽器的裝置上使用。若要繼續使用裝置授權,請附加 --use-device-code 選項。
$ aws configure sso --use-device-codeconfig 檔案的 sso-session區段用於將用於取得 SSO 存取權杖的組態變數分組,然後可用於取得 AWS 登入資料。使用下列的設定:
定義 sso-session 區段並將其與設定檔相關聯。sso_region 和 sso_start_url 必須在 sso-session 區段內設定。一般而言,sso_account_id 和 sso_role_name 必須在 profile 區段中設定,以讓開發套件請求 SSO 憑證。
下列範例會將開發套件設定為請求 SSO憑認證,並支援自動字符重新整理:
[profilemy-dev-profile] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/startsso_registration_scopes =sso:account:access
對於雙堆疊支援,請使用雙堆疊 SSO 啟動 URL 格式:
[profilemy-dev-profile] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://ssoins-1234567890abcdef.portal.us-east-1.app.awssso_registration_scopes =sso:account:access
身分驗證字符會以基於工作階段名稱的檔案名稱快取至 ~/.aws/sso/cache 目錄下的磁碟。
步驟 6:登入 IAM Identity Center
注意
登入程序可能會提示您允許 AWS CLI 存取您的資料。由於 AWS CLI 是建置在適用於 Python 的 SDK 之上,因此許可訊息可能包含botocore名稱的變化。
若要擷取和快取 IAM Identity Center 憑證,請為 AWS CLI 執行下列命令,以開啟預設瀏覽器並驗證您的 IAM Identity Center 登入。
$ aws sso login --profile my-dev-profile
自 2.22.0 版起,PKCE 授權為預設值。若要使用裝置授權登入,請新增 --use-device-code 選項。
$ aws sso login --profile my-dev-profile --use-device-code
步驟 7:執行 Amazon S3 命令
若要列出您先前建立的儲存貯體,請使用 aws s3
ls 命令。以下範例列出您的所有 Amazon S3 儲存貯體。
$aws s3 ls2018-12-11 17:08:50 my-bucket 2018-12-14 14:55:44 my-bucket2
步驟 8:登出 IAM Identity Center
完成使用 IAM Identity Center 設定檔後,請執行下列命令來刪除快取的憑證。
$aws sso logoutSuccessfully signed out of all SSO profiles.
步驟 9:清除資源
完成本教學課程後,請清除任何您在本教學課程中建立但不再需要的資源,包括 Amazon S3 儲存貯體。
疑難排解
如果您使用 遇到問題 AWS CLI,請參閱 故障診斷 的錯誤 AWS CLI 以取得常見的故障診斷步驟。
其他資源
其他資源如下所示。
-
《AWS CLI 第 2 版參考》中的
aws configure sso -
《AWS CLI 第 2 版參考》中的
aws configure sso-session -
《AWS CLI 第 2 版參考》中的
aws sso login -
《AWS CLI 第 2 版參考》中的
aws sso logout -
《Amazon CodeCatalyst 使用者指南》中的設定 以 AWS CLI 搭配 CodeCatalyst 使用 CodeCatalyst
-
《IAM Identity Center 使用者指南》中的 OAuth 2.0 存取範圍
-
《IAM Identity Center 使用者指南》中的入門教學課程