Cloud Connected Panther 인스턴스 설정하기

panther-cloud-connected-setup CLI 도구 사용하기

개요

a 클라우드 연결 Panther 인스턴스를 프로비저닝하려면, 다음을 사용합니다: panther-cloud-connected-setup CLI 도구를 사용하며, 수동 단계도 추가로 수행해야 합니다. Cloud Connected Panther 인스턴스는 AWS와 Snowflake 또는 Databricks에 배포됩니다.

아래에서 CLI 도구에 대해 읽은 다음, 설정 프로세스를 시작하세요.

이 페이지의 지침은 다음을 설정하기 위한 것입니다: 새로운 Cloud Connected 배포입니다. 기존 Panther 호스팅(SaaS) 인스턴스를 Cloud Connected 배포로 변환하려면, 이 단계를 따르지 말고 Panther 지원 팀에 연락하여 변환을 시작하세요.

다음 panther-cloud-connected-setup 도구

Cloud Connected Panther 인스턴스를 설정하는 작업의 일부는 다음을 실행하는 것입니다: panther-cloud-connected-setup CLI 도구. 이 도구는 로컬 머신 또는 AWS, Snowflake, Databricks 계정 내에서 모든 작업을 수행하며, 어떤 자격 증명이나 정보도 Panther와 공유하지 않습니다.

도구의 기능

이 도구를 실행하면:

  • AWS 계정 내에서:

    • 다음을 배포합니다: PantherDeploymentRole IAM 역할

    • 다음을 설치합니다: PantherDeploymentUpdaterRole, 이는 다음을 최신 상태로 유지합니다: PantherDeploymentRole 최신 상태

    • 다음을 배포하고 실행합니다: PantherReadinessCheck 사전 배포 도구, 배포 문제를 겪을 가능성이 낮은지 검증합니다

    • 제공한 루트 도메인을 기준으로 다음 서브도메인에 대한 SSL 인증서를 등록합니다:

      • <원하는 panther 서브도메인>.yourdomain.com

      • *.<원하는 panther 서브도메인>.yourdomain.com

    • (선택 사항) 인증서 검증을 위해 Route 53에 DNS 검증 레코드를 생성합니다

  • (Snowflake 사용 시) 다음을 사용하여 AWS 환경에 Snowflake 자격 증명을 프로비저닝합니다:

    • (권장) Panther가 대신 생성하는 Snowflake 계정 및 관리자 사용자

    • (권장되지 않음) 이미 생성된(비어 있는) Snowflake 계정과 관리자를 제공하며, 아래 지침에 따라 생성합니다. 이 경로는 다음을 사용하는 Snowflake 사용자를 허용할 수 없는 경우에 유용할 수 있습니다: panther-cloud-connected-setup 도구가 다음 역할을 가진 Snowflake 사용자를 사용하도록 GLOBALORGADMIN 역할. (이 사용자의 자격 증명은 절대 Panther와 공유되지 않습니다.)

데이터 저장소로 Databricks를 사용하는 경우, CLI 도구는 Databricks에서 어떤 작업도 수행하지 않습니다.

도구가 상태를 저장하는 방식

다음 panther-cloud-connected-setup 도구는 상태를 다음에 저장합니다: panther-cli-state.db 파일. 도구가 첫 실행에서 Panther 인스턴스를 성공적으로 프로비저닝하지 못하면, 이 파일이 이미 성공적으로 완료된 단계를 추적하므로 재실행이 더 쉬워집니다.

Cloud Connected Panther 인스턴스 설정 방법

사전 요구 사항

도구 설치 전제 조건

시작하기 전에 다음을 설치해야 합니다: panther-cloud-connected-setup 도구입니다.

운영 체제
설치 지침

macOS 및 Linux

다음을 설치합니다: panther-cloud-connected-setup 도구를 다음으로 Homebrew 를 사용하여 다음 명령을 실행합니다:

첫 번째 명령은 Panther의 자체 Homebrew tap GitHub 저장소를 참조합니다.

Windows

다음을 설치합니다: panther-cloud-connected-setup 다음 패키지를 사용하여 도구를 panther-cli 저장소의 Releases 페이지에서 설치합니다.

