

AWS Tools for PowerShell V4 已進入維護模式。

我們建議您遷移至 [AWS Tools for PowerShell V5](https://docs.aws.amazon.com/powershell/v5/userguide/)。如需如何遷移的其他詳細資訊和資訊，請參閱我們的[維護模式公告](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/)。

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

# 使用 設定工具身分驗證 AWS
<a name="creds-idc"></a>

在使用 進行開發 AWS 時，您必須建立程式碼向 進行身分驗證的方式 AWS 服務。視環境和您可用的存取權而定，您可以透過不同方式設定 AWS 資源的程式設計 AWS 存取。

如要查看 Tools for PowerShell 的各種身份驗證方法，請參閱 *AWS SDK 和工具參考指南*中的[身份驗證和存取](https://docs.aws.amazon.com/sdkref/latest/guide/access.html)。

本主題假設新的使用者正在本機開發，其雇主尚未提供身分驗證方法，且將使用 AWS IAM Identity Center 取得臨時登入資料。如果您的環境不適用這些假設，則本主題中的有些資訊可能不適用您的環境，或者有些資訊可能已經提供給您。

設定此環境需要幾個步驟，總結如下：

1. [啟用和設定 IAM Identity Center](#idc-config-sso)

1. [設定 Tools for PowerShell 以使用 IAM Identity Center。](#idc-config-sdk)

1. [啟動 AWS 存取入口網站工作階段](#idc-start-portal)

## 啟用和設定 IAM Identity Center
<a name="idc-config-sso"></a>

若要使用 AWS IAM Identity Center，必須先啟用和設定它。要查看有關如何在 PowerShell 執行此操作的詳細資訊，請參閱 *AWS SDK 和工具參考指南*中 [IAM Identity Center 身份驗證](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html)主題中的**步驟 1**。具體來說，請遵循**我沒有透過 IAM Identity Center 建立存取權限**下的任何必要說明。

## 設定 Tools for PowerShell 以使用 IAM Identity Center。
<a name="idc-config-sdk"></a>

**注意**  
從 Tools for PowerShell 4.1.538 版開始，設定 SSO 憑證和啟動 AWS 存取入口網站工作階段的建議方法是使用 [https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration](https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration)和 [https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin](https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin) cmdlet，如本主題所述。如果您無法存取該版本的 Tools for PowerShell （或更新版本） 或無法使用這些 cmdlet，您仍然可以使用 執行這些任務 AWS CLI。若要了解如何操作，請參閱 [使用 AWS CLI 進行入口網站登入](creds-idc-cli.md)。

下列程序會使用 Tools for PowerShell 用來取得臨時登入資料的 SSO 資訊來更新共用 AWS `config`檔案。由於此程序，也會啟動 AWS 存取入口網站工作階段。如果共用`config`檔案已有 SSO 資訊，而您只想了解如何使用 Tools for PowerShell 啟動存取入口網站工作階段，請參閱本主題的下一節：[啟動 AWS 存取入口網站工作階段](#idc-start-portal)。

1. 如果您尚未這麼做，請開啟 PowerShell 並 AWS Tools for PowerShell 安裝適合您作業系統和環境的 ，包括常見的 cmdlet。如需如何進行該服務的詳細資訊，請參閱[安裝 AWS Tools for PowerShell](pstools-getting-set-up.md)。

   例如，如果在 Windows 上安裝 Tools for PowerShell 的模組化版本，您很可能執行類似以下的命令：

   ```
   Install-Module -Name AWS.Tools.Installer
   Install-AWSToolsModule AWS.Tools.Common
   ```

1. 執行下列命令。將範例屬性值取代為 IAM Identity Center 組態中的值。如需有關這些屬性以及如何尋找它們的資訊，請參閱 *AWS SDKs和工具參考指南中的 *[IAM Identity Center 憑證提供者設定](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#feature-sso-credentials-profile)。

   ```
   $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
   ```

   或者，您可以直接使用 cmdlet， `Initialize-AWSSSOConfiguration`和 Tools for PowerShell 會提示您輸入屬性值。

   特定屬性值的考量事項：
   + 如果您只按照指示[啟用和設定 IAM Identity Center](#idc-config-sso)，則 的值`-RoleName`可能是 `PowerUserAccess`。但是，如果您特別為 PowerShell 工作建立 IAM Identity Center 許可集，請改用它。
   + 請務必使用您已設定 IAM Identity Center AWS 區域 的 。

1. 此時，共用 AWS `config`檔案包含名為 的設定檔`my-sso-profile`，其中包含一組組態值，可從 Tools for PowerShell 參考。若要尋找此檔案的位置，請參閱 *AWS SDK 和工具參考指南*中的[共用檔案位置](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html)。

   Tools for PowerShell 會使用設定檔的 SSO 權杖提供者，在傳送要求至 AWS之前取得憑證。此`sso_role_name`值是連接至 IAM Identity Center 許可集的 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/
   ```

1. 如果您已有作用中的 AWS 存取入口網站工作階段，Tools for PowerShell 會通知您已登入。

   如果不是這種情況，Tools for PowerShell 會嘗試在您的預設 Web 瀏覽器中自動開啟 SSO 授權頁面。請遵循瀏覽器中的提示，其中可能包含 SSO 授權碼、使用者名稱和密碼，以及存取 AWS IAM Identity Center 帳戶和許可集的許可。

   適用於 PowerShell 的工具會通知您 SSO 登入成功。

## 啟動 AWS 存取入口網站工作階段
<a name="idc-start-portal"></a>

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

```
Invoke-AWSSSOLogin -ProfileName my-sso-profile
```

如果您已有作用中的 AWS 存取入口網站工作階段，Tools for PowerShell 會通知您已登入。

如果不是這種情況，Tools for PowerShell 會嘗試在您的預設 Web 瀏覽器中自動開啟 SSO 授權頁面。請遵循瀏覽器中的提示，其中可能包含 SSO 授權碼、使用者名稱和密碼，以及存取 AWS IAM Identity Center 帳戶和許可集的許可。

適用於 PowerShell 的工具會通知您 SSO 登入成功。

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

```
Get-STSCallerIdentity -ProfileName my-sso-profile
```

對 `Get-STSCallerIdentity` cmdlet 的回應會報告共用`config`檔案中設定的 IAM Identity Center 帳戶和許可集。

## 範例
<a name="idc-short-example"></a>

以下是如何將 IAM Identity Center 與 Tools for PowerShell 搭配使用的範例。假設如下：
+ 您已啟用 IAM Identity Center，並依照本主題先前所述進行設定。SSO 屬性位於設定檔中，此`my-sso-profile`設定檔先前在本主題中已設定。
+ 當您透過 `Initialize-AWSSSOConfiguration`或 `Invoke-AWSSSOLogin` cmdlet 登入時，使用者至少擁有 Amazon S3 的唯讀許可。
+ 部分 S3 儲存貯體可供該使用者檢視。

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

```
Get-S3Bucket -ProfileName my-sso-profile
```

## 其他資訊
<a name="idc-additional-info"></a>
+ 有關 Tools for PowerShell 驗證的更多選項，例如使用設定檔和環境變量，請參閱 *AWS SDK 和工具參考指南*中的[組態](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html)章節。
+ 有些命令需要指定 AWS 區域。有多種方法可以執行此操作，包括 `-Region` cmdlet 選項、`[default]`設定檔和`AWS_REGION`環境變數。如需詳細資訊，請參閱本指南[指定 AWS 區域](pstools-installing-specifying-region.md)中的 和 *AWS SDKs和工具參考指南*中的[AWS 區域](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html)。
+ 如需了解有關最佳實務的資訊，請參閱 *IAM 使用者指南*中的 [IAM 安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。
+ 若要建立短期 AWS 登入資料，請參閱《*IAM 使用者指南*》中的[暫時安全登入](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)資料。
+ 若要瞭解其他憑證提供者，請參閱 *AWS SDK 和工具參考指南*中的[標準化憑證提供者](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html)。

**Topics**
+ [啟用和設定 IAM Identity Center](#idc-config-sso)
+ [設定 Tools for PowerShell 以使用 IAM Identity Center。](#idc-config-sdk)
+ [啟動 AWS 存取入口網站工作階段](#idc-start-portal)
+ [範例](#idc-short-example)
+ [其他資訊](#idc-additional-info)
+ [使用 AWS CLI](creds-idc-cli.md)