

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

# Web UI
<a name="webui-developer-guide"></a>

解決方案的 Web UI 允許使用者一鍵修復 AWS Security Hub 問題清單、檢視和下載過去的修復，以及委派對解決方案的存取。

Web UI 不需要使用 解決方案；或者，您可以設定完全自動化的修補，以避免手動執行的需求，或利用 AWS Security Hub CSPM 主控台使用 **Remediate with ASR** 自訂動作啟動修補。

**注意**  
部署 Admin 堆疊時，您必須將 `ShouldDeployWebUI` 參數設定為「是」，才能使用解決方案的 Web UI。

## 運作方式
<a name="webui-guide-how-it-works"></a>

解決方案的 Web 使用者介面是由 Amazon S3 託管，並由 Amazon CloudFront 分發的單一頁面 Web 應用程式。解決方案也會使用 API Gateway 部署 REST API，以支援 Web UI 中的操作。

部署 Admin 堆疊時，解決方案的 Lambda 函數會開始將 Admin 帳戶中存在的解決方案支援的所有 AWS Security Hub 調查結果載入 DynamoDB。完成後，Web UI 中呈現的調查結果會與 Security Hub 保持近乎即時同步，這要歸功於解決方案部署的 EventBridge 規則。

每週都會觸發解決方案的 Lambda 函數，以重新整理存放在 Web UI 中顯示的 AWS Security Hub 調查結果的 DynamoDB 資料表。這可確保清除過時的資料，並且我們的 DynamoDB 資料表保持up-to-date狀態。如果您想要將此基準設定為執行次數增加或減少，請修改`SO0111-ASR-SynchronizationFindingsLambdaWeeklyRule`位於部署解決方案之相同區域中管理員帳戶中名為 的 EventBridge 規則。

## 直接在 Web UI 中執行修復
<a name="webui-guide-findings-and-remediation"></a>

![Web ui 問題清單頁面](http://docs.aws.amazon.com/zh_tw/solutions/latest/automated-security-response-on-aws/images/web-ui-findings-page.png)


在**問題清單**頁面上，管理員或委派管理員使用者可以檢視解決方案支援的所有 AWS Security Hub 問題清單以進行修復。這包括使用 Security Hub 主要帳戶加入的 Security Hub 成員帳戶的調查結果。如果解決方案也部署在彙總區域中，則也會顯示任何加入區域中的問題清單。若要檢視解決方案支援的調查結果清單，請參閱 [手冊一節。](playbooks-1.md)

Account Operator 使用者只能檢視源自 AWS 帳戶中的問題清單，而這些 AWS 帳戶有權存取，如邀請中所定義。此外，他們只能對與其相關聯的帳戶中的資源執行修復。

若要執行修復，請選取資料表中任意數量的項目，然後按一下**動作 > 修復**。您也可以按一下**動作 > 隱藏**來**隱藏**問題清單，這會從預設檢視中隱藏選取的問題清單。您可以隨時按一下顯示隱藏的問題清單切換來檢視**隱藏的問題清單**。

問題清單開始修復後，您可以按一下**修復狀態**欄，同時`Failed`在**執行歷史記錄**頁面上修復為 `In Progress`或直接修復。

## 篩選可用的問題清單和修復
<a name="webui-guide-filter-findings"></a>

在**問題清單**和**執行歷史記錄**頁面上，您可以依每個個別資料表中出現的任何資料欄來篩選資料表中顯示的資料。

例如，在**問題清單**頁面上，您可以按一下搜尋列並選擇問題清單類型，篩選**問題清單類型**以搜尋特定類型的 AWS Security Hub **問題清單 （例如 Lambda.1 或 Athena**.4)。

**注意**  
在搜尋列中自動填入的值不代表可用資料的完整清單。每個搜尋條件的建議值僅代表目前擷取並顯示在 UI 中的資料。

