자동 보안 검사 실행하기

이 항목에서는 Native Apps Framework에서 제공하는 자동화된 보안 검토를 사용하는 방법을 설명합니다. 또한 안전한 애플리케이션 패키지와 애플리케이션을 만드는 지침과 모범 사례도 제공합니다.

참고

애플리케이션이 자동 보안 검토에 실패하는 경우 애플리케이션 코드에 대한 추가적인 수동 검토를 수행하여 실패 상태를 확인하거나 이를 재정의하여 애플리케이션을 승인할 수 있습니다.

이 수동 검토는 영업일 기준 최대 5일이 걸릴 수 있습니다.

Native Apps Framework 보안 요구 사항 정보

자동 보안 검사 정보 에 설명된 조건을 충족하는 모든 Native Apps Framework 애플리케이션은 다음 섹션에 설명된 보안 요구 사항을 준수해야 합니다.

애플리케이션 코드의 보안 요구 사항

애플리케이션 패키지 내에 포함된 애플리케이션 코드는 다음 보안 요구 사항을 준수해야 합니다.

  1. 애플리케이션이 Snowflake에서 제공하는 라이브러리를 제외하고 애플리케이션 패키지 외부의 어디서든 코드를 로드하거나 실행하면 안 됩니다. 모든 라이브러리 종속성과 설정 코드를 포함한 모든 애플리케이션 코드를 애플리케이션 패키지에 정의된 애플리케이션 버전에 포함해야 합니다.

  2. 모든 애플리케이션 코드를 난독 처리 해제하여 코드를 사람이 읽을 수 있도록 해야 합니다. 이 요구 사항에는 축소된 JavaScript 코드가 포함됩니다.

    참고

    애플리케이션이 축소된 JavaScript 코드를 사용해야 하는 경우 축소되지 않은 코드를 복구하는 데 사용할 수 있는 해당 원본 맵 파일을 포함해야 합니다.

  3. 가능하다면 공통 취약점 및 노출 수준(CVE)이 심각하거나 높은 모든 종속성 또는 라이브러리를 보안 버전으로 업데이트해야 합니다.

애플리케이션 기능의 보안 요구 사항

애플리케이션의 기능에 다음 보안 요구 사항이 적용됩니다.

  1. 모든 애플리케이션은 목록의 일부로 고객에게 다음 정보를 제공해야 합니다.

    1. 모든 애플리케이션 기능과 특징.

    2. 애플리케이션이 연결하는 모든 인터넷 엔드포인트 및 URL.

    3. 애플리케이션의 모든 외부 함수.

    4. 애플리케이션에서 기록, 수집 또는 저장하는 모든 컨슈머 데이터.

  2. 애플리케이션은 애플리케이션 목록에 광고된 대로 기능을 발휘해야 합니다.

  3. 모든 애플리케이션 설치 및 설정 지침은 애플리케이션 목록에 포함해야 합니다.

  4. 애플리케이션이 고객 시크릿을 일반 텍스트로 저장하거나 요구해서는 안 됩니다.

  5. 애플리케이션과 인터넷 간의 모든 통신은 유효한 TLS 인증서를 사용해 HTTPS 연결을 통해 이루어져야 합니다.

  6. 애플리케이션에는 Snowflake, 고객 또는 서드 파티에 해를 끼칠 수 있는 기능이 없어야 합니다. 피해에는 다음이 포함되지만 이에 국한되는 것은 아닙니다.

    1. 데이터 유출 및/또는 손실

    2. 애플리케이션 기능의 일부로(예: 데이터 액세스 정책을 위한 데이터 마스킹) 명시적으로 디자인한 것이 아닌 한 데이터에 대한 컨슈머 액세스 제한.

    3. 과도한 리소스 소비.

    4. 임의의 코드 삽입/실행.

애플리케이션 권한의 보안 요구 사항

다음 보안 요구 사항이 애플리케이션에서 설정한 권한에 적용됩니다.

  1. 모든 애플리케이션은 매니페스트 파일에 다음 정보를 제공해야 합니다.

    1. 모든 오브젝트에 대해 애플리케이션에서 필요한 모든 권한.

    2. 모든 API 통합.

  2. 애플리케이션은 애플리케이션이 작동하는 데 필요한 최소한의 권한 세트만 요청해야 합니다.

자동 보안 검사 정보

다음 중 하나가 발생할 때 자동 보안 검사가 시작됩니다.

  • 공급자는 DISTRIBUTION 매개 변수를 EXTERNAL 로 설정하여 애플리케이션 패키지에 버전을 추가합니다. 새 버전이 자동으로 검사됩니다.

  • 공급자가 버전이 이미 정의된 애플리케이션 패키지에서 DISTRIBUTION=EXTERNAL을 설정합니다. 애플리케이션 패키지의 모든 버전이 자동으로 검사됩니다.

다음 예와 같이 애플리케이션 패키지에 대해 DISTRIBUTION 속성을 설정하는 ALTER APPLICATION PACKAGE 명령을 사용합니다.

ALTER APPLICATION PACKAGE HelloSnowflakePackage
  SET DISTRIBUTION = EXTERNAL;
Copy

자동 보안 검토 상태 보기

다음 예와 같이 SHOW VERSIONS 명령을 사용하여 자동 보안 검토의 상태를 확인합니다.

SHOW VERSIONS IN APPLICATION PACKAGE HelloSnowflakePackage;
Copy

review_status 열에는 자동 보안 검토의 다음 상태 중 하나가 표시됩니다.

  • NOT_REVIEWED

  • IN_PROGRESS

  • APPROVED

  • REJECTED

참고

애플리케이션이 자동 보안 검사를 통과하면 해당 상태가 APPROVED로 업데이트됩니다. 애플리케이션이 자동 보안 검사에 실패하면 Snowflake에서 이를 수동으로 검토합니다. 수동 검토 후 애플리케이션 상태가 APPROVED 또는 REJECTED로 업데이트됩니다.