

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

# 身分管理
<a name="manage-users"></a>

Research and Engineering Studio 可以使用任何 SAML 2.0 相容身分提供者。若要使用 Amazon Cognito 做為原生使用者目錄，以允許使用者使用 Cognito 使用者身分登入 Web 入口網站和 Linux 型 VDIs，請參閱 [設定 Amazon Cognito 使用者](setting-up-cognito-users.md)。如果您使用外部資源或計劃使用 IAM Identity Center 部署 RES，請參閱 [使用 IAM Identity Center 設定單一登入 (SSO)](sso-idc.md)。如果您有自己的 SAML 2.0 相容身分提供者，請參閱 [為單一登入 (SSO) 設定您的身分提供者](configure-id-federation.md)。

**Topics**
+ [設定 Amazon Cognito 使用者](setting-up-cognito-users.md)
+ [Active Directory 同步](active-directory-sync.md)
+ [使用 IAM Identity Center 設定單一登入 (SSO)](sso-idc.md)
+ [為單一登入 (SSO) 設定您的身分提供者](configure-id-federation.md)
+ [設定使用者的密碼](setting-user-passwords.md)

# 設定 Amazon Cognito 使用者
<a name="setting-up-cognito-users"></a>

研究與工程 Studio (RES) 可讓您將 Amazon Cognito 設定為原生使用者目錄。這可讓使用者使用 Amazon Cognito 使用者身分登入 Web 入口網站和 Linux 型 VDIs。管理員可以使用 AWS 主控台中的 csv 檔案，將多個使用者匯入使用者集區。如需大量使用者匯入的詳細資訊，請參閱《*Amazon Cognito 開發人員指南*》中的[從 CSV 檔案將使用者匯入使用者集](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html)區。RES 支援同時使用 Amazon Cognito 型原生使用者目錄和 SSO。

## 管理設定
<a name="setting-up-cognito-users-admin"></a>

身為 RES 管理員，若要將 RES 環境設定為使用 Amazon Cognito 做為使用者目錄，請在可從**環境管理**頁面存取的**身分管理**頁面上切換**使用 Amazon Cognito 做為使用者目錄**按鈕。若要允許使用者自行註冊，請切換相同頁面上**的使用者自行註冊**按鈕。