您也可以在單一搜尋中結合多個屬性。例如，您可以在搜尋中同時套用**問題清單類型**和資源 **ID**，以執行邏輯`AND`查詢。此外，您可以套用多個相同的篩選條件來執行邏輯`OR`搜尋，例如**問題清單類型 = Lambda.1** 和**問題清單類型 = Athena.4**。相同的原則適用於**執行歷史記錄**頁面

## Web UI 中的身分驗證和授權
<a name="webui-guide-auth"></a>

解決方案的 Web UI 受到 Amazon Cognito 提供的身分驗證保護。部署解決方案時，系統會搭配 Web UI 佈建和設定 Cognito 使用者集區、Cognito 應用程式用戶端和 Cognito 使用者集區網域。做為 Admin 堆疊參數提供的電子郵件地址會獲指派臨時登入資料，並授予管理員對 Web UI 的存取權。

有三種許可類型可定義使用者對 Web UI 的存取：


| 許可類型 | 存取層級 | 使用案例 | 
| --- | --- | --- | 
| 管理員 | 在 Web UI 中完全控制；可以檢視所有問題清單和修復、執行任何修復，以及邀請/檢視任何使用者。 | 只有在使用者在 CloudFormation 部署期間提供其電子郵件地址時，才會將 指派給部署管理員堆疊的使用者。 | 
| 委派管理員 | Web UI 中的提升控制；可以檢視所有問題清單和修復、執行任何修復，以及邀請/檢視帳戶操作員使用者。無法在 Web UI 中邀請或檢視管理員和委派管理員。 | 管理員使用者可以邀請委派管理員使用者來委派對解決方案的存取權，該使用者將能夠執行和管理任何修補。 | 
| 帳戶運算子 | Web UI 中的有限控制；僅限於在邀請時與其相關聯的帳戶中檢視和修復問題清單。無法邀請或檢視其他使用者。 | 應具有有限存取權以在已加入帳戶子集中執行修復的Day-to-day使用者。管理員或委派管理員負責邀請這些使用者並定義其範圍。 | 

所有使用者都必須由管理員或委派管理員邀請，才能登入 Web UI。若要邀請其他使用者，管理員或委派管理員可以在 Web UI 的**邀請使用者**頁面上輸入其電子郵件地址和許可層級。

管理員和委派管理員也可以檢視、管理和刪除現有的使用者。若要查看所有使用者的清單，請導覽至**檢視使用者**頁面。

若要管理現有的使用者，請從資料表中選取使用者，然後按一下**管理使用者**。然後，您可以按一下刪除使用者來**刪除使用者**。如果使用者是帳戶運算子，您可以在解決方案的內容中修改他們有權存取的 AWS 帳戶 IDs 清單。目前不支援變更現有使用者的許可類型。

請注意，委派管理員只能檢視和管理帳戶操作員使用者。

## 與外部 IdPs整合
<a name="webui-guide-external-idps"></a>

您可以自訂解決方案提供的身分驗證機制，以允許使用者使用您自己的 OIDC 或 SAML 身分提供者登入，例如 Okta 或 Microsoft Entra ID。與外部 IdPs整合的下列步驟需要存取部署 Admin 堆疊的 AWS 帳戶。

**重要**  
在使用您設定為使用解決方案的任何外部 IdP 登入之前，仍必須邀請使用者。此外，連結至其 IdP 設定檔的電子郵件地址必須符合邀請中提供的電子郵件。

### 步驟 1 - 找出解決方案的使用者集區
<a name="step-1-locate-the-solutions-user-pool"></a>

在 Amazon Cognito 主控台中，找到名為 **SO0111-ASR-UserPool** 的解決方案使用者集區。

按一下要移至**概觀**頁面的使用者集區名稱 **SO0111-ASR-UserPool**。從該處，從導覽列中選取**社交和外部供應商**。

### 步驟 2 - 新增您的身分提供者
<a name="step-2-add-your-identity-provider"></a>

在**社交和外部供應商**頁面上，按一下右上角的**新增身分提供者**按鈕。

根據您的身分提供者選取 **OIDC** 或 **SAML**。

