設定工具驗證 AWS - AWS Tools for PowerShell

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

設定工具驗證 AWS

在開發 AWS 時,您必須建立程式碼的驗證方式。 AWS 服務您可以透過不同的方式設定 AWS 資源的程式設計存取,具體取決於環境和您可用的 AWS 存取權限。

要查看工具的各種身份驗證方法 PowerShell,請參閱 AWS SDK 和工具參考指南中的身份驗證和訪問

本主題假設新使用者正在本機進行開發,並未提供雇主進行驗證的方法,而且將用 AWS IAM Identity Center 來取得臨時認證。如果您的環境不適用這些假設,則本主題中的有些資訊可能不適用您的環境,或者有些資訊可能已經提供給您。

設定此環境需要幾個步驟,總結如下:

啟用和設定 IAM Identity Center

若要使用 AWS IAM Identity Center,必須先啟用並設定它。要查看有關如何執行此操作的詳細信息 PowerShell,請查看 AWS SDK 和工具參考指南IAM 身份中心身份驗證主題中的步驟 1。具體來說,請遵循我沒有透過 IAM Identity Center 建立存取權限下的任何必要說明。

設定 PowerShell 要使用 IAM 身分中心的工具。

注意

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

下列程序會使用 SSO 資訊來更新共用 AWS config檔案,這些資訊可 PowerShell 用來取得暫時認證的工具。由於此程序,也會啟動 AWS 存取入口網站工作階段。如果共用config檔案已有 SSO 資訊,而您只想知道如何使用的工具啟動存取入口網站工作階段 PowerShell,請參閱本主題的下一節啟動 AWS 存取入口網站會話

  1. 如果您尚未這麼做,請開啟 PowerShell 並安裝適合您作業系統和環境的,包括一般指令程式。 AWS Tools for PowerShell 如需如何進行該服務的詳細資訊,請參閱安裝 AWS Tools for PowerShell

    例如,如果 PowerShell 在 Windows 上安裝「工具」的模組化版本,您很可能會執行類似下列的命令:

    Install-Module -Name AWS.Tools.Installer Install-AWSToolsModule AWS.Tools.Common
  2. 執行下列命令。將範例屬性值取代為 IAM 身分中心組態中的值。有關這些屬性以及如何找到它們的詳細資訊,請參閱 AWS SDK 和工具參考指南中的 IAM 身分中心憑證提供者設定

    $params = @{ ProfileName = 'my-sso-profile' AccountId = '111122223333' RoleName = 'SamplePermissionSet' SessionName = 'my-sso-session' StartUrl = 'https://provided-domain.awsapps.com/start' SSORegion = 'us-west-2' RegistrationScopes = 'sso:account:access' }; Initialize-AWSSSOConfiguration @params

    或者,您也可以單獨使用指令程式Initialize-AWSSSOConfiguration,以及「工具」來提 PowerShell 示您輸入內容值。

    特定屬性值的考量:

    • 如果您只是按照指示啟用和設定 IAM 身分中心,則的值-RoleName可能是PowerUserAccess。但是,如果您建立了專為 PowerShell 工作設定的 IAM 身分中心權限,請改用該權限。

    • 請務必使用已設定 IAM 身分中心的 AWS 區域 位置。

  3. 此時,共用 AWS config檔案包含一個名為的設定檔,其中包my-sso-profile含一組可從的「工具」參考的組態值 PowerShell。若要尋找此檔案的位置,請參閱 AWS SDK 和工具參考指南中的共用檔案位置

    在傳送要求之前, PowerShell 使用設定檔的 SSO 權杖提供者取得認證的工具 AWS。這個sso_role_name值是連接到 IAM 身分中心權限集的 IAM 角色,應該允許存取應用程式中 AWS 服務 使用的角色。

    下列範例顯示使用上述指令建立的設定檔。在您的實際配置文件中,某些屬性值及其順序可能會有所不同。設定檔的sso-session屬性是指名為的區段my-sso-session,其中包含啟動 AWS 存取入口網站工作階段的設定。

    [profile my-sso-profile] sso_account_id=111122223333 sso_role_name=SamplePermissionSet sso_session=my-sso-session [sso-session my-sso-session] sso_region=us-west-2 sso_registration_scopes=sso:account:access sso_start_url=https://provided-domain.awsapps.com/start/
  4. 如果您已經擁有使用中的 AWS 存取入口網站工作階段,用於通 PowerShell 知您已登入的工具。

    如果不是這種情況,則 PowerShell 嘗試在默認 Web 瀏覽器中自動打開 SSO 授權頁面的工具。遵循瀏覽器中的提示,其中可能包括 SSO 授權碼、使用者名稱和密碼,以及存取 AWS IAM Identity Center 帳戶和權限集的權限。

    PowerShell 通知您 SSO 登入成功的工具。

啟動 AWS 存取入口網站會話

在執行存取的命令之前 AWS 服務,您需要使用中存 AWS 取入口網站工作階段, PowerShell 以便使用 IAM 身分中心驗證來解析登入資料的工具。若要登入 AWS 存取入口網站,請在中執行下列命令 PowerShell,其中-ProfileName my-sso-profile是當您遵循本主題前一節中的程序時,在共用config檔案中建立的設定檔名稱。

Invoke-AWSSSOLogin -ProfileName my-sso-profile

如果您已經擁有使用中的 AWS 存取入口網站工作階段,用於通 PowerShell 知您已登入的工具。

如果不是這種情況,則 PowerShell 嘗試在默認 Web 瀏覽器中自動打開 SSO 授權頁面的工具。遵循瀏覽器中的提示,其中可能包括 SSO 授權碼、使用者名稱和密碼,以及存取 AWS IAM Identity Center 帳戶和權限集的權限。

PowerShell 通知您 SSO 登入成功的工具。

若要測試您是否已有作用中的工作階段,請依需要在安裝或匯入AWS.Tools.SecurityToken模組之後執行下列命令。

Get-STSCallerIdentity -ProfileName my-sso-profile

Get-STSCallerIdentity指令程式的回應會報告共用config檔案中設定的 IAM 身分中心帳戶和權限集。

範例

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

  • 您已啟用 IAM Identity Center,並依照本主題先前所述進行設定。SSO 內容位於本主題稍早設定的設定my-sso-profile檔中。

  • 當您透過Initialize-AWSSSOConfigurationInvoke-AWSSSOLogin指令程式登入時,使用者至少擁有 Amazon S3 的唯讀許可。

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

視需要安裝或匯入AWS.Tools.S3模組,然後使用下列 PowerShell 命令顯示 S3 儲存貯體的清單。

Get-S3Bucket -ProfileName my-sso-profile

其他資訊

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

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

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

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

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