도구가 올바르게 설정되었는지 확인하려면 다음을 실행하세요:

이 명령은 다음과 유사한 출력을 생성해야 합니다:

AWS 전제 조건

  • 다음이 있습니다 AWS 조직.

  • 다음 중 하나를 사용하여 AWS로 인증할 수 있어야 합니다( 아래에 설명된 방법) 다음 중 하나를 사용하여:

    • (권장) AWS 계정 루트 사용자 (또는 비슷한 권한을 가진 다른 IAM 사용자).

    • 다음 최소 권한을 가진 IAM 사용자:

AWS 조직에 서비스 제어 정책(SCP)Control Tower Guardrails 이 조직 수준에 적용되어 있다면, 이를 업데이트하거나 예외를 생성할 수 있는 권한이 있는 것이 좋습니다. 이러한 정책은 CLI 도구의 동작을 방해하여 프로비저닝이 실패할 수 있습니다.

AWS 인증

다음 panther-cloud-connected-setup 도구는 다음 두 가지 모두를 사용한 AWS 인증을 지원합니다:

AWS로 인증을 시도할 때, 도구는 먼저 다음에서 명시적으로 정의된 자격 증명을 찾습니다: config.yml 파일(AWSConfig.AccessKeyIDAWSConfig.SecretAccessKey).

자격 증명이 다음에서 발견되면 config.yml, 해당 자격 증명을 사용하여 인증합니다. 다음에서 자격 증명을 찾지 못하면 config.ymlAWS 클라이언트 라이브러리의 표준 해석 전략을 사용하여 환경에서 AWS 자격 증명을 로드하려고 시도합니다.

기타 전제 조건

  • 사용자 정의 도메인이 등록되어 있습니다.

    • 사용자 정의 도메인 등록에 도움이 필요하고 도메인 등록 기관으로 AWS를 사용하고 싶다면 다음을 따르세요: 이 Amazon Route 53 문서.

(Snowflake 사용 시) Snowflake 전제 조건

  • 다음을 보유하고 있습니다: Snowflake 조직.

  • (도구가 Snowflake 계정과 관리자를 대신 프로비저닝하도록 하려는 경우, 권장됨) 다음 조건을 충족하는 Snowflake 사용자가 있습니다: panther-cloud-connected-setup 다음을 보유함:

  • (이미 생성된 Snowflake 계정과 관리자를 제공할 예정이라면, 권장되지 않음) 아래 지침에 따라 생성된 비어 있는 Snowflake 계정과 관리자가 있습니다.

(권장되지 않음) Panther용 새 Snowflake 계정 및 사용자 수동 생성

Snowflake 계정과 사용자를 수동으로 생성하려면:

  1. Snowflake 조직에서 아래 템플릿을 사용하여 Panther 전용 새 Snowflake 계정을 생성하세요. <YOUR_REGION> 은(는) 다음 중 하나여야 합니다: 지원되는 AWS 리전 (그리고 향후 Panther 인스턴스가 배포될 AWS 리전 과 동일해야 합니다). 이 명령은 계정을 생성합니다 및 계정의 첫 번째 사용자를 생성하며, 이 사용자에게 다음 역할이 할당됩니다: ACCOUNTADMIN 역할. 이 사용자는 Panther에 제공되지 않습니다. 전체 구문 지침은 다음을 참조하세요: CREATE ACCOUNT 명령 여기.

  2. 다음 명령으로 Snowflake 계정 URL을 구성하세요:

    • URL은 다음 형식입니다: <org-name>-<account-name>.snowflakecomputing.com

    • 이 값을 안전한 위치에 저장하세요. 이 프로세스의 다음 단계에서 필요합니다.

  3. 다음 명령으로 RSA 키쌍을 생성하세요: openssl genrsa 4096 | openssl pkcs8 -topk8 -inform PEM -out panther_rsa_key.p8 -nocrypt && openssl rsa -in panther_rsa_key.p8 -pubout -out panther_rsa_key.pub

  4. 1단계에서 생성한 관리자 사용자에게 RSA 공개 키를 할당하세요:

