

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

# 자동 배포 - StackSets
<a name="deployment-stackset"></a>

**참고**  
StackSets를 사용하여 배포하는 것이 좋습니다. 그러나 단일 계정 배포 또는 테스트 또는 평가 목적의 경우 [스택 배포](deployment.md) 옵션을 고려하세요.

솔루션을 시작하기 전에이 가이드에서 설명하는 아키텍처, 솔루션 구성 요소, 보안 및 설계 고려 사항을 검토하세요. 이 섹션의 step-by-step 지침에 따라 솔루션을 구성하고 AWS Organizations에 배포합니다.

 **배포 시간:** StackSet 파라미터에 따라 계정당 약 30분.

## 사전 조건
<a name="prerequisites-stackset"></a>

 [AWS Organizations](https://aws.amazon.com/organizations/)는 다중 계정 AWS 환경 및 리소스를 중앙에서 관리하고 관리하는 데 도움이 됩니다. StackSets는 AWS Organizations에서 가장 잘 작동합니다.

이전에이 솔루션의 v1.3.x 이하를 배포한 경우 기존 솔루션을 제거해야 합니다. 자세한 내용은 [솔루션 업데이트를 참조하세요](update-the-solution.md).

이 솔루션을 배포하기 전에 AWS Security Hub 배포를 검토합니다.
+ AWS Organization에는 위임된 Security Hub 관리자 계정이 있어야 합니다.
+ Security Hub는 리전 간에 조사 결과를 집계하도록 구성해야 합니다. 자세한 내용은 AWS Security Hub 사용 설명서의 [리전 간 조사 결과 집계](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html)를 참조하세요.
+ AWS를 사용하는 각 리전에서 조직에 대해 [Security Hub를 활성화](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-prereq-config.html)해야 합니다.

이 절차에서는 AWS Organizations를 사용하는 계정이 여러 개 있고 AWS Organizations 관리자 계정과 AWS Security Hub 관리자 계정을 위임했다고 가정합니다.

 **이 솔루션은 [AWS Security Hub와 AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-are-securityhub-services.html) 모두에서 작동합니다.**

## 배포 개요
<a name="deployment-overview-stackset"></a>

**참고**  
이 솔루션의 StackSets 배포는 서비스 관리형 및 자체 관리형 StackSets의 조합을 사용합니다. 자체 관리형 StackSets 서비스 관리형 StackSets 아직 지원되지 않는 중첩된 StackSets 사용하므로 현재 사용해야 합니다.

AWS Organizations의 위임된 관리자 계정에서 StackSets를 배포합니다. [https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html) AWS Organizations

**계획**  
다음 양식을 사용하여 StackSets 배포를 지원합니다. 데이터를 준비한 다음 배포 중에 값을 복사하여 붙여넣습니다.

```
AWS Organizations admin account ID: _______________
Security Hub admin account ID: _______________
CloudTrail Logs Group: ______________________________
Member account IDs (comma-separated list):
___________________,
___________________,
___________________,
___________________,
___________________
AWS Organizations OUs (comma-separated list):
___________________,
___________________,
___________________,
___________________,
___________________
```

 [(선택 사항) 0단계: 티켓팅 통합 스택 배포](#step-0-stackset) 
+ 티켓팅 기능을 사용하려는 경우 먼저 티켓팅 통합 스택을 Security Hub 관리자 계정에 배포합니다.
+ 이 스택에서 Lambda 함수 이름을 복사하여 관리자 스택에 입력으로 제공합니다(1단계 참조).

 [1단계: 위임된 Security Hub 관리자 계정에서 관리자 스택 시작](#step-1-stackset) 
+ 자체 관리형 StackSet를 사용하여 `automated-security-response-admin.template` AWS CloudFormation 템플릿을 Security Hub 관리자와 동일한 리전의 AWS Security Hub 관리자 계정으로 시작합니다. 이 템플릿은 중첩 스택을 사용합니다.
+ 설치할 보안 표준을 선택합니다. 기본적으로 SC만 선택됩니다(권장).
+ 사용할 기존 Orchestrator 로그 그룹을 선택합니다. 이전 설치에서 `SO0111-ASR- Orchestrator` 이미 존재하는 `Yes` 경우를 선택합니다.
+ 솔루션의 웹 UI를 활성화할지 여부를 선택합니다. 이 기능을 활성화하도록 선택한 경우 관리자 역할을 할당할 이메일 주소도 입력해야 합니다.
+ 솔루션의 운영 상태와 관련된 CloudWatch 지표를 수집하기 위한 기본 설정을 선택합니다.

자체 관리형 StackSets에 대한 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [자체 관리형 권한 부여](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html)를 참조하세요.

 [2단계: 각 AWS Security Hub 멤버 계정에 문제 해결 역할 설치](#step-2-stackset) 

2단계의 템플릿이 1단계에서 생성한 IAM 역할을 참조하므로 1단계에서 배포가 완료될 때까지 기다립니다.
+ 서비스 관리형 StackSet를 사용하여 `automated-security-response-member-roles.template` AWS Organizations의 각 계정에서 AWS CloudFormation 템플릿을 단일 리전으로 시작합니다. AWS Organizations
+ 새 계정이 조직에 가입하면이 템플릿을 자동으로 설치하도록 선택합니다.
+ AWS Security Hub 관리자 계정의 계정 ID를 입력합니다.
+ 리소스 이름이 동일한 계정의 이전 또는 동시 배포와 충돌하는 `namespace` 것을 방지하는 데 사용할의 값을 입력합니다. 최대 9자의 소문자 영숫자로 구성된 문자열을 입력합니다.

 [3단계: 각 AWS Security Hub 멤버 계정 및 리전에서 멤버 스택 시작](#step-3-stackset) 
+ 자체 관리형 StackSets를 사용하여 동일한 Security Hub 관리자가 관리하는 `automated-security-response-member.template` AWS Organization의 모든 계정에 AWS 리소스가 있는 모든 리전에서 AWS CloudFormation 템플릿을 시작합니다.
**참고**  
서비스 관리형 StackSets 중첩 스택을 지원할 때까지 조직에 가입하는 모든 새 계정에 대해이 단계를 수행해야 합니다.
+ 설치할 보안 표준 플레이북을 선택합니다.
+ CloudTrail 로그 그룹의 이름을 입력합니다(일부 수정 사항에서 사용).
+ AWS Security Hub 관리자 계정의 계정 ID를 입력합니다.
+ 리소스 이름이 동일한 계정의 이전 또는 동시 배포와 충돌하는 `namespace` 것을 방지하는 데 사용할의 값을 입력합니다. 최대 9자의 소문자 영숫자로 구성된 문자열을 입력합니다. 이는 멤버 역할 스택에 대해 선택한 `namespace` 값과 일치해야 합니다. 또한 네임스페이스 값은 멤버 계정별로 고유할 필요가 없습니다.

## (선택 사항) 0단계: 티켓 시스템 통합 스택 시작
<a name="step-0-stackset"></a>

1. 티켓팅 기능을 사용하려는 경우 먼저 각 통합 스택을 시작합니다.

1. Jira 또는 ServiceNow에 대해 제공된 통합 스택을 선택하거나 이를 청사진으로 사용하여 자체 사용자 지정 통합을 구현합니다.

    **Jira 스택을 배포하려면**:

   1. 스택의 이름을 입력합니다.

   1. Jira 인스턴스에 URI를 제공합니다.

   1. 티켓을 보내려는 Jira 프로젝트의 프로젝트 키를 제공합니다.

   1. Secrets Manager에서 Jira `Username` 및를 포함하는 새 키-값 보안 암호를 생성합니다`Password`.
**참고**  
사용자 이름을 로`Username`, API 키를 로 제공하여 암호 대신 Jira API 키를 사용하도록 선택할 수 있습니다`Password`.

   1. 이 보안 암호의 ARN을 스택에 입력으로 추가합니다.

       **스택 이름 Jira 프로젝트 정보와 Jira API 자격 증명을 제공합니다.**  
![\[티켓 시스템 통합 스택 지라\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/automated-security-response-on-aws/images/ticket-system-integration-stack-jira.png)

       **Jira 필드 구성**:

      Jira 스택을 배포한 후 Lambda 함수에서 `JIRA_FIELDS_MAPPING` 환경 변수를 설정하여 Jira 티켓 필드를 사용자 지정할 수 있습니다. 이 JSON 문자열은 기본 Jira 티켓 필드를 재정의하며 Jira API 필드 구조를 따라야 합니다.

      `JIRA_FIELDS_MAPPING`가 비어 있거나 필드가 지정되지 않은 경우의 기본값:
      +  **우선순위**: `{"id": "3"}` (중간 우선순위)
      +  **issuetype**: `{"id": "10006"}` (작업)
      +  **accountId**: `GET /rest/api/2/myself` API 엔드포인트를 사용하여 자동으로 검색됨

        사용자 지정 필드가 있는 구성의 예:

        ```
        {
          "reporter": {"accountId": "123456:494dcbff-1b80-482c-a89d-56ae81c145a4"},
          "priority": {"id": "1"},
          "issuetype": {"id": "10006"},
          "assignee": {"accountId": "123456:another-user-id"},
          "customfield_10001": "custom value"
        }
        ```

        일반적인 Jira 필드 IDs
      +  **우선 순위 IDs**: 1(가장 높음), 2(높음), 3(중간), 4(낮음), 5(가장 낮음)
      +  **문제 유형 ID**: Jira 프로젝트에 따라 다름(예: 작업의 경우 10006)
      +  **계정 ID**: 형식 `123456:494dcbff-1b80-482c-a89d-56ae81c145a4` 

        Jira REST API를 사용하여 Jira 필드 IDs와 계정 IDs를 찾을 수 있습니다.
      +  `GET /rest/api/2/myself` 계정 ID용
      +  `GET /rest/api/2/priority` 우선 순위 IDs 경우
      +  `GET /rest/api/2/project/{projectKey}` 문제 유형 IDs 경우

        자세한 내용은 [Jira REST API v2 문제 POST 형식을](https://developer.atlassian.com/server/jira/platform/rest/v10000/api-group-issue/#api-api-2-issue-post) 참조하세요.

         **ServiceNow 스택을 배포하려면**:

   1. 스택의 이름을 입력합니다.

   1. ServiceNow 인스턴스의 URI를 제공합니다.

   1. ServiceNow 테이블 이름을 입력합니다.

   1. 작성하려는 테이블을 수정할 수 있는 권한이 있는 API 키를 ServiceNow에 생성합니다.

   1. 키를 사용하여 Secrets Manager에서 보안 암호를 `API_Key` 생성하고 보안 암호 ARN을 스택에 대한 입력으로 제공합니다.

       **스택 이름 ServiceNow 프로젝트 정보와 ServiceNow API 자격 증명을 제공합니다.**  
![\[티켓 시스템 통합 스택 서비스지금\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/automated-security-response-on-aws/images/ticket-system-integration-stack-servicenow.png)

       **사용자 지정 통합 스택을 생성하려면**: 솔루션 오케스트레이터 Step Functions가 각 문제 해결에 대해 호출할 수 있는 Lambda 함수를 포함합니다. Lambda 함수는 Step Functions에서 제공하는 입력을 받아 티켓팅 시스템의 요구 사항에 따라 페이로드를 구성하고 시스템에 티켓을 생성하도록 요청해야 합니다.

## 1단계: 위임된 Security Hub 관리자 계정에서 관리자 스택 시작
<a name="step-1-stackset"></a>

1. Security Hub [관리자 계정으로 관리자 스택](https://solutions-reference.s3.amazonaws.com/automated-security-response-on-aws/latest/automated-security-response-admin.template) `automated-security-response-admin.template`를 시작합니다. 일반적으로 단일 리전의 조직당 하나씩. 이 스택은 중첩 스택을 사용하므로이 템플릿을 자체 관리형 StackSet로 배포해야 합니다.

### 파라미터
<a name="parameters"></a>


| 파라미터 | 기본값 | 설명 | 
| --- | --- | --- | 
|   **SC 관리자 스택 로드**   |   `yes`   |  SC 제어의 자동 문제 해결을 위해 관리자 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **AFSBP 관리자 스택 로드**   |   `no`   |  FSBP 제어의 자동 문제 해결을 위해 관리자 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **CIS120 관리자 스택 로드**   |   `no`   |  CIS120 제어의 자동 문제 해결을 위해 관리자 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **CIS140 관리자 스택 로드**   |   `no`   |  CIS140 제어의 자동 문제 해결을 위해 관리자 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **CIS300 관리자 스택 로드**   |   `no`   |  CIS300 제어의 자동 문제 해결을 위해 관리자 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **PC1321 관리자 스택 로드**   |   `no`   |  PC1321 제어의 자동 문제 해결을 위해 관리자 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **NIST 관리자 스택 로드**   |   `no`   |  NIST 제어의 자동 문제 해결을 위해 관리자 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **오케스트레이터 로그 그룹 재사용**   |   `no`   |  기존 `SO0111-ASR-Orchestrator` CloudWatch Logs 그룹을 재사용할지 여부를 선택합니다. 이렇게 하면 이전 버전의 로그 데이터가 손실되지 않고 재설치 및 업그레이드가 간소화됩니다. 이 계정의 이전 배포에서가 `Orchestrator Log Group` 여전히 존재하는 `yes` 경우 기존 `Orchestrator Log Group` 선택을 재사용하고, 그렇지 않으면를 재사용합니다`no`. v2.3.0 이전 버전에서 스택 업데이트를 수행하는 경우 `no`   | 
|   **ShouldDeployWebUI**   |   `yes`   |  API Gateway, Lambda 함수 및 CloudFront 배포를 포함한 웹 UI 구성 요소를 배포합니다. 조사 결과 및 문제 해결 상태를 보기 위해 웹 기반 사용자 인터페이스를 활성화하려면 "예"를 선택합니다. 이 기능을 비활성화해도 Security Hub CSPM 사용자 지정 작업을 사용하여 자동 문제 해결을 구성하고 온디맨드로 문제 해결을 실행할 수 있습니다.  | 
|   **AdminUserEmail**   |   *(선택 사항 입력)*   |  초기 관리자 사용자의 이메일 주소입니다. 이 사용자는 ASR 웹 UI에 대한 전체 관리 액세스 권한을 갖습니다. 웹 UI가 활성화된 **경우에만** 필요합니다.  | 
|   **CloudWatch 지표 사용**   |   `yes`   |  솔루션 모니터링을 위해 CloudWatch 지표를 활성화할지 여부를 지정합니다. 그러면 지표를 볼 수 있는 CloudWatch 대시보드가 생성됩니다.  | 
|   **CloudWatch 지표 경보 사용**   |   `yes`   |  솔루션에 대해 CloudWatch 지표 경보를 활성화할지 여부를 지정합니다. 이렇게 하면 솔루션에서 수집한 특정 지표에 대한 경보가 생성됩니다.  | 
|   **RemediationFailureAlarmThreshold**   |   `5`   |  제어 ID당 문제 해결 실패 비율에 대한 임계값을 지정합니다. 예를 들어를 입력하면 지정된 날짜에 제어 ID가 문제 해결의 5% 이상 실패하면 경보가 `5`발생합니다. 이 파라미터는 경보가 생성된 경우에만 작동합니다(**CloudWatch 지표 경보 사용** 파라미터 참조).  | 
|   **EnableEnhancedCloudWatchMetrics**   |   `no`   |  `yes`인 경우는 추가 CloudWatch 지표를 생성하여 CloudWatch 대시보드에서 모든 제어 IDs 개별적으로 추적하고 CloudWatch 경보로 추적합니다. 이 경우 발생하는 추가 비용을 이해하려면 [비용](cost.md#additional-cost-enhanced-metrics) 섹션을 참조하세요.  | 
|   **TicketGenFunctionName**   |   *(선택 사항 입력)*   |  선택 사항. 티켓팅 시스템을 통합하지 않으려면 비워 둡니다. 그렇지 않으면와 같이 [0단계](deployment.md#step-0)의 스택 출력에서 Lambda 함수 이름을 입력합니다`SO0111-ASR-ServiceNow-TicketGenerator`.  | 

 **StackSet 옵션 구성** 

![\[스택 세트 옵션 구성\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/automated-security-response-on-aws/images/configre-stackset-options.png)


1. **계정 번호** 파라미터에 AWS Security Hub 관리자 계정의 계정 ID를 입력합니다.

1. **리전 지정** 파라미터에서 Security Hub 관리자가 켜져 있는 리전만 선택합니다. 2단계로 넘어가기 전에이 단계가 완료될 때까지 기다립니다.

## 2단계: 각 AWS Security Hub 멤버 계정에 문제 해결 역할 설치
<a name="step-2-stackset"></a>

서비스 관리형 StackSets를 사용하여 [멤버 역할 템플릿](https://solutions-reference.s3.amazonaws.com/automated-security-response-on-aws/latest/automated-security-response-member-roles.template)인를 배포합니다`automated-security-response-member-roles.template`. 이 StackSet는 멤버 계정당 한 리전에 배포해야 합니다. ASR Orchestrator 단계 함수에서 교차 계정 API 호출을 허용하는 전역 역할을 정의합니다.

### 파라미터
<a name="parameters-2"></a>


| 파라미터 | 기본값 | 설명 | 
| --- | --- | --- | 
|   **네임스페이스**   |   *<입력 필수>*   |  최대 9자의 소문자 영숫자로 구성된 문자열을 입력합니다. 문제 해결 IAM 역할 이름에 접미사로 추가할 고유한 네임스페이스입니다. 멤버 역할 및 멤버 스택에서 동일한 네임스페이스를 사용해야 합니다. 이 문자열은 각 솔루션 배포마다 고유해야 하지만 스택 업데이트 중에는 변경할 필요가 없습니다. 네임스페이스 값은 멤버 계정별로 고유할 필요가 **없습니다**.  | 
|   **Sec Hub 계정 관리자**   |   *<입력 필수>*   |  AWS Security Hub 관리자 계정의 12자리 계정 ID를 입력합니다. 이 값은 관리자 계정의 솔루션 역할에 권한을 부여합니다.  | 

1. 조직 정책에 따라 전체 조직(일반) 또는 조직 단위에 배포합니다.

1. AWS Organizations의 새 계정이 이러한 권한을 받도록 자동 배포를 켭니다.

1. **리전 지정** 파라미터에서 단일 리전을 선택합니다. IAM 역할은 전역적입니다. 이 StackSet가 배포되는 동안 3단계로 계속 진행할 수 있습니다.

    **StackSet 세부 정보 지정**   
![\[스택 세트 세부 정보 지정\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/automated-security-response-on-aws/images/specify-stackset-details.png)

## 3단계: 각 AWS Security Hub 멤버 계정 및 리전에서 멤버 스택 시작
<a name="step-3-stackset"></a>

[멤버 스택](https://solutions-reference.s3.amazonaws.com/automated-security-response-on-aws/latest/automated-security-response-member.template)은 중첩 스택을 사용하기 때문에 자체 관리형 StackSet로 배포해야 합니다. AWS Organization의 새 계정에 대한 자동 배포는 지원하지 않습니다.

### 파라미터
<a name="parameters"></a>


| 파라미터 | 기본값 | 설명 | 
| --- | --- | --- | 
|   **지표 필터 및 경보를 생성하는 데 사용할 LogGroup의 이름을 입력합니다.**  |   *<입력 필수>*   |  CloudTrail이 API 호출을 로깅하는 CloudWatch Logs 그룹의 이름을 지정합니다. CloudTrail 이는 CIS 3.1-3.14 문제 해결에 사용됩니다.  | 
|   **SC 멤버 스택 로드**   |   `yes`   |  SC 제어의 자동 문제 해결을 위해 멤버 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **AFSBP 멤버 스택 로드**   |   `no`   |  FSBP 제어의 자동 문제 해결을 위해 멤버 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **CIS120 멤버 스택 로드**   |   `no`   |  CIS120 제어의 자동 문제 해결을 위해 멤버 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **CIS140 멤버 스택 로드**   |   `no`   |  CIS140 제어의 자동 문제 해결을 위해 멤버 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **CIS300 멤버 스택 로드**   |   `no`   |  CIS300 제어의 자동 문제 해결을 위해 멤버 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **PC1321 멤버 스택 로드**   |   `no`   |  PC1321 제어의 자동 문제 해결을 위해 멤버 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **NIST 멤버 스택 로드**   |   `no`   |  NIST 제어의 자동 문제 해결을 위해 멤버 구성 요소를 설치할지 여부를 지정합니다.  | 
|   **Redshift 감사 로깅을 위한 S3 버킷 생성**   |   `no`   |  FSBP RedShift.4 문제 해결을 위해 S3 버킷을 생성해야 하는지 `yes` 선택합니다. S3 버킷 및 문제 해결에 대한 자세한 내용은 *AWS Security Hub 사용 설명서*의 [Redshift.4 문제 해결을](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-redshift-4) 참조하세요.  | 
|   **Sec Hub 관리자 계정**   |   *<입력 필수>*   |  AWS Security Hub 관리자 계정의 12자리 계정 ID를 입력합니다.  | 
|   **네임스페이스**   |   *<입력 필수>*   |  최대 9자의 소문자 영숫자로 구성된 문자열을 입력합니다. 이 문자열은 IAM 역할 이름 및 작업 로그 S3 버킷의 일부가 됩니다. 멤버 스택 배포와 멤버 역할 스택 배포에 동일한 값을 사용합니다. 문자열은 각 솔루션 배포마다 고유해야 하지만 스택 업데이트 중에는 변경할 필요가 없습니다.  | 
|   **EnableCloudTrailForASRActionLog**   |   `no`   |  CloudWatch 대시보드에서 솔루션에서 수행한 관리 이벤트를 모니터링할`yes`지 선택합니다. 솔루션은를 선택하는 각 멤버 계정에 CloudTrail 추적을 생성합니다`yes`. 이 기능을 활성화하려면 AWS Organization에 솔루션을 배포해야 합니다. **또한 동일한 계정 내의 단일 리전에서만이 기능을 활성화할 수 있습니다.** 이 경우 발생하는 추가 비용을 이해하려면 [비용](cost.md#additional-cost-action-log) 섹션을 참조하세요.  | 

 **Accounts(계정)** 

![\[계정\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/automated-security-response-on-aws/images/accounts.png)


 **배포 위치**: 계정 번호 또는 조직 단위 목록을 지정할 수 있습니다.

 **리전 지정**: 결과를 수정하려는 모든 리전을 선택합니다. 계정 및 리전 수에 맞게 배포 옵션을 조정할 수 있습니다. 리전 동시성은 병렬일 수 있습니다.