使用入口 AWS CLI 網站登入 - AWS Tools for PowerShell

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

使用入口 AWS CLI 網站登入

從工具的 4.1.538 版開始 PowerShell,設定 SSO 認證和啟動 AWS 存取入口網站工作階段的建議方法是使用Initialize-AWSSSOConfigurationInvoke-AWSSSOLogin指令程式,如中所述。設定工具驗證 AWS如果您無法存取 PowerShell (或更新版本) 的工具版本,或無法使用這些指令程式,您仍然可以使用 AWS CLI.

透過設定 PowerShell 要使用 IAM 身分中心的工具 AWS CLI。

如果您尚未這麼做,請務必在繼續之前啟用和設定 IAM 身分中心

有關如何設定 PowerShell 要使用 IAM 身分中心工具的資訊,請參閱 AWS SDK 和工具參考指南IAM 身分中心身分中心主題的步驟 2。 AWS CLI 完成此組態之後,您的系統應該包含下列元素:

  • 您可以在 AWS CLI執行應用程式之前啟動 AWS 存取入口網站工作階段。

  • 包含設定 AWSconfig檔的共用檔案,其中包含可從的「工具」參考的一組組態值 PowerShell。[default]若要尋找此檔案的位置,請參閱 AWS SDK 和工具參考指南中的共用檔案位置。在傳送要求之前, PowerShell 使用設定檔的 SSO 權杖提供者取得認證的工具 AWS。這個sso_role_name值是連接到 IAM 身分中心權限集的 IAM 角色,應該允許存取應用程式中 AWS 服務 使用的角色。

    下列範例config檔案顯示使用 [default] 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
重要

您的工作 PowerShell 階段必須安裝並匯入下列模組,以便 SSO 解析能夠運作:

  • AWS.Tools.SSO

  • AWS.Tools.SSOOIDC

如果您使用的是較舊版本的工具, PowerShell 並且沒有這些模塊,則會出現類似以下內容的錯誤:「找不到彙編 AWSSDK .SSOIDC...」。

啟動 AWS 存取入口網站會話

在執行存取的命令之前 AWS 服務,您需要使用中存 AWS 取入口網站工作階段,以便 Windows 適用的工具 PowerShell 可以使用 IAM 身分中心驗證來解析登入資料。根據您設定的工作階段長度,您的存取最終會過期,而 Windows 的工具 PowerShell 會遇到驗證錯誤。若要登入 AWS 存取入口網站,請在中執行下列命令 AWS CLI。

aws sso login

由於您使用的是[default]設定檔,因此您不需要使用此--profile選項呼叫命令。如果您的 SSO 權杖提供者組態使用具名的設定檔,則aws sso login --profile named-profile改為此命令。有關命名配置文件的更多信息,請參閱 AWS SDK 和工具參考指南中的配置文件部分。

若要測試您是否已經有作用中的工作階段,請執行下列 AWS CLI 命令 (同樣考量具名的設定檔):

aws sts get-caller-identity

對此命令的回應,應報告共用 config 檔案中設定的 IAM Identity Center 帳戶和許可集合。

注意

如果您已經擁有作用中的 AWS 存取入口網站工作階段並執行aws sso login,則不需要提供認證。

登入程序可能會提示您允許 AWS CLI 存取您的資料。由於 AWS CLI 是建置在適用於 Python 的 SDK 之上,因此權限訊息可能包含botocore名稱的變體。

範例

以下是如何將 IAM 身分中心與的工具搭配使用的範例 PowerShell。假設如下:

  • 您已啟用 IAM Identity Center,並依照本主題先前所述進行設定。SSO 屬性位於 [default] 設定檔中。

  • 當您透過使用登入時aws sso login,該使用者至少擁有 Amazon S3 的唯讀許可。 AWS CLI

  • 部分 S3 儲存貯體可供該使用者檢視。

使用下列 PowerShell 命令來顯示 S3 儲存貯體的清單:

Install-Module AWS.Tools.Installer Install-AWSToolsModule S3 # And if using an older version of the AWS Tools for PowerShell: Install-AWSToolsModule SSO, SSOOIDC # In older versions of the AWS Tools for PowerShell, we're not invoking a cmdlet from these modules directly, # so we must import them explicitly: Import-Module AWS.Tools.SSO Import-Module AWS.Tools.SSOOIDC # Older versions of the AWS Tools for PowerShell don't support the SSO login flow, so login with the CLI aws sso login # Now we can invoke cmdlets using the SSO profile Get-S3Bucket

如上所述,由於您正在使用[default]設定檔,因此不需要使用此-ProfileName選項呼叫Get-S3Bucket指令程式。如果您的 SSO 權杖提供者組態使用已命名的設定檔,則命令為 Get-S3Bucket -ProfileName named-profile。有關命名配置文件的更多信息,請參閱 AWS SDK 和工具參考指南中的配置文件部分。

其他資訊

  • 有關「工具」身份驗證的更多選項 PowerShell,例如使用配置文件和環境變量,請參閱 AWS SDK 和工具參考指南中的配置一章。

  • 某些指令需要指定「 AWS 區域」。有許多方法可以這樣做,包括 -Region cmdlet 選項、[default]設定檔和AWS_REGION環境變數。如需詳細資訊,請參閱本指南指定 AWS 區域中的以及 AWS SDK 和工具參考指南中的AWS 區域

  • 如需了解有關最佳實務的資訊,請參閱 IAM 使用者指南中的 IAM 安全最佳實務

  • 若要建立短期 AWS 登入資料,請參閱 IAM 使用者指南中的臨時安全登入資料

  • 若要瞭解其他憑證提供者,請參閱 AWS SDK 和工具參考指南中的標準化憑證提供者