

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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

솔루션의 웹 UI를 사용하면 클릭 한 번으로 AWS Security Hub 조사 결과를 수정하고, 이전 수정 사항을 보고 다운로드하고, 솔루션에 대한 액세스를 위임할 수 있습니다.

솔루션을 사용하는 데 웹 UI가 필요하지 않습니다. 또는 수동 실행이 필요하지 않도록 완전 자동화된 문제 해결을 구성하거나 AWS Security Hub CSPM 콘솔을 활용하여 **ASR로 문제 해결** 사용자 지정 작업을 사용하여 문제 해결을 시작할 수 있습니다.

**참고**  
솔루션의 웹 UI를 사용하려면 관리자 스택을 배포할 때 `ShouldDeployWebUI` 파라미터를 "yes"로 설정해야 합니다.

## 작동 방식
<a name="webui-guide-how-it-works"></a>

솔루션의 웹 사용자 인터페이스는 Amazon S3에서 계정에서 호스팅하고 Amazon CloudFront에서 배포하는 단일 페이지 웹 애플리케이션입니다. 또한이 솔루션은 API Gateway를 사용하여 REST API를 배포하여 웹 UI에서 작업을 지원합니다.

관리자 스택이 배포되면 솔루션의 Lambda 함수가 관리자 계정에 있는 솔루션에서 지원하는 모든 AWS Security Hub 조사 결과를 DynamoDB로 로드하기 시작합니다. 이 작업이 완료되면 솔루션에서 배포한 EventBridge 규칙 덕분에 웹 UI에 제시된 결과가 Security Hub와 거의 실시간으로 동기화됩니다.

매주 솔루션의 Lambda 함수가 트리거되어 웹 UI에 표시된 AWS Security Hub 조사 결과를 저장하는 DynamoDB 테이블을 새로 고칩니다. 이렇게 하면 오래된 데이터가 정리되고 DynamoDB 테이블이 up-to-date 유지됩니다. 이 기준을 더 자주 또는 덜 자주 실행하도록 구성하려면 솔루션을 배포한 리전과 동일한 리전의 관리자 계정에 `SO0111-ASR-SynchronizationFindingsLambdaWeeklyRule` 있는 라는 EventBridge 규칙을 수정합니다.

## 웹 UI에서 직접 문제 해결 실행
<a name="webui-guide-findings-and-remediation"></a>

