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

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

教學課程:使用 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 許可集,除非您的雇主已為此目的建立了自訂許可集。

結束入口網站並再次登入,以查看 AWS 帳戶或 Administrator 的程式設計存取詳細資訊和選項PowerUserAccess。在使用 SDK 時選取 PowerUserAccess

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

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

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

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

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

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

  1. 收集您需要執行的 SSO Start URLSSO Regionaws configure sso

    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 存取範圍

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

登入 AWS Management Console ,並在 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

根據預設, 會從 2.22.0 版 AWS CLI 開始使用 Code Exchange (PKCE) 授權的驗證金鑰,且必須在具有瀏覽器的裝置上使用。若要繼續使用裝置授權,請附加 --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 的 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 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 以取得常見的疑難排解步驟。

其他資源

其他資源如下所示。