選取提供者類型後，系統會提示您輸入身分提供者的相關資訊。

為 **SAML** 供應商填寫下列欄位：

1.  **提供者名稱**：提供者的易記名稱

1.  **IdP 啟動的 SAML 登入**：選取 `Require SP-initiated SAML assertions - Recommended` 

1.  **中繼資料文件來源**：選取 `Upload metadata document` 

1.  **中繼資料文件**：上傳 IdP 提供的 SAML 中繼資料文件。

1. 在 **SAML 供應商和使用者集區之間的映射屬性**下，按一下**新增另一個屬性**。針對**使用者集區屬性**，`email`從下拉式清單中選取 。針對 **SAML 屬性**，輸入使用者電子郵件地址存放在 SAML 身分提供者的屬性全名。例如 `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`。

1. 按一下**新增身分提供者**以儲存變更。

填寫 **OIDC** 提供者的下列欄位：

1.  **供應商名稱**：供應商的易記名稱

1.  **用戶端 ID**：輸入 OpenID Connect 身分提供者提供的用戶端 ID。

1.  **用戶端秘密**：輸入 OpenID Connect 身分提供者提供的用戶端秘密。

1.  **授權範圍**：輸入 `openid profile email` 

1.  **屬性請求方法**：`POST`根據您身分提供者的組態選取 `GET`或 。

1.  **設定方法**：從 OIDC 供應商選取`Auto fill through issuer URL`並輸入**發行者 URL**。或者，手動輸入值。

1. 在 ** OpenID Connect 提供者和使用者集區之間的映射屬性**下，按一下**新增另一個屬性**。針對**使用者集區屬性**，`email`從下拉式清單中選取 。針對 **OpenID Connect 屬性**，輸入使用者電子郵件地址存放在 OIDC 身分提供者的屬性全名。例如 `email`。

1. 按一下**新增身分提供者**以儲存變更。

**重要**  
您必須為`email`使用者集區屬性新增屬性映射，即使您的身分提供者的屬性名稱也是 `email`。

### 步驟 3 - 將供應商新增至解決方案的應用程式用戶端
<a name="step-3-add-your-provider-to-the-solutions-app-client"></a>

導覽至**應用程式用戶端**頁面，然後選取名為 **SO0111-ASR-WebUI-UserPoolClient** 的用戶端。

按一下**登入頁面**索引標籤，然後在**受管登入頁面組態**下按一下**編輯**。

在**身分提供者**欄位中，新增您在上一個步驟中建立的身分提供者。按一下 **Save Changes (儲存變更)**。

### 步驟 4 - 設定您的身分提供者
<a name="step-4-configure-your-identity-provider"></a>

若要允許身分提供者在登入後重新導向至解決方案的 Web UI，您必須在 IdP 組態中允許列出下列 URLs。

根據您的供應商類型，允許列出下列其中一個回呼 URLs：

1. SAML 回呼 URL：https：//so0111-asr-{{<your-aws-account-id>}}.auth.{{<aws-region>}}.amazoncognito.com/saml2/idpresponse

1. OIDC 回呼 URL：https：//so0111-asr-{{<your-aws-account-id>}}.auth.{{<aws-region>}}.amazoncognito.com/oauth2/idpresponse

您應該將 `<your-aws-account-id>`取代為您已部署管理員堆疊的 AWS 帳戶 ID，並將 `<aws-region>`取代為您部署管理員堆疊的區域。

### 步驟 4 - 驗證您的整合
<a name="step-4-verify-your-integration"></a>

導覽至 Web UI 登入頁面。確認您的自訂身分提供者顯示在登入頁面上。

若要測試整合，請使用邀請使用者頁面**來邀請新使用者**。然後，確保使用者可以透過按一下 Web UI 登入頁面上的自訂身分提供者進行身分驗證。

請注意，自訂 IdP 中的使用者設定檔必須連結至邀請中提供的相同電子郵件地址。換句話說，供應商宣告中的電子郵件地址必須符合邀請。