教學課程:使用 IAM Identity Center 在 AWS CLI 中執行 Amazon S3 命令 - AWS Command Line Interface

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

教學課程:使用 IAM Identity Center 在 AWS CLI 中執行 Amazon S3 命令

本主題說明如何設定 AWS CLI 使用目前的 AWS IAM Identity Center (IAM Identity Center) 來驗證使用者,以擷取憑證為 Amazon Simple Storage Service (Amazon S3) 執行 AWS Command Line Interface (AWS CLI) 命令。

步驟 1:在 IAM Identity Center 中驗證身分

取得 IAM Identity Center 內 SSO 身分驗證的存取權。請從下列方式擇一,存取您的 AWS 憑證。

請遵循 AWS IAM Identity Center 使用者指南入門說明。此程序可以啟動 IAM Identity Center、建立管理使用者,並新增適當的最低權限許可集。

注意

建立套用最低權限許可的許可集。建議您使用預先定義的 PowerUserAccess 許可集,除非您的雇主已為此目的建立了自訂許可集。

退出入口網站並再次登入,以查看 AWS 帳戶、以程式設計方式存取詳細資料,及 AdministratorPowerUserAccess 的選項。在使用 SDK 時選取 PowerUserAccess

透過身分提供者的入口網站登入 AWS。若雲端管理員已授予您 PowerUserAccess (開發人員) 權限,您會看到您有權存取的 AWS 帳戶 和許可集。您會在許可集名稱旁,看到使用該許可集手動或以程式設計方式存取帳戶的選項。

若您自訂實作,可能會產生不同體驗,例如不同的許可集名稱。若您不確定要使用哪個許可集,請聯絡您的 IT 團隊尋求協助。

透過您的 AWS 存取入口網站來登入 AWS。若雲端管理員已授予您 PowerUserAccess (開發人員) 權限,您會看到您有權存取的 AWS 帳戶 和許可集。您會在許可集名稱旁,看到使用該許可集手動或以程式設計方式存取帳戶的選項。

請聯絡您的 IT 團隊尋求協助。

步驟 2:收集您的 IAM Identity Center 資訊

取得 AWS 的存取權後,請執行下列動作收集 IAM Identity Center 資訊:

  1. 收集您需要執行 aws configure ssoSSO Start URLSSO Region

    1. 在您的 AWS 存取入口網站中,選取您用於開發的許可集合,然後選取存取金鑰連結。

    2. 取得憑證對話方塊中,選擇符合您作業系統的索引標籤。

    3. 選擇 IAM Identity Center 憑證方法,以取得 SSO Start URLSSO Region 值。

  2. 或者,從 2.22.0 版起,您可以使用新發行者 URL,而不是啟動 URL。發行者 URL 位於下列其中一個位置的 AWS IAM Identity Center 主控台中:

    • 儀表板頁面上,發行者 URL 位於設定摘要中。

    • 設定頁面上,發行者 URL 位於身分來源設定中。

  3. 如需要在哪些範圍註冊值的詳細資訊,請參閱《IAM Identity Center 使用者指南》中的 OAuth 2.0 存取範圍

步驟 1:建立 Amazon S3 儲存貯體

登入 AWS 管理主控台,並開啟位於 https://console.aws.amazon.com/s3/ 的 Amazon S3 主控台。

在本教學課程中,建立數個儲存貯體以供稍後在清單中擷取。

步驟 4:安裝 AWS CLI

遵循適用於您作業系統的指示安裝 AWS CLI。如需詳細資訊,請參閱 安裝或更新至 AWS CLI 的最新版本

安裝完成後,您可以開啟偏好的終端並執行下列命令來驗證安裝。這應該會顯示您已安裝的 AWS CLI 版本。

$ aws --version

步驟 5:設定您的 AWS CLI 設定檔

使用下列其中一種方法來設定您的設定檔

config 檔案的 sso-session 區段用於將配置變數分組以取得 SSO 存取字符,然後用於取得 AWS 憑證。使用下列的設定:

您可以定義 sso-session 區段,並將其與設定檔建立關聯。sso_regionsso_start_url 設定必須在 sso-session 區段中設定。一般而言,sso_account_idsso_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

代碼交換證明金鑰 (PKCE) 授權自 2.22.0 版起為 AWS CLI 的預設值,且必須在具有瀏覽器的裝置上使用。若要繼續使用裝置授權,請附加 --use-device-code 選項。

$ aws configure sso --use-device-code

config 檔案的 sso-session 區段用於將配置變數分組以取得 SSO 存取字符,然後用於取得 AWS 憑證。使用下列的設定:

定義 sso-session 區段並將其與設定檔相關聯。sso_regionsso_start_url 必須在 sso-session 區段內設定。一般而言,sso_account_idsso_role_name 必須在 profile 區段中設定,以讓開發套件請求 SSO 憑證。

下列範例會將開發套件設定為請求 SSO憑認證,並支援自動字符重新整理:

[profile my-dev-profile] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

身分驗證字符會以基於工作階段名稱的檔案名稱快取至 ~/.aws/sso/cache 目錄下的磁碟。

步驟 6:登入 IAM Identity Center

注意

登入程序可能會提示您允許 AWS CLI 存取您的資料。由於 AWS CLI 建置在適用於 Python 的開發套件之上,因此許可訊息可能會包含 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 ls 2018-12-11 17:08:50 my-bucket 2018-12-14 14:55:44 my-bucket2

步驟 8:登出 IAM Identity Center

完成使用 IAM Identity Center 設定檔後,請執行下列命令來刪除快取的憑證。

$ aws sso logout Successfully signed out of all SSO profiles.

步驟 9:清除資源

完成本教學課程後,請清除任何您在本教學課程中建立但不再需要的資源,包括 Amazon S3 儲存貯體。

故障診斷

如果您遭遇有關使用 AWS CLI 的問題,請參閱 故障診斷 的錯誤 AWS CLI 以瞭解常見的故障診斷步驟。

其他資源

其他資源如下所示。