

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

# 教學課程：使用 IAM Identity Center 在 中執行 Amazon S3 命令 AWS CLI
<a name="cli-configure-sso-tutorial"></a>

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

**Topics**
+ [

## 步驟 1：在 IAM Identity Center 中驗證身分
](#cli-configure-sso-tutorial-authentication)
+ [

## 步驟 2：收集您的 IAM Identity Center 資訊
](#cli-configure-sso-tutorial-gather)
+ [

## 步驟 1：建立 Amazon S3 儲存貯體
](#cli-configure-sso-tutorial-buckets)
+ [

## 步驟 4：安裝 AWS CLI
](#cli-configure-sso-tutorial-install)
+ [

## 步驟 5：設定您的 AWS CLI 設定檔
](#cli-configure-sso-tutorial-configure)
+ [

## 步驟 6：登入 IAM Identity Center
](#cli-configure-sso-tutorial-login.title)
+ [

## 步驟 7：執行 Amazon S3 命令
](#cli-configure-sso-tutorial-commands)
+ [

## 步驟 8：登出 IAM Identity Center
](#cli-configure-sso-tutorial-logout)
+ [

## 步驟 9：清除資源
](#cli-configure-sso-tutorial-cleanup)
+ [

## 疑難排解
](#cli-configure-sso-tutorial-tshoot)
+ [

## 其他資源
](#cli-configure-sso-tutorial-resources.title)

## 步驟 1：在 IAM Identity Center 中驗證身分
<a name="cli-configure-sso-tutorial-authentication"></a>

取得 IAM Identity Center 內 SSO 身分驗證的存取權。選擇下列其中一種方法來存取您的 AWS 登入資料。

### 我沒有透過 IAM Identity Center 建立存取權
<a name="idc-access"></a>

請遵循 *AWS IAM Identity Center 使用者指南*的[入門](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)說明。此程序可以啟動 IAM Identity Center、建立管理使用者，並新增適當的最低權限許可集。

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

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

### 我已經 AWS 可以透過我的雇主管理的聯合身分提供者 （例如 Azure AD 或 Okta) 存取
<a name="federated-access"></a>

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

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

### 我已經 AWS 可以透過我的雇主管理的 AWS 存取入口網站存取
<a name="accessportal-access"></a>

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

### 我已經能夠 AWS 透過由我的雇主管理的聯合身分自訂身分提供者存取
<a name="customfederated-access"></a>

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

## 步驟 2：收集您的 IAM Identity Center 資訊
<a name="cli-configure-sso-tutorial-gather"></a>

取得 的存取權後 AWS，請執行下列動作來收集您的 IAM Identity Center 資訊：

1. 收集您需要執行 `aws configure sso` 的 `SSO Start URL` 和 `SSO Region` 值

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

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

   1. 選擇 **IAM Identity Center 憑證**方法，以取得 `SSO Start URL` 和 `SSO Region` 值。

1. 或者，從 2.22.0 版起，您可以使用新發行者 URL，而不是啟動 URL。發行者 URL 位於 AWS IAM Identity Center 主控台中下列其中一個位置：
   + 在**儀表板**頁面上，發行者 URL 位於設定摘要中。
   + 在**設定**頁面上，發行者 URL 位於**身分來源**設定中。

1. 如需要在哪些範圍註冊值的詳細資訊，請參閱《IAM Identity Center 使用者指南》**中的 [OAuth 2.0 存取範圍](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept)。

## 步驟 1：建立 Amazon S3 儲存貯體
<a name="cli-configure-sso-tutorial-buckets"></a>

登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)：// 開啟 Amazon S3 主控台。

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

## 步驟 4：安裝 AWS CLI
<a name="cli-configure-sso-tutorial-install"></a>

為您的作業系統安裝 AWS CLI 下列指示。如需詳細資訊，請參閱[安裝或更新至最新版本的 AWS CLI](getting-started-install.md)。

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

```
$ aws --version
```

## 步驟 5：設定您的 AWS CLI 設定檔
<a name="cli-configure-sso-tutorial-configure"></a>

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

### 使用 `aws configure sso` 精靈設定您的設定檔
<a name="li-configure-sso-tutorial-configure-wizard"></a>

`config` 檔案的 `sso-session`區段用於將用於取得 SSO 存取權杖的組態變數分組，然後可用於取得 AWS 登入資料。使用下列的設定：
+ **(必要)** `sso\$1start\$1url`
+ **(必要)** `sso\$1region`
+ `sso\$1account\$1id`
+ `sso\$1role\$1name`
+ `sso\$1registration\$1scopes`

您可以定義 `sso-session` 區段，並將其與設定檔建立關聯。`sso_region` 和 `sso_start_url` 設定必須在 `sso-session` 區段中設定。一般而言，`sso_account_id` 和 `sso_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
```

對於雙堆疊支援，您可以使用雙堆疊 SSO 啟動 URL 格式：

```
$ aws configure sso
SSO session name (Recommended): my-sso
SSO start URL [None]: https://ssoins-1234567890abcdef.portal.us-east-1.app.aws
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` 檔案手動設定
<a name="cli-configure-sso-tutorial-configure-manual"></a>

`config` 檔案的 `sso-session`區段用於將用於取得 SSO 存取權杖的組態變數分組，然後可用於取得 AWS 登入資料。使用下列的設定：
+ **(必要)** `sso\$1start\$1url`
+ **(必要)** `sso\$1region`
+ `sso\$1account\$1id`
+ `sso\$1role\$1name`
+ `sso\$1registration\$1scopes`

定義 `sso-session` 區段並將其與設定檔相關聯。`sso_region` 和 `sso_start_url` 必須在 `sso-session` 區段內設定。一般而言，`sso_account_id` 和 `sso_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
```

對於雙堆疊支援，請使用雙堆疊 SSO 啟動 URL 格式：

```
[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://ssoins-1234567890abcdef.portal.us-east-1.app.aws
sso_registration_scopes = sso:account:access
```

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

## 步驟 6：登入 IAM Identity Center
<a name="cli-configure-sso-tutorial-login.title"></a>

**注意**  
登入程序可能會提示您允許 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 命令
<a name="cli-configure-sso-tutorial-commands"></a>

若要列出您先前建立的儲存貯體，請使用 [https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html) 命令。以下範例列出您的所有 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
<a name="cli-configure-sso-tutorial-logout"></a>

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

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

## 步驟 9：清除資源
<a name="cli-configure-sso-tutorial-cleanup"></a>

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

## 疑難排解
<a name="cli-configure-sso-tutorial-tshoot"></a>

如果您使用 遇到問題 AWS CLI，請參閱 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 以取得常見的故障診斷步驟。

## 其他資源
<a name="cli-configure-sso-tutorial-resources.title"></a>

其他資源如下所示。
+ [AWS CLI 的 AWS IAM Identity Center 概念](cli-configure-sso-concepts.md)
+ [使用 設定 IAM Identity Center 身分驗證 AWS CLI](cli-configure-sso.md)
+ [安裝或更新至最新版本的 AWS CLI](getting-started-install.md)
+ [中的組態和登入資料檔案設定 AWS CLI](cli-configure-files.md)
+ 《AWS CLI 第 2 版參考》**中的 [https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html)
+ 《AWS CLI 第 2 版參考》**中的 [https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html)
+ 《AWS CLI 第 2 版參考》**中的 [https://docs.aws.amazon.com/cli/latest/reference/sso/login.html](https://docs.aws.amazon.com/cli/latest/reference/sso/login.html)
+ 《AWS CLI 第 2 版參考》**中的 [https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html](https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html)
+ 《Amazon[ CodeCatalyst 使用者指南》中的設定 以 AWS CLI 搭配](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html) CodeCatalyst 使用 * CodeCatalyst *
+ 《IAM Identity Center 使用者指南》**中的 [OAuth 2.0 存取範圍](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept)
+ 《IAM Identity Center 使用者指南》**中的[入門教學課程](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html)