자동 보안 검사 실행하기

이 항목에서는 자동 보안 검사를 시작하고 현재 상태를 보는 방법을 설명합니다.

보안 스캔 워크플로

다음 다이어그램은 보안 검사가 Snowflake Native App 을 개발 및 게시하는 워크플로 내에서 어떻게 적용되는지 보여줍니다.

../../_images/security-scan-overview.png

이 워크플로에는 다음 단계가 포함됩니다.

  1. 애플리케이션 패키지를 만듭니다.

  2. 애플리케이션 코드와 관련 파일을 업데이트합니다.

    자동 보안 검사를 실행하기 전에 앱이 Snowflake Native App 의 보안 요구 사항 및 모범 사례 에 설명된 보안 요구 사항 및 모범 사례를 준수하는지 확인하세요. 앱이 Snowflake Native App with Snowpark Container Services 인 경우 Snowflake Native App with Snowpark Container Services 의 보안 에 설명된 추가 보안 요구 사항을 검토하십시오.

  3. 애플리케이션 패키지에 버전 또는 패치를 추가합니다.

  4. 자동 보안 검사를 실행합니다. 자동 보안 검사는 공급자가 다음 중 하나를 수행할 때 시작됩니다.

    • DISTRIBUTION 속성이 EXTERNAL 로 설정된 경우 애플리케이션 패키지에 새 버전 또는 패치를 추가합니다. 새로운 버전은 자동으로 스캔됩니다.

    • 이미 버전이 정의된 애플리케이션 패키지에서 DISTRIBUTION 속성을 “EXTERNAL”로 설정합니다. 가장 최신 버전의 애플리케이션 패키지 10개가 자동으로 스캔됩니다. 이 버전의 모든 패치도 검사되었습니다.

  5. 검사 결과를 기다리십시오.

    스캔이 승인되면 공급자는 앱 게시 프로세스를 계속 진행할 수 있습니다.

    스캔이 거부되면 공급자는 스캔 결과에 따라 애플리케이션 코드를 업데이트해야 합니다. 혹은 공급자는 거부에 대해 이의 제기할 수 있습니다.

  6. 앱에 대한 릴리스 지시문을 생성하거나 수정합니다.

  7. 앱에 대한 목록 만들기

  8. 승인을 위해 Snowflake에 목록을 제출합니다.

    목록이 승인되면 공급자는 Snowflake Marketplace에 목록을 게시할 수 있습니다.

    목록이 거부되면 공급자는 목록을 업데이트하고 승인을 위해 다시 제출해야 합니다.

  9. 목록을 게시합니다.

애플리케이션 패키지의 DISTRIBUTION 속성 설정

애플리케이션 패키지의 DISTRIBUTION 속성은 공급자가 애플리케이션 패키지를 목록의 데이터 상품으로 사용할 때 생성할 수 있는 목록의 유형을 나타냅니다. 이 속성의 값은 다음과 같습니다.

  • INTERNAL 은 공급자가 애플리케이션 패키지가 생성된 동일한 조직 내에서만 비공개 목록을 생성할 수 있음을 나타냅니다. DISTRIBUTION 속성이 INTERNAL 로 설정되어 있으면 자동 보안 검사가 수행되지 않습니다.

  • EXTERNAL 은 공급자가 애플리케이션 패키지가 생성된 동일한 조직 외부에서 목록을 생성할 수 있음을 나타냅니다. 여기에는 다음이 포함됩니다.

    • 공급자 조직 외부의 비공개 목록입니다.

    • 공개 목록.

    • Marketplace 목록.

공급자는 애플리케이션 패키지를 생성할 때 또는 이후에 DISTRIBUTION 속성을 설정할 수 있습니다.

애플리케이션 패키지를 생성할 때 DISTRIBUTION 속성을 설정하려면 다음 예제와 같이 CREATE APPLICATION PACKAGE 를 실행합니다.

CREATE APPLICATION PACKAGE hello_snowflake_package
  DISTRIBUTION = EXTERNAL;
Copy

공급자가 애플리케이션 패키지를 생성할 때 DISTRIBUTION 속성을 설정하면 나중에 애플리케이션 패키지에 추가된 모든 버전 또는 패치가 즉시 스캔됩니다.