(Databricks 사용 시) Databricks 전제 조건

1단계: 새 AWS 계정 생성

2단계: Panther에서 값 요청

이 단계는 Panther Cloud Connected 인스턴스를 처음 설정하는 경우에만 필요합니다. 이전에 해본 적이 있다면(예: 여러 Panther 인스턴스를 관리하는 경우), 값이 변경되지 않으므로 이전 값을 사용할 수 있습니다.

  • Panther 지원팀에 연락하여 Cloud Connected 인스턴스를 배포 중이라고 알리고 다음 값들을 요청하세요: CloudFormationConfig.IdentityAccountIdCloudFormationConfig.OpsAccountId. 이 값들은 3단계에서 사용합니다.

3단계: 구성 파일 작성

  1. 다음 템플릿 중 하나를 복사하여 로컬에 구성 파일을 만드세요:

  2. 값을 입력할 때

4단계: 다음을 실행 panther-cloud-connected-setup 도구

  • 다음 명령으로 도구를 실행하세요:

    • 유용할 수 있는 추가 플래그:

      • --verbose: 자세한 로그 출력

      • --snowflake-logging: 자세한 Snowflake 로그 출력

      • --force-check-certificates: 이미 발급된 것으로 표시되어 있어도 인증서를 강제로 확인

도구에 대해 더 알아보려면 다음을 참조하세요: README.md.

5단계(필요한 경우): 인증서 요청을 검증하기 위한 DNS 레코드 생성

이전 단계에서 panther-cloud-connected-setup 도구를 실행하면 대신 SSL 인증서가 요청되며, AutoRegisterValidationDomains: true구성 파일에 설정한 경우 Route 53에 DNS 검증 레코드가 생성됩니다.

다음을 설정한 경우 AutoRegisterValidationDomains: false, 다음을 수행해야 합니다: DNS 검증 레코드를 수동으로 생성.

자동 DNS 레코드 생성(활성화된 경우)

다음을 설정한 경우 AutoRegisterValidationDomains: true구성 파일 그리고 도메인이 동일한 AWS 계정의 Route 53에 호스팅되어 있다면, 다음을 실행: panther-cloud-connected-setup 필요한 DNS 검증 레코드를 자동으로 생성하려고 시도합니다.

확인을 위해 도구 출력을 확인하세요:

  • 다음 메시지가 표시되면 DNS 검증 레코드를 성공적으로 생성했습니다 메시지가 보이면 DNS 레코드가 자동으로 생성된 것이므로 아래 수동 단계를 건너뛸 수 있습니다.

  • 다음 메시지가 표시되면 검증 도메인을 자동으로 등록하지 못했습니다 경고가 표시되거나 인증서가 미발급 상태로 표시되면 아래 수동 단계를 진행하세요.

수동 DNS 레코드 생성

다음을 설정한 경우 AutoRegisterValidationDomains: false구성 파일 또는 자동 등록에 실패한 경우, DNS 검증 레코드를 수동으로 생성하세요:

  1. 도구의 성공적인 실행은 계정 정보가 담긴 파일을 출력합니다. 이 파일에서 다음을 찾으세요: panther_certificatewildcard_certificate 노드:

    • 다음 항목의 여부를 확인하세요: validation_details.record_namevalidation_details.record_value 값이 다음 사이에서 다릅니까: panther_certificatewildcard_certificate 노드들, 또는 동일합니까.

  2. AWS Route53(또는 원하는 다른 DNS 서비스)에서:

    • 도구가 Snowflake 계정과 관리자를 대신 프로비저닝해야 하는 경우: validation_details.record_namevalidation_details.record_value 값이 다음에서 동일하면 panther_certificatewildcard_certificate 노드들, 하나의 CNAME DNS 레코드를 생성합니다.

      • 위 예시 출력 파일에서는 값이 동일하므로, 다음을 포함한 DNS 레코드 하나만 생성하면 됩니다:

        • Name: _8f65a0a68b4ca63ae9b9baa41429bf89.panther.coolsystems.net.

        • Value: _2b5df93054bace85f6a84fb07235830d.zfyfvmchrl.acm-validations.aws.

        • 유형: CNAME

    • 도구가 Snowflake 계정과 관리자를 대신 프로비저닝해야 하는 경우: validation_details.record_namevalidation_details.record_value 값이 다음 사이에서 다릅니까: panther_certificatewildcard_certificate 노드들, 두 개의 CNAME DNS 레코드를 생성합니다.