![\[顯示 cognito 目錄設定的身分管理頁面\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/id-management-cognito-directory.png)


## 使用者在流程中註冊/登入
<a name="setting-up-cognito-users-user-signin"></a>

如果已啟用**使用者自我註冊**，您可以為使用者提供 Web 應用程式的 URL。在那裡，使用者會找到顯示**還不是使用者的選項？ 在此註冊**。

![\[具有自我註冊選項的使用者登入頁面\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/user-sign-up.png)


## 註冊流程
<a name="setting-up-cognito-users-signup"></a>

選擇**還不是使用者的使用者？ 在此註冊**時，系統會要求您輸入其電子郵件和密碼來建立 帳戶。

![\[建立使用者自我註冊的帳戶頁面\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/create-account.png)


在註冊流程中，系統會要求使用者輸入電子郵件中收到的驗證碼，以完成註冊程序。

![\[驗證碼項目頁面\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/verify-email.png)


如果停用自我註冊，使用者將不會看到註冊連結。管理員必須在 RES 外部設定 Amazon Cognito 中的使用者。（請參閱《*Amazon Cognito 開發人員指南*》中的以[管理員身分建立使用者帳戶](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-create-user-accounts.html)。)

![\[驗證碼項目頁面\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/user-sign-in.png)


## 登入頁面選項
<a name="setting-up-cognito-users-login"></a>

如果同時啟用 SSO 和 Amazon Cognito，則會顯示**使用組織 SSO 登入**的選項。當使用者按一下該選項時，它會將其重新路由至其 SSO 登入頁面。根據預設，如果啟用 Amazon Cognito，使用者將會進行身分驗證。

![\[使用者登入頁面，其中包含註冊、驗證帳戶或使用組織 SSO 登入的選項\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/org-sso-sign-in.png)


## Constraints
<a name="setting-up-cognito-users-constraints"></a>
+ 您的 Amazon Cognito **群組名稱**最多可有六個字母；只接受小寫字母。
+ Amazon Cognito 註冊不允許兩個具有相同使用者名稱但不同網域地址的電子郵件地址。
+ 如果同時啟用 Active Directory 和 Amazon Cognito，且系統偵測到重複的使用者名稱，則僅允許 Active Directory 使用者進行身分驗證。管理員應採取步驟，不設定 Amazon Cognito 與其 Active Directory 之間的重複使用者名稱。
+ Cognito 使用者將無法啟動 Windows 型 VDIs因為 RES 不支援 Windows 執行個體的 Amazon Cognito 型身分驗證。

## Amazon Cognito 使用者的管理員群組
<a name="admin-group-cognito-users-sync"></a>

根據預設，RES 會在`admins`群組管理員權限中授予 Cognito 使用者。若要將使用者新增至 Cognito `admins`群組：

1. 導覽至 [Amazon Cognito 主控台](https://console.aws.amazon.com/cognito/home)，然後選擇用於 RES 的現有使用者集區。

1. 導覽至**使用者管理**下的**群組**，然後選擇**建立群組。**

1. 在**建立群組**頁面上的**群組名稱中，**輸入 `admins`。

1. 選取您建立的`admins`群組，然後選擇**新增使用者至群組**以新增 Cognito 使用者。

1. 遵循 手動啟動 Cognito 同步[同步](#setting-up-cognito-users-sync)。

Amazon Cognito 同步成功後，新增至`admins`群組的使用者會收到管理員權限。

## 同步
<a name="setting-up-cognito-users-sync"></a>

RES 每小時會從 Amazon Cognito 同步其資料庫與使用者和群組資訊。屬於群組「管理員」的任何使用者都會在其 VDIs 中獲得 sudo 權限。

您也可以從 Lambda 主控台手動啟動同步。

**手動啟動同步程序：**

1. 開啟 [Lambda 主控台](https://console.aws.amazon.com/lambda)。

1. 搜尋 Cognito 同步 Lambda。此 Lambda 遵循此命名慣例：`{RES_ENVIRONMENT_NAME}_cognito-sync-lambda`。

1. 選取**測試**。

1. 在**測試事件**區段中，選擇右上角**的測試**按鈕。事件內文格式並不重要。

## Cognito 的安全考量
<a name="setting-up-cognito-users-security"></a>

在 2024.12 版本之前，預設會啟用[使用者活動記錄](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html)，這是 Amazon Cognito Plus 計劃功能的一部分。此功能已從基準部署中移除，為想要嘗試 RES 的客戶節省成本。您可以視需要重新啟用此功能，以符合組織的雲端安全設定。

# Active Directory 同步
<a name="active-directory-sync"></a>



## 執行期組態
<a name="active-directory-sync-runtime"></a>

安裝期間，與 Active Directory (AD) 相關的所有 AWS CloudFormation 參數都是選用的。

![\[Active Directory 選用詳細資訊\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/active-directory-details.png)


對於執行時間提供的任何秘密 ARN （例如 `ServiceAccountCredentialsSecretArn`或 `DomainTLSCertificateSecretArn`)，請務必將下列標籤新增至 RES 的秘密，以取得讀取秘密值的許可：
+ 金鑰：`res:EnvironmentName`、值：`<your RES environment name>`
+ 金鑰：`res:ModuleName`、值：`directoryservice`

Web 入口網站中的任何 AD 組態更新都會在下一次排定的 AD 同步期間自動取得 （每小時）。使用者可能需要在變更 AD 組態後重新設定 SSO （例如，如果切換到不同的 AD)。

初次安裝後，管理員可以在**身分管理**頁面下的 RES Web 入口網站中檢視或編輯 AD 組態：

![\[Active Directory 網域組態設定詳細資訊\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-active-directory-domain.png)


![\[Active Directory 同步快顯\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/active-directory-synchronization.png)


### 自動加入 Active Directory
<a name="toggle-join-active-directory"></a>

管理員可以設定**自動加入 Active Directory ** 設定，以在 VDI 啟動期間控制目錄網域加入行為。

 ** 組態選項： **
+  ** 已啟用 **- 在啟動期間自動將 Windows 和 Linux VDIs 加入目錄網域。
+  ** 已停用 ** - 關閉自動加入網域。Linux 執行個體可以在有或沒有加入網域的情況下啟動。Windows 執行個體需要網域加入才能成功啟動，因此管理員必須在其自訂啟動指令碼中包含網域加入邏輯。

**重要**  
 如果您停用此設定，請確認您的 Windows 執行個體自訂啟動指令碼包含必要的網域加入邏輯。

### 其他設定
<a name="active-directory-sync-addl-settings"></a>

**篩選條件**

管理員可以使用使用者篩選和群組篩選選項篩選**要同步的使用者**或**群組**。篩選條件必須遵循 [LDAP 篩選條件語法](https://ldap.com/ldap-filters/)。範例篩選條件為：

```
(sAMAccountname=<user>)
```

**自訂 SSSD 參數**

管理員可以提供索引鍵/值對的字典，其中包含要寫入叢集執行個體上 SSSD 組態檔案 `[domain_type/DOMAIN_NAME]` 區段的 SSSD 參數和值。RES 會自動套用 SSSD 更新 – 它會重新啟動叢集執行個體上的 SSSD 服務，並觸發 AD 同步程序。

一些常見的自訂 SSSD 設定包括：
+ `enumerate` - 設定為「true」以快取目錄服務中的所有使用者和群組項目。停用此功能可能會為使用者的第一次登入新增短暫延遲。
+ `ldap_id_mapping` - 設定為「true」，將 LDAP/AD 使用者和群組 IDs 映射至 Linux 系統上的本機 UIDs GIDs。啟用此功能可以改善與現有 POSIX 指令碼和應用程式的相容性。

如需 SSSD 組態檔案的完整說明，請參閱 的 Linux 手冊頁面`SSSD`。

![\[其他 SSSD 組態\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-additional-sssd-config1.png)


SSSD 參數和值必須與 RES SSSD 組態相容，如下所述：
+ `id_provider` 由 RES 內部設定，不得修改。
+ AD 相關組態，包括 `ldap_uri`、 `ldap_search_base``ldap_default_bind_dn`和 `ldap_default_authtok` 是根據其他提供的 AD 組態設定，不得修改。

下列範例會啟用 SSSD 日誌的偵錯層級：

![\[顯示輸入新金鑰和值對的其他 SSSD 組態\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-additional-sssd-config2.png)


## 初始 AD 同步後的電子郵件更新 (2025.09 及更新版本）
<a name="ad-sync-update-email"></a>

如果 Active Directory 使用者的電子郵件地址已變更，管理員可以手動啟動 AD 同步，或等待下一次排定的 AD 同步，以收取變更並同步至 RES。

## 如何手動啟動或停止同步 (2025.03 及更新版本）
<a name="active-directory-sync-start-stop"></a>

導覽至**身分管理**頁面，然後選擇 **Active Directory 網域**容器中的**啟動 AD 同步**按鈕，以隨需觸發 AD 同步。

![\[Active Directory 網域組態\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-ad-directory-sync1.png)


若要停止持續的 AD 同步，請選取 **Active Directory 網域**容器中的**停止 AD 同步**按鈕。

![\[Active Directory 網域組態頁面顯示停止同步的選項\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-ad-directory-sync2.png)


您也可以在 **Active Directory 網域**容器中檢查 AD 同步狀態和最新的同步時間。

![\[Active Directory 網域組態頁面顯示最新的同步時間\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-ad-directory-sync3.png)


## 如何手動執行同步 (2024.12 和 2024.12.01 版）
<a name="active-directory-sync-manually"></a>

Active Directory 同步程序已從 Cluster Manager 內部主機移至背景中的一次性 Amazon Elastic Container Service (ECS) 任務。程序排程為每小時執行一次，您可以在`<res-environment-name>-ad-sync-cluster`叢集下的 Amazon ECS 主控台中找到執行中的 ECS 任務。

**若要手動啟動它：**

1. 導覽至 [Lambda 主控台](https://console.aws.amazon.com/lambda)並搜尋稱為 的 lambda`<res-environment>-scheduled-ad-sync`。

1. 開啟 Lambda 函數並前往**測試** 

1. 在**事件 JSON** 中輸入下列項目：

   ```
   {
       "detail-type": "Scheduled Event"
   }
   ```

1. 選擇**測試**。

1. 在 **CloudWatch** 下觀察執行中 AD Sync 任務的日誌 → **日誌群組** → `/<environment-name>/ad-sync`。您將看到每個執行中 ECS 任務的日誌。選取最新的 以檢視日誌。

**注意**  
如果您變更 AD 參數或新增 AD 篩選條件，RES 會將新使用者新增至新指定的參數，並移除先前已同步且不再包含在 LDAP 搜尋空間中的使用者。
RES 無法移除主動指派給專案的使用者或群組。您必須從專案中移除使用者，讓 RES 從環境中移除他們。

## SSO 組態
<a name="active-directory-sync-sso-config"></a>

提供 AD 組態後，使用者必須設定單一登入 (SSO)，才能以 AD 使用者身分登入 RES Web 入口網站。SSO 組態已從**一般設定**頁面移至新的**身分管理**頁面。如需設定 SSO 的詳細資訊，請參閱 [身分管理](manage-users.md)。

# 使用 IAM Identity Center 設定單一登入 (SSO)
<a name="sso-idc"></a>

如果您還沒有連接到受管 Active Directory 的身分中心，請從 開始[步驟 1：設定身分中心](#set-up-identity-center)。如果您已有與受管 Active Directory 連線的身分中心，請從 開始[步驟 2：連線至身分中心](#connect-identity-center)。

**注意**  
如果您要部署至 GovCloud 區域，請在 AWS GovCloud (US) 部署 Research and Engineering Studio 的分割區帳戶中設定 SSO。

## 步驟 1：設定身分中心
<a name="set-up-identity-center"></a>

### 啟用 IAM Identity Center
<a name="enabling-identity-center"></a>

1. 登入 [AWS Identity and Access Management 主控台](https://console.aws.amazon.com/iam)。

1. 開啟 **Identity Center**。

1. 選擇**啟用**。

1. 選擇**使用 啟用 AWS Organizations**。

1. 選擇**繼續**。

**注意**  
請確定您位於擁有受管 Active Directory 的相同區域。

### 將 IAM Identity Center 連線至受管 Active Directory
<a name="connecting-identity-center-ad"></a>

啟用 IAM Identity Center 之後，請完成下列建議的設定步驟：

1. 在導覽窗格中，選擇**設定**。

1. 在**身分來源**下，選擇**動作**，然後選擇**變更身分來源**。

1. 在**現有目錄**下，選取您的目錄。

1. 選擇**下一步**。

1. 檢閱您的變更**ACCEPT**，然後在確認方塊中輸入 。

1. 選擇**變更身分來源**。

### 將使用者和群組同步到身分中心
<a name="syncing-identity-center"></a>

在 中所做的變更[將 IAM Identity Center 連線至受管 Active Directory](#connecting-identity-center-ad)完成後，會出現綠色確認橫幅。

1. 在確認橫幅中，選擇**開始引導設定**。

1. 從**設定屬性映射**中，選擇**下一步**。

1. 在**使用者**區段下，輸入您要同步的使用者。

1. 選擇**新增**。

1. 選擇**下一步**。

1. 檢閱您的變更，然後選擇**儲存組態**。

1. 同步程序可能需要幾分鐘的時間。如果您收到有關使用者未同步的警告訊息，請選擇**繼續同步**。

### 啟用使用者
<a name="enabling-users"></a>

1. 從功能表中，選擇**使用者**。

1. 選取您要為其啟用存取權的 （使用者）。

1. 選擇**啟用使用者存取**。

## 步驟 2：連線至身分中心
<a name="connect-identity-center"></a>

### 在 IAM Identity Center 中設定應用程式
<a name="setup-application-identity-center"></a>

1. 開啟 [IAM Identity Center 主控台](https://console.aws.amazon.com/singlesignon/)。

1. 選擇 **Applications (應用程式)**。

1. 選擇**新增應用程式**。

1. 在**設定偏好設定**下，選擇**我有想要設定的應用程式**。

1. 在**應用程式類型**下，選擇 **SAML 2.0。**

1. 選擇**下一步**。

1. 輸入您要使用的顯示名稱和描述。

1. 在 **IAM Identity Center 中繼資料**下，複製 **IAM Identity Center SAML 中繼資料**檔案的連結。使用 RES 入口網站設定 IAM Identity Center 時，您將需要此項目。

1. 在**應用程式屬性**下，輸入您的**應用程式啟動 URL**。例如 `<your-portal-domain>/sso`。

1. 在**應用程式 ACS URL** 下，從 RES 入口網站輸入重新導向 URL。若要尋找此項目：

   1. 在**環境管理**下，選擇**一般設定**。

   1. 選取**身分提供者**索引標籤。

   1. 在**單一登入**下，您會找到 **SAML 重新導向 URL**。

1. 在**應用程式 SAML 對象**下，輸入 Amazon Cognito URN。

   若要建立 urn：

   1. 從 RES 入口網站開啟**一般設定**。

   1. 在**身分提供者**索引標籤下，找到**使用者集區 ID**。

   1. 將**使用者集區 ID** 新增至此字串：

      ```
      urn:amazon:cognito:sp:<user_pool_id>
      ```

1. 輸入 Amazon Cognito URN 之後，請選擇**提交**。

### 設定應用程式的屬性映射
<a name="configure-attribute-mappings"></a>

1. 從 **Identity Center** 開啟所建立應用程式的詳細資訊。

1. 選擇**動作**，然後選擇**編輯屬性映射**。

1. 在**主旨**下，輸入 **\$1\$1user:email\$1**。

1. 在**格式**下，選擇 **emailAddress**。

1. 選擇**新增屬性映射**。

1. **在應用程式中的使用者屬性**下，輸入 'email'。

1. 在 **IAM Identity Center 中此字串值或使用者屬性的映射**下，輸入 **\$1\$1user:email\$1**。

1. 在**格式**下，輸入「未指定」。

1. 選擇**儲存變更**。

### 在 IAM Identity Center 中將使用者新增至應用程式
<a name="add-users-to-application"></a>

1. 從 Identity Center 開啟所建立應用程式的**指派使用者**，然後選擇**指派使用者**。

1. 選取您要指派應用程式存取權的使用者。

1. 選擇 **Assign users (指派使用者)**。

### 在 RES 環境中設定 IAM Identity Center
<a name="setup-sso-environment"></a>

1. 在環境**管理**下的研究和工程 Studio 環境中，開啟**一般設定**。

1. 開啟**身分提供者**索引標籤。

1. 在**單一登入下**，選擇**編輯** (**狀態**旁邊）。

1. 使用下列資訊完成表單：

   1. 選擇 **SAML**。

   1. 在**提供者名稱**下，輸入使用者易記的名稱。

   1. 選擇**輸入中繼資料文件端點 URL**。

   1. 輸入您在 期間複製的 URL[在 IAM Identity Center 中設定應用程式](#setup-application-identity-center)。

   1. 在**提供者電子郵件屬性**下，輸入 'email'。

   1. 選擇**提交**。

1. 重新整理頁面並檢查**狀態**是否顯示為已啟用。

# 為單一登入 (SSO) 設定您的身分提供者
<a name="configure-id-federation"></a>

Research and Engineering Studio 與任何 SAML 2.0 身分提供者整合，以驗證使用者對 RES 入口網站的存取。這些步驟提供與您選擇的 SAML 2.0 身分提供者整合的指示。如果您想要使用 IAM Identity Center，請參閱 [使用 IAM Identity Center 設定單一登入 (SSO)](sso-idc.md)。

**注意**  
使用者的電子郵件必須符合 IDP SAML 聲明和 Active Directory。您需要將身分提供者與 Active Directory 連線，並定期同步使用者。

**Topics**
+ [設定您的身分提供者](#configure-id-federation_config-idp)
+ [設定 RES 以使用您的身分提供者](#configure-id-federation_config-res)
+ [在非生產環境中設定您的身分提供者](#configure-id-federation-demo-env)
+ [偵錯 SAML IdP 問題](#configure-id-federation_debug)

## 設定您的身分提供者
<a name="configure-id-federation_config-idp"></a>

本節提供設定身分提供者的步驟，其中包含來自 RES Amazon Cognito 使用者集區的資訊。

1. RES 假設您有一個 AD (AWS 受管 AD 或自我佈建 AD)，其使用者身分允許存取 RES 入口網站和專案。將您的 AD 連接到您的身分服務提供者，並同步使用者身分。檢查身分提供者的文件，了解如何連接 AD 和同步使用者身分。例如，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用 Active Directory 做為身分來源](https://docs.aws.amazon.com/singlesignon/latest/userguide/gs-ad.html)。

1. 在您的身分提供者 (IdP) 中為 RES 設定 SAML 2.0 應用程式。此組態需要下列參數：
   + **SAML 重新導向 URL** — IdP 用來傳送 SAML 2.0 回應給服務提供者的 URL。
**注意**  
根據 IdP，SAML 重新導向 URL 可能有不同的名稱：  
應用程式 URL
聲明消費者服務 (ACS) URL
ACS POST 繫結 URL

**若要取得 URL**

     1. 以**管理員**或 **clusteradmin** 身分登入 RES。

     1. 導覽至**環境管理** ⇒ **一般設定** ⇒ **身分提供者**。

     1. 選擇 **SAML 重新導向 URL**。
   + **SAML 對象 URI** — 服務提供者端 SAML 對象實體的唯一 ID。
**注意**  
根據 IdP，SAML 對象 URI 可能有不同的名稱：  
ClientID
應用程式 SAML 對象
SP 實體 ID

     以下列格式提供輸入。

     ```
     urn:amazon:cognito:sp:user-pool-id
     ```

**尋找您的 SAML 對象 URI**

     1. 以**管理員**或 **clusteradmin** 身分登入 RES。

     1. 導覽至**環境管理** ⇒ **一般設定** ⇒ **身分提供者**。

     1. 選擇**使用者集區 ID**。

1. 張貼到 RES 的 SAML 聲明必須將下列欄位/宣告設定為使用者的電子郵件地址：
   + SAML 主體或 NameID
   + SAML 電子郵件

1. 您的 IdP 會根據組態，將欄位/宣告新增至 SAML 聲明。RES 需要這些欄位。根據預設，大多數供應商會自動填入這些欄位。如果您必須設定，請參閱下列欄位輸入和值。

   
   + **AudienceRestriction** — 設定為 `urn:amazon:cognito:sp:user-pool-id`。以 Amazon Cognito 使用者集區的 ID 取代 *user-pool-id*。

     ```
     <saml:AudienceRestriction>
         <saml:Audience> urn:amazon:cognito:sp:user-pool-id
     </saml:AudienceRestriction>
     ```
   + **回應** — `InResponseTo`設定為 `https://user-pool-domain/saml2/idpresponse`。將 *user-pool-domain* 取代為您的 Amazon Cognito 使用者集區的網域名稱。

     ```
     <saml2p:Response 
       Destination="https://user-pool-domain/saml2/idpresponse"
       ID="id123" 
       InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" 
       IssueInstant="Date-time stamp" 
       Version="2.0" 
       xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" 
       xmlns:xs="http://www.w3.org/2001/XMLSchema">
     ```
   + **SubjectConfirmationData** — `Recipient`設定為您的使用者集區`saml2/idpresponse`端點和`InResponseTo`原始 SAML 請求 ID。

     ```
     <saml2:SubjectConfirmationData 
       InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" 
       NotOnOrAfter="Date-time stamp" 
       Recipient="https://user-pool-domain/saml2/idpresponse"/>
     ```
   + **AuthnStatement** — 將 設定為下列項目：

     ```
     <saml2:AuthnStatement AuthnInstant="2016-10-30T13:13:28.152TZ"
       SessionIndex="32413b2e54db89c764fb96ya2k" SessionNotOnOrAfter="2016-10-30T13:13:28">
         <saml2:SubjectLocality />
         <saml2:AuthnContext>
             <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml2:AuthnContextClassRef>
         </saml2:AuthnContext>
     </saml2:AuthnStatement>
     ```

1. 如果您的 SAML 應用程式有登出 URL 欄位，請將其設定為：`<domain-url>/saml2/logout`。

**取得網域 URL**

   1. 以**管理員**或 **clusteradmin** 身分登入 RES。

   1. 導覽至**環境管理** ⇒ **一般設定** ⇒ **身分提供者**。

   1. 選擇**網域 URL**。

1. 如果您的 IdP 接受簽署憑證以與 Amazon Cognito 建立信任，請下載 Amazon Cognito 簽署憑證並將其上傳到您的 IdP。

**若要取得簽署憑證**

   1. 開啟 Amazon Cognito [主控台](https://console.aws.amazon.com/cognito/v2/idp/user-pools/)。

   1. 選取您的使用者集區。您的使用者集區應該是 `res-<environment name>-user-pool`。

   1. 選取**登入體驗**索引標籤。

   1. 在**聯合身分提供者登入**區段中，選擇**檢視簽署憑證**。  
![\[在所選使用者集區的聯合身分提供者登入區段中，具有檢視簽署憑證按鈕的 Amazon Cognito 主控台。\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/cognito-user-pool-signing-cert.png)

      您可以使用此憑證來設定 Active Directory IDP、新增 `relying party trust`，以及啟用此依賴方的 SAML 支援。
**注意**  
這不適用於 Keycloak 和 IDC。

   1. 應用程式設定完成後，請下載 SAML 2.0 應用程式中繼資料 XML 或 URL。您可以在下一節中使用它。

## 設定 RES 以使用您的身分提供者
<a name="configure-id-federation_config-res"></a>

**完成 RES 的單一登入設定**

1. 以**管理員**或 **clusteradmin** 身分登入 RES。

1. 導覽至**環境管理** ⇒ **一般設定** ⇒ **身分提供者**。  
![\[RES 中的環境設定使用者介面，包括單一登入的 區段。\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/environment-settings.png)

1. 在**單一登入**下，選擇狀態指示燈旁的編輯圖示，以開啟**單一登入組態**頁面。  
![\[RES 中的單一登入組態使用者介面。\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/sso-config.png)

   1. 針對**身分提供者**，選擇 **SAML**。

   1. 在**提供者名稱**中，輸入身分提供者的唯一名稱。
**注意**  
不允許使用下列名稱：  
Cognito
IdentityCenter

   1. 在**中繼資料文件來源**下，選擇適當的選項並上傳中繼資料 XML 文件，或從身分提供者提供 URL。

   1. 在**提供者電子郵件屬性**中，輸入文字值 `email`。

   1. 選擇**提交**。

1. 重新載入**環境設定**頁面。如果組態正確，則會啟用單一登入。

## 在非生產環境中設定您的身分提供者
<a name="configure-id-federation-demo-env"></a>

如果您使用提供的[外部資源](prerequisites.md#external-resources)來建立非生產 RES 環境，並將 IAM Identity Center 設定為您的身分提供者，您可能想要設定不同的身分提供者，例如 Okta。RES SSO 啟用表單會要求三個組態參數：

1. 供應商名稱 — 無法修改

1. 中繼資料文件或 URL — 可以修改

1. 供應商電子郵件屬性 — 可以修改

**若要修改中繼資料文件和提供者電子郵件屬性，請執行下列動作：**

1.  前往 Amazon Cognito 主控台。

1. 從導覽中，選擇**使用者集區**。

1. 選取您的使用者集區以檢視**使用者集區概觀**。

1. 從**登入體驗**索引標籤，前往**聯合身分提供者登入**並開啟您設定的身分提供者。

1. 一般而言，您只需要變更中繼資料，並讓屬性映射保持不變。若要更新**屬性映射**，請選擇**編輯**。若要更新**中繼資料文件**，請選擇**取代中繼資料**。  
![\[Amazon CognitoUser 集區概觀。\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-attributemetadata.png)

1. 如果您編輯屬性映射，則需要更新 DynamoDB 中的`<environment name>.cluster-settings`資料表。

   1. 開啟 DynamoDB 主控台，然後從導覽中選擇**資料表**。

   1. 尋找並選取`<environment name>.cluster-settings`資料表，然後從**動作**功能表中選取**探索項目**。

   1. 在**掃描或查詢項目**下，前往**篩選條件**並輸入下列參數：
      + **屬性名稱** — `key`
      + **值** — `identity-provider.cognito.sso_idp_provider_email_attribute`

   1. 選擇**執行**。

1. 在**傳回的項目**下，尋找`identity-provider.cognito.sso_idp_provider_email_attribute`字串，然後選擇**編輯**以修改字串，以符合您在 Amazon Cognito 中的變更。  
![\[Amazon CognitoUpdate DynamoDB 中傳回的篩選條件和項目。\]](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/res-scanqueryitems.png)

## 偵錯 SAML IdP 問題
<a name="configure-id-federation_debug"></a>

**SAML 追蹤器** — 您可以將此擴充功能用於 Chrome 瀏覽器，以追蹤 SAML 請求並檢查 SAML 聲明值。如需詳細資訊，請參閱 Chrome Web Store 中的 [ SAML 追蹤器](https://chromewebstore.google.com/detail/saml-tracer/mpdajninpobndbfcldcmbpnnbhibjmch?pli=1)。

**SAML 開發人員工具** — OneLogin 提供可用於解碼 SAML 編碼值的工具，並檢查 SAML 聲明中的必要欄位。如需詳細資訊，請參閱 OneLogin [網站上的 Base 64 Decode \$1 Inflate](https://www.samltool.com/decode.php)。

**Amazon CloudWatch Logs** — 您可以在 CloudWatch Logs 中檢查 RES 日誌是否有錯誤或警告。您的日誌位於名稱格式為 的日誌群組中`/res-environment-name/cluster-manager`。

**Amazon Cognito 文件** — 如需 SAML 與 Amazon Cognito 整合的詳細資訊，請參閱《*Amazon Cognito 開發人員指南*》中的[將 SAML 身分提供者新增至使用者集](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-saml-idp.html)區。

# 設定使用者的密碼
<a name="setting-user-passwords"></a>

1. 從[Directory Service 主控台中，](https://console.aws.amazon.com/directoryservicev2/)選取所建立堆疊的目錄。

1. 在**動作**功能表下，選擇**重設使用者密碼**。

1. 選取使用者並輸入新密碼。

1. 選擇**重設密碼**。