기존 애플리케이션 패키지에 DISTRIBUTION 속성을 설정하려면 다음 예제와 같이 ALTER APPLICATION PACKAGE 를 실행합니다.

ALTER APPLICATION PACKAGE hello_snowflake_package
  SET DISTRIBUTION = EXTERNAL;
Copy

공급자가 기존 애플리케이션 패키지에 DISTRIBUTION 속성을 설정하면 가장 최신 버전의 앱 10개를 대상으로 자동 보안 검사가 자동으로 실행됩니다. 이러한 버전의 모든 패치도 검사됩니다.

보안 검사 상태 보기

버전 또는 패치에 대한 보안 검사를 시작한 후 공급자는 애플리케이션 패키지에서 해당 상태를 볼 수 있습니다. 가능한 상태는 다음과 같습니다.

  • NOT_REVIEWED 는 이 애플리케이션 패키지에 대해 자동 보안 검사가 수행되지 않았음을 나타냅니다.

  • IN_PROGRESS 는 현재 자동 보안 검사가 진행 중임을 나타냅니다.

  • APPROVED 는 자동 보안 검사가 완료되었고 애플리케이션 패키지가 승인되었음을 나타냅니다. 공급자는 애플리케이션 패키지에 대한 릴리스 지시문을 설정할 수 있습니다.

  • REJECTED 는 자동 보안 검사가 완료되었지만 애플리케이션 패키지가 승인되지 않았음을 나타냅니다.

참고

자동화된 보안 검사가 실패하면 Snowflake가 수동으로 애플리케이션 패키지를 검토합니다. 수동 검토가 완료되면 상태가 APPROVED 또는 REJECTED 로 업데이트됩니다.

SQL 을 사용하여 보안 검사 상태 보기

보안 검사의 상태를 보려면 다음 예제와 같이 SHOW VERSIONS IN APPLICATION PACKAGE 명령을 실행합니다.

SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
Copy

review_status 열에는 자동 검토 스캔의 상태가 표시됩니다.

Snowsight를 사용하여 보안 검사 상태 보기

  1. Snowsight 에 로그인합니다.

  2. 탐색 메뉴에서 Projects » App packages 를 선택합니다.

  3. 상태를 보려는 애플리케이션 패키지를 선택합니다.

    Security Scan Status 열에는 애플리케이션 패키지와 관련된 각 버전 및 패치의 현재 검토 상태가 표시됩니다.

  4. 상태가 Rejected 인 경우 앱 패키지를 선택하여 거부 사유를 확인합니다.

거부에 대한 이의 제기

Snowflake가 수동 검토를 수행한 후 중대한 취약점이나 정책 위반이 발견되면 애플리케이션 패키지는 거부되며, 거부 사유는 애플리케이션 패키지에서 검토할 수 있습니다.

공급자는 심각도 4 지원 티켓을 개설하여 거부에 대한 이의 제기를 제기할 수 있습니다. CVE 기반 거부에 대해 이의를 제기할 때 공급자는 다음 사항을 설명하는 자세한 문서를 제출해야 합니다.

  • 애플리케이션에서 CVE를 익스플로잇할 수 없는 이유

  • 도달 가능성 분석 보고서(사용 가능한 경우)

  • 고정 버전으로 업데이트하기 위한 계획

  • 업데이트 계획이 없는 경우 취약한 버전을 업데이트할 수 없는 이유에 대한 자세한 설명

Snowflake 보안팀은 모든 이의 제기에 대해 검토하고 결정을 내립니다.

이의 제기 절차에 대한 추가 정보는 실패한 보안 검토에 대한 이의 제기 섹션을 참조하십시오.

지속적인 보안 모니터링 및 수정

앱이 Snowflake Marketplace에서 승인 및 게시되면 지속적인 보안 모니터링을 거쳐 지속적인 안전과 규정 준수가 보장됩니다. 여기에는 다음이 포함됩니다.

  • 주기적인 이미지 보안 분석을 통해 새로운 취약점이나 정책 위반을 감지합니다.

  • 문제가 발견되면 공급자에 알림이 전달되고, 앱을 패치하기 위해 30일의 영업일이 주어지며, 그렇지 않을 경우 15일 이내에 예외를 요청할 수 있습니다.