6단계: 출력된 파일을 Panther에 제공

  • 도구의 성공적인 실행은 계정 정보가 담긴 파일을 출력합니다. 이 파일을 Panther 지원팀에 제공하세요.

출력 파일 예시

7단계: CNAME 레코드 생성

  1. AWS 콘솔에서 EC2 서비스로 이동합니다.

  2. 다음에 대한 AWS 제공 DNS 이름을 찾습니다: 로드 밸런서:

    1. Route53(또는 원하는 다른 DNS 서비스)로 이동합니다.

    2. 기본 서브도메인(<your_desired_Panther_subdomain>.<company_name>.com)을 다음 DNS 이름으로 가리키는 새 CNAME 레코드를 생성합니다: 로드 밸런서.

  3. EC2에서 다음에 대한 AWS 제공 DNS 이름을 찾습니다: http-ingest-alb 로드 밸런서:

    1. Route53(또는 원하는 다른 DNS 서비스)로 이동합니다.

    2. 로그 서브도메인(logs.<your_desired_Panther_subdomain>.<company_name>.com)을 다음 DNS 이름으로 가리키는 새 CNAME 레코드를 생성합니다: http-ingest-alb 로드 밸런서.

  4. AWS 콘솔에서 API Gateway 서비스로 이동합니다.

  5. 다음을 클릭하세요. API > 사용자 지정 도메인 이름.

  6. API 서브도메인의 이름을 클릭합니다(api.<your_desired_Panther_subdomain>.<company_name>.com).

  7. 다음에서 엔드포인트 구성 섹션에서 다음을 복사합니다. API Gateway 도메인 이름 값. Under an "Endpoint configuration" header, a field titled "API Gateway domain name" is circled.

    1. Route53(또는 원하는 다른 DNS 서비스)로 이동합니다.

    2. API 서브도메인을 다음으로 가리키는 새 CNAME 레코드를 생성합니다(api.<your_desired_Panther_subdomain>.<company_name>.com) 다음 대상으로 API Gateway 도메인 이름 값.

  8. (선택 사항) 방금 생성한 세 개의 CNAME 레코드를 검증합니다:

8단계: API Gateway 및 CodeBuild 할당량 증가 요청

  • 다음을 따르세요. 이 AWS 문서 를 참조하여 다음 할당량 증가를 요청하세요:

    • API Gateway 스로틀 할당량: 20,000으로 설정

    • CodeBuild:

      • ARM/Large 환경에서 동시에 실행되는 빌드(또는 ARM BUILD_GENERAL1_LARGE): 2 이상으로 설정

      • Linux/Large 환경에서 동시에 실행되는 빌드(또는 Linux BUILD_GENERAL1_LARGE): 2 이상으로 설정

Panther는 자동으로 다음에 대한 요청을 제출합니다: Lambda 동시 실행 할당량 을 2,000으로 증가하도록.

9단계(Databricks 사용 시): Panther용 Databricks 구성

Databricks를 사용하는 경우, 이 시점에서 Panther Console은 접근 가능하지만 완전히 기능하지는 않습니다.

설정 후 권장 사항

1단계(권장): AWS 리소스에서 Panther 정의 태그 활성화

2단계(선택 사항): AWS 리소스에 대한 사용자 지정 태그를 Panther에 제공

  • Panther 정의 태그 외에도, 다음을 추가하고 싶을 수 있습니다: 자체 사용자 지정 태그 Panther 배포를 위해 생성된 AWS 리소스에. 그렇게 하려면 태그 키와 값 목록을 가지고 Panther 지원팀에 연락하세요.

3단계(Snowflake 사용 시): 최적의 쿼리 성능을 위한 Snowflake 구성 권장 사항 검토

마지막 업데이트

도움이 되었나요?