![웹 ui 조사 결과 페이지](http://docs.aws.amazon.com/ko_kr/solutions/latest/automated-security-response-on-aws/images/web-ui-findings-page.png)


**조사 결과** 페이지에서 관리자 또는 위임된 관리자 사용자는 솔루션에서 지원하는 모든 AWS Security Hub 조사 결과를 볼 수 있습니다. 여기에는 Security Hub 기본 계정에 온보딩된 Security Hub 멤버 계정에 대한 조사 결과가 포함됩니다. 솔루션이 집계 리전에도 배포된 경우 온보딩된 리전의 조사 결과도 표시됩니다. 솔루션에서 지원하는 결과 목록을 보려면 [플레이북 섹션을 참조하세요.](playbooks-1.md)

계정 운영자 사용자는 초대에 정의된 대로 액세스할 수 있는 AWS 계정에서 시작된 조사 결과만 볼 수 있습니다. 또한 연결된 계정의 리소스에 대해서만 문제 해결을 실행할 수 있습니다.

문제 해결을 실행하려면 테이블에서 원하는 수의 항목을 선택하고 **작업 > 문제 해결을** 클릭합니다. 기본 보기에서 선택한 결과를 숨기는 **작업 > 억제**를 클릭하여 결과를 **억제**할 수도 있습니다. 억제된 결과 **표시 토글을 클릭하여 언제든지 억제된 결과를** 볼 수 있습니다.

결과에 대한 수정을 시작한 후 수정이 `In Progress` 또는 인 동안 **수정 상태** 열을 클릭하여 **실행 기록** 페이지에서 해당 수정으로 바로 이동할 `Failed` 수 있습니다.

## 사용 가능한 조사 결과 및 문제 해결 필터링
<a name="webui-guide-filter-findings"></a>

**조사 결과** 및 **실행 기록** 페이지에서 각 테이블에 있는 열을 기준으로 테이블에 표시되는 데이터를 필터링할 수 있습니다.

예를 들어 **조사 결과** 페이지에서 **조사 결과 유형을** 필터링하여 검색 창을 클릭하고 조사 **결과 유형을** 선택하여 특정 종류의 AWS Security Hub 조사 결과(예: Lambda.1 또는 Athena.4)를 검색할 수 있습니다.

**참고**  
검색 창에 자동으로 채워지는 값은 사용 가능한 데이터의 포괄적인 목록을 나타내지 않습니다. 각 검색 기준에 대해 제안된 값은 현재 가져와서 UI에 표시된 데이터만 나타냅니다.

단일 검색으로 여러 속성을 결합할 수도 있습니다. 예를 들어 검색에 **결과 유형**과 **리소스 ID**를 모두 적용하여 논리적 `AND` 쿼리를 수행할 수 있습니다. 또한 동일한 필터 기준 중 여러 개를 적용하여 **결과 유형 = Lambda.1** 및 결과 유형 = Athena.4와 같은 논리적 `OR` 검색을 수행할 수 있습니다. **** **실행 기록** 페이지에도 동일한 원칙이 적용됩니다.

## 웹 UI의 인증 및 권한 부여
<a name="webui-guide-auth"></a>

솔루션의 웹 UI는 Amazon Cognito에서 제공하는 인증으로 보호됩니다. 솔루션이 배포되면 Cognito 사용자 풀, Cognito 앱 클라이언트 및 Cognito 사용자 풀 도메인이 웹 UI와 함께 프로비저닝되고 구성됩니다. 관리자 스택에 파라미터로 제공된 이메일 주소에는 임시 자격 증명이 할당되고 웹 UI에 대한 관리자 액세스 권한이 부여됩니다.

웹 UI에 대한 사용자의 액세스를 정의하는 세 가지 권한 유형이 있습니다.


| 권한 유형 | 액세스 레벨 | 사용 사례 | 
| --- | --- | --- | 
| 관리자 | 웹 UI의 전체 제어, 모든 조사 결과 및 수정 사항을 보고, 수정 사항을 실행하고, 사용자를 초대/보기할 수 있습니다. | CloudFormation 배포 중에 이메일 주소를 제공할 때 관리자 스택을 배포한 사용자에게만 할당됩니다. | 
| 위임된 관리자 | 웹 UI의 향상된 제어. 모든 조사 결과 및 수정 사항을 보고, 수정 사항을 실행하고, 계정 운영자 사용자를 초대/보기할 수 있습니다. 웹 UI에서 관리자 및 위임된 관리자를 초대하거나 볼 수 없습니다. | 관리자 사용자는 수정 사항을 실행하고 관리할 수 있는 위임된 관리자 사용자를 초대하여 솔루션에 대한 액세스를 위임할 수 있습니다. | 
| 계정 연산자 | 웹 UI의 제한된 제어, 초대 시 연결된 계정에서만 결과를 보고 수정할 수 있도록 제한됩니다. 추가 사용자를 초대하거나 볼 수 없습니다. | 온보딩된 계정의 하위 집합에서 문제 해결을 실행할 수 있는 액세스 권한이 제한되어야 하는 Day-to-day 사용자입니다. 관리자 또는 위임된 관리자는 이러한 사용자를 초대하고 범위를 정의할 책임이 있습니다. | 

모든 사용자는 웹 UI에 로그인하기 전에 관리자 또는 위임된 관리자의 초대를 받아야 합니다. 추가 사용자를 초대하기 위해 관리자 또는 위임된 관리자는 웹 UI의 **사용자 초대** 페이지에 이메일 주소와 권한 수준을 입력할 수 있습니다.

관리자와 위임된 관리자는 기존 사용자를 보고, 관리하고, 삭제할 수도 있습니다. 모든 사용자 목록을 보려면 **사용자 보기** 페이지로 이동합니다.

기존 사용자를 관리하려면 테이블에서 사용자를 선택하고 **사용자 관리를** 클릭합니다. 그런 다음 사용자 삭제를 클릭하여 **사용자를 삭제할** 수 있습니다. 사용자가 계정 연산자인 경우 솔루션의 컨텍스트에서 액세스할 수 있는 AWS 계정 IDs 목록을 수정할 수 있습니다. 기존 사용자의 권한 유형 변경은 현재 지원되지 않습니다.

위임된 관리자는 계정 운영자 사용자만 보고 관리할 수 있습니다.

## 외부 IdPs와 통합
<a name="webui-guide-external-idps"></a>

솔루션에서 제공하는 인증 메커니즘을 사용자 지정하여 사용자가 Okta 또는 Microsoft Entra ID와 같은 자체 OIDC 또는 SAML 자격 증명 공급자를 사용하여 로그인할 수 있도록 할 수 있습니다. 다음 단계에 따라 외부 IdPs와 통합하려면 관리자 스택이 배포된 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>

**소셜 및 외부 공급자** 페이지에서 오른쪽 상단의 **ID 제공업체 추가** 버튼을 클릭합니다.

자격 증명 공급자에 따라 **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 공급자에서 **발급자 URL**을 `Auto fill through issuer 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**라는 클라이언트를 선택합니다.

**로그인 페이지** 탭을 클릭하고 **관리형 로그인 페이지 구성**에서 **편집**을 클릭합니다.

자격 **증명 공급자** 필드에서 이전 단계에서 생성한 자격 증명 공급자를 추가합니다. **변경 사항 저장**을 클릭합니다.

### 4단계 - 자격 증명 공급자 구성
<a name="step-4-configure-your-identity-provider"></a>

로그인 후 ID 제공업체가 솔루션의 웹 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>

웹 UI 로그인 페이지로 이동합니다. 사용자 지정 자격 증명 공급자가 로그인 페이지에 표시되는지 확인합니다.

통합을 테스트하려면 사용자 초대 페이지를 사용하여 새 **사용자를 초대**합니다. 그런 다음 웹 UI 로그인 페이지에서 사용자 지정 자격 증명 공급자를 클릭하여 사용자가 인증할 수 있는지 확인합니다.

사용자 지정 IdP의 사용자 프로필은 초대에 제공된 것과 동일한 이메일 주소에 연결되어야 합니다. 즉, 공급자 클레임의 이메일 주소가 초대와 일치해야 합니다.