# 사전 배포 도구 (레거시)

## 개요

{% hint style="danger" %}
이 페이지의 지침을 따르지 말고—대신 다음을 따르세요 [클라우드 연결](/ko/system-configuration/panther-deployment-types/cloud-connected.md) 및 [클라우드 연결 Panther 인스턴스 설정 지침](/ko/system-configuration/panther-deployment-types/cloud-connected/set-up.md). 이 페이지는 역사적 참고용으로만 존재합니다.
{% endhint %}

Panther는 조직이 [클라우드 연결](/ko/system-configuration/panther-deployment-types/cloud-connected.md) Panther 인스턴스를 배포할 때 사용할 수 있는 여러 도구를 제공합니다:

* **준비 상태 검사 도구:** 이 도구는 배포 역할에 정의된 작업을 AWS 계정에 대해 시뮬레이션하여 Panther 배포와 충돌할 수 있고 추가 검토가 필요한 조직 정책을 식별합니다. 또한 AWS 계정에서 Amazon S3 Select가 활성화되어 있는지도 확인합니다.
  * 이 도구를 성공적으로 실행했다는 것은 IAM 또는 S3 Select 관련 배포 문제를 겪을 가능성이 낮다는 강력한 संकेत이며, Panther 측의 배포 과정을 간소화할 수 있습니다.
* **Snowflake 자격 증명 부트스트랩 도구:** 이 도구는 AWS에서 Panther 인프라를 처음 배포하기 전에(초기 Snowflake 구성 포함) Snowflake 자격 증명을 AWS 계정 안에 저장하는 데 도움이 됩니다. 이를 통해 다음과 같은 이점이 있습니다:
  * Panther 직원과의 인간 간 인계(handoff)를 포함하여 AWS 계정에서 자격 증명이 유출되는 것을 방지할 수 있습니다.
  * 자격 증명은 설정 과정 초기에 정확성을 위해 검증할 수 있습니다.

이들은 다음을 사용하여 빌드된 CloudFormation 템플릿으로 정의된 Lambda 함수 모음으로 배포됩니다. [AWS SAM](https://aws.amazon.com/serverless/sam/). 이 유틸리티의 소스는 [이 `panther-auxiliary` GitHub 저장소에 있습니다.](https://github.com/panther-labs/panther-auxiliary/tree/main/serverless/panther-preflight-tools).

## 도구 세트 배포

### 사전 요구 사항

* 다음 `PantherDeploymentRole` CloudFormation 스택이 이미 배포되어 있어야 합니다.
  * 다음의 [Cloud Connected용 AWS 구성](/ko/system-configuration/panther-deployment-types/legacy-configurations/cloud-connected-setup-without-cli-tool-legacy/configuring-aws-for-cloud-connected-legacy.md#step-3-deploy-the-pantherdeploymentrole) 3단계에서 이를 완료했어야 합니다.

### 사전 배포 도구 CloudFormation 템플릿 배포

1. CloudFormation 템플릿이 저장된 S3 URL을 구성하려면 아래 URL에서 `<region>` 을 Panther를 배포하려는 리전으로 바꾸세요:\
   `https://panther-public-cloudformation-templates.s3.us-west-2.amazonaws.com/panther-preflight-tools-<region>/latest/template.yml`
2. 구성한 S3 URL을 사용하여 템플릿을 배포하세요. 템플릿에서 CloudFormation 스택을 생성하는 방법은 CloudFormation 문서를 참조하세요. 다음 중 어느 방법이든 사용할 수 있습니다 [CloudFormation 콘솔 사용](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) 또는[ AWS CLI 사용](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-creating-stack.html).
   * 다음 AWS 리전을 선택하세요.`PantherDeploymentRole`및 Snowflake 계정이 있는 리전입니다.
   * 스택 이름은 일관성을 위해 `PantherPreflightToolsStack`을 사용하는 것을 권장합니다.
   * 이 스택에서 구성할 매개변수는 없습니다.\
     ![A "Create Stack" screen in the AWS Console is shown. Under "Template source," "Amazon S3 URL" has been selected, and a S3 URL has been inputted in a text field.](/files/562fb649b330e4f62cb9fc5ddc276803599fd9ef)

## 준비 상태 검사 도구 사용

준비 상태 검사는 payload를 필요로 하지 않습니다. AWS CLI 또는 AWS 콘솔에서 호출할 수 있습니다.

{% tabs %}
{% tab title="AWS 콘솔" %}
AWS 콘솔에서 호출하기:

1. 인증된 AWS 콘솔 세션에서 다음의 테스트 페이지로 이동하세요. `PantherReadinessCheck` Lambda 유틸리티:\
   <https://console.aws.amazon.com/lambda/home#/functions/PantherReadinessCheck?tab=testing>
2. 다음에서 **이벤트 이름** 필드에 이름을 입력하세요.
3. 다음에서 **이벤트 JSON** 필드에 빈 payload를 입력하세요.
4. 오른쪽 상단에서 다음을 클릭하세요. **테스트**.\
   ![In the AWS Console, you can enter the Event Name and leave the payload blank. In the upper right, there is a Test button.](/files/39b2cf3d4fbf10ea7c5ec1266d417facbff400d4)
5. 테스트가 완료되면 **세부 정보** 드롭다운을 클릭하여 결과를 확인하세요.\
   ![In the AWS Console, click the Details tab to expand it and view results.](/files/0cb2b8f1eeddcd48372a8aa1a5dce141ce93e56c)
   * 성공적으로 실행될 때까지 진행하지 마세요. 이 도구를 성공적으로 실행하는 데 문제가 있으면 Panther 지원팀에 문의하세요.
     {% endtab %}

{% tab title="AWS CLI" %}
명령줄에서 다음을 사용해 호출하기. `aws` CLI:

1. 다음을 실행하세요:

   ```
     aws lambda invoke --function-name "PantherReadinessCheck"\
     --cli-binary-format raw-in-base64-out output.json
   ```
2. 이 예시에서는 결과가 `output.json`:

   ```
   [12:18] user@host $> aws lambda invoke --function-name "PantherReadinessCheck" --cli-binary-format raw-in-base64-out output.json
   [12:18] user@host $> cat output.json
   {"Message": "Deployment Role에 대해 모든 평가가 성공했습니다"}
   ```

   * 성공적으로 실행될 때까지 진행하지 마세요. 이 도구를 성공적으로 실행하는 데 문제가 있으면 Panther 지원팀에 문의하세요.
     {% endtab %}
     {% endtabs %}

### 준비 상태 검사 실패 사유

준비 상태 검사 실행이 실패하면 아래 이유 중 하나 때문일 수 있습니다.

#### 서비스 제어 정책

명령의 출력이 `일부 평가가 허용되지 않았습니다!` 와 함께 실패한 작업 목록이 표시되면 조직의 [서비스 제어 정책(SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) 을 업데이트하여`PantherDeploymentRole` 가 성공적인 배포를 보장하는 데 필요한 작업을 수행할 수 있도록 허용하세요.

#### Control Tower Guardrails

다음이 있을 수 있습니다. [AWS Control Tower Guardrails](https://docs.aws.amazon.com/audit-manager/latest/userguide/controltower.html) 정책이 배포를 차단하고 있습니다.

#### Amazon S3 Select가 활성화되어 있지 않습니다

명령 출력에 다음이 포함되면 `"s3_select_enabled": false`Panther 지원팀에 문의하세요. Panther는 AWS와 협력하여 [Amazon S3 Select](https://docs.aws.amazon.com/AmazonS3/latest/userguide/selecting-content-from-objects.html) 를 계정에 활성화할 것입니다.

## Snowflake 자격 증명 부트스트랩 도구 사용

이 도구를 사용하려면 `PantherSnowflakeCredentialBootstrap` Lambda를 두 번 실행하고 그 사이에 한 단계를 수행해야 합니다. 첫 번째 Lambda 실행은 비밀을 AWS 계정에 시드하며, 출력은 자격 증명을 추가하기 위해 비밀을 수정할 수 있는 AWS의 페이지로 안내합니다. 두 번째 Lambda 실행은 새로 생성된 비밀로 Snowflake 계정과의 연결을 검증하고, 새로 검증된 비밀의 ARN을 제공합니다.

{% tabs %}
{% tab title="AWS 콘솔" %}

1. AWS 콘솔에서 Lambda 서비스로 이동하세요.
   * Snowflake 계정이 배포된 것과 동일한 리전에서 작업하고 있는지 확인하세요.
2. 다음을 찾으세요. `PantherSnowflakeCredentialBootstrap` Lambda.
3. 다음을 클릭하세요. **테스트** 탭.
4. 다음의 **테스트 이벤트 작업** 다음을 확인하세요. **새 이벤트 생성** 이 선택되어 있습니다.
5. 다음에서 **이벤트 이름 필드**, 이름을 입력하세요.
6. 다음에서 **이벤트 JSON** 편집기에서 내용을 하나의 키/값 쌍으로 바꾸세요. 여기서 키는 `host` 이고 값은 Snowflake 계정 URL입니다:

   ```json
   {
       "host": "<org-name>-<account-name>.snowflakecomputing.com"
   }
   ```
7. 오른쪽 상단에서 다음을 클릭하세요. **테스트**.\
   ![Under a "Test event" header are various form fields, including Event name and Event JSON. A "Test" button is circled.](/files/c2222ea3b95b38e56d9635f1f2cb6cb1c8db1224)
8. 테스트가 완료되면(그리고 성공적으로 실행되면) **세부 정보** 드롭다운을 클릭하여 결과를 확인하세요.
9. 출력된 URL을 복사한 다음 새 브라우저 탭에서 여세요.\
   ![Under an "Executing function: succeeded" header is a textfield with text. A URL value has been underlined.](/files/a08dc68f020cd37986f91247cfb5c4be65cfcec5)
10. 비밀 수정:
    1. 다음 항목에서 **비밀 값** 타일에서 다음을 클릭합니다 **비밀 값 검색**.\
       ![The AWS console is shown. A "Retrieve secret value" button is circled.](/files/871ebfd1c6d816ed1db08e3af8d05ed38636137f)
    2. 다음을 클릭하세요. **편집**.\
       ![In an "Overview" tab, there is a tile titled "Secret value." An "Edit" button is circled.](/files/05ec37a5102b22c948d5b793264924e6377bde99)
    3. 다음의 값을 업데이트하세요. `password` 키를 다음의 비밀번호로 `pantheraccountadmin` Snowflake 사용자.\
       ![An "Edit secret value" screen is shown. It has various key/value pairs. The value for the "password" key, "this\_is\_my\_actual\_password," is circled.](/files/db77493b133a999db5ba0a0dcc41542707db58bd)
    4. 다음을 클릭하세요. **저장**.
11. 브라우저 탭으로 돌아가 `PantherSnowflakeCredentialBootstrap` Lambda.
12. 여전히 **테스트** 탭에서, **이벤트 JSON** 편집기에서 이벤트를 다음으로 업데이트하세요:

    ```json
    {
        "validate": "true"
    }
    ```
13. 오른쪽 상단에서 다음을 클릭하세요. **테스트**.\
    ![Under a "Test event" section are various form fields, such as Event name and Event JSON. A "Test" button is circled.](/files/086fb59f85771a37d23b3b3b739a0dc29e11ac77)
    * 이 호출의 응답에는 성공한 경우 새로 생성된 비밀의 ARN이 포함됩니다.
14. 출력된 ARN 값을 안전한 위치에 저장하세요. 나중 단계에서 Panther 지원팀에 제공해야 하기 때문입니다.
    {% endtab %}
    {% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.panther.com/ko/system-configuration/panther-deployment-types/legacy-configurations/cloud-connected-setup-without-cli-tool-legacy/pre-deployment-tools-legacy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
