관리자로 개인정보 보호 도메인 관련 작업하기

개인정보 보호 도메인 은 수학적 도메인과 유사하게 열에 가능한 값을 정의합니다. Snowflake는 개인정보 보호 도메인을 사용하여 결과에 얼마나 많은 노이즈를 추가할지 결정합니다.

이 섹션의 작업을 완료하기 전에 개인정보 보호 도메인에 대해 완전하게 이해하려면 개인정보 보호 도메인 정보 섹션을 참조하십시오.

데이터 공급자는 분석가가 데이터를 배포하기 전에 작업을 수행할 있는 모든 숫자 및 카테고리 열에 대해 개인정보 보호 도메인을 설정하는 것이 가장 좋습니다.

개인정보 보호 도메인 선택하기

개인정보 보호 도메인은 열의 가능한 값을 정의하며, 반드시 실제 값을 정의하는 것은 아닙니다. 필요에 따라 개인정보 보호 도메인을 좁히거나 확장하여 실제 값이 포함되지 않도록 할 수 있습니다. 예를 들어, 다음 중 하나를 수행할 수 있습니다.

  • 정확한 값을 모호하게 하기 위해 더 광범위한 목록을 정의합니다. 분석가가 개인정보 보호 도메인을 볼 수 있으므로 사용자는 열의 정확한 내용을 공개하고 싶지 않을 수도 있습니다. 예를 들어, 열에 우편번호의 하위 집합이 포함되어 있다고 가정해 보겠습니다. 모든 가능한 우편번호를 포함하도록 개인정보 보호 도메인을 확장하여 특정 우편번호가 데이터 세트에 있는지 여부를 모호하게 할 수 있습니다.

  • 이상 값이 있는지를 숨기려면 더 좁은 범위를 정의합니다. 예를 들어, 대부분의 값이 1~50 사이인 경우, 분석가가 평균이 비정상적으로 높기 때문에 100이라는 값을 추론할 수 있으므로 100이라는 값을 평균에 포함시키지 않을 수 있습니다.

개인정보 도메인 외부의 값이 처리되는 방식에 대한 내용은 개인정보 도메인 외부의 값 섹션을 참조하십시오.

중요

개인정보 보호 테이블을 쿼리할 수 있는 권한이 있는 사용자는 해당 테이블의 열에 대한 개인정보 보호 도메인을 볼 수 있으므로 개인정보 보호 도메인을 신중하게 선택하십시오.

대부분의 필드에는 개인정보 보호 도메인이 있어야 하지만, 중요한 예외가 있습니다. 예를 들어, 사용자 ID, 이메일, 신용카드 번호, 주민등록번호와 같은 고유 식별자 필드에는 개인정보 보호 도메인이 없어야 합니다. 사용자는 정확한 개인정보 보호 도메인을 볼 수 있으며, 일반적으로 분석가가 데이터 세트에 특정 식별자가 있는지 여부를 아는 것은 바람직하지 않습니다.

반면, 개인정보 보호 도메인은 식별자 필드가 개별 엔터티에 고유하지 않고 가능한 값이 공개적으로 알려진 경우(예: 우편 번호, 의료 데이터의 NAICS 코드, ICD 코드)에는 실제 값을 포함해야 합니다.

개인정보 보호 도메인 설정하기

개인정보 보호 도메인은 최소값과 최대값을 갖는 값 범위 또는 열거형 값 목록으로 정의합니다. 일반적으로 개인정보 보호 도메인의 유형은 열의 데이터 타입에 따라 결정됩니다. 다음 목록에 데이터 타입이 없는 경우 열에 개인정보 보호 도메인을 설정할 수 없습니다.

데이터 타입

개인정보 보호 도메인 유형

숫자

날짜 및 시간

범위

문자열

열거 목록

개인정보 보호 도메인을 설정, 변경 또는 삭제하려면 테이블에 대한 OWNERSHIP 권한이 필요합니다. 다음을 수행할 때 개인정보 보호 도메인을 설정할 수 있습니다.

이러한 각 메서드에서 새로운 개인정보 보호 도메인의 구문은 동일합니다.

참고

테이블이 삭제되면, 해당 테이블의 개인정보 보호 도메인도 삭제됩니다. 이는 CREATE OR REPLACE 명령에도 적용됩니다.

개인정보 보호 도메인 구문

개인정보 보호 도메인을 생성하는 구문은 다음과 같습니다.

PRIVACY DOMAIN
  {
      [ BETWEEN ( <lo_value>, <hi_value> ) ]
    | [ IN ( '<value1>, '<value2>', ... ) ]
    | [ REFERENCES <table_name>( <col_name> ) ]
  }
Copy

매개 변수

단일 매개 변수를 지정해야 합니다.

BETWEEN ( lo_value, hi_value )

열에서 가능한 값의 범위인 개인정보 보호 도메인을 생성합니다. 여기서 lo_value 는 최소값이고 hi_value 는 최대값입니다.

IN ( 'value1', 'value2', ... )

지정된 값의 열거형 목록인 개인정보 보호 도메인을 생성합니다.

IN 매개 변수는 최대 50개의 값을 사용할 수 있으며, 각 값은 최대 100자까지 입력할 수 있습니다. 50개를 초과하는 값으로 구성된 열거형 목록을 지정해야 하는 경우 REFERENCES 매개 변수를 사용하십시오.

REFERENCES table_name( col_name )

테이블의 열에 포함된 값으로 구성된 열거형 목록인 개인정보 보호 도메인을 생성합니다.

REFERENCES 개인정보 보호 도메인이 있는 테이블에 대해 차등 비공개 쿼리를 수행하는 사용자는 개인정보 보호 도메인에서 참조하는 열이 포함된 테이블에 대한 SELECT 권한이 있어야 합니다. 즉, 다른 테이블을 참조하는 개인정보 보호 테이블을 공유하는 경우 참조된 테이블을 동일한 공유에서 공유하는 것이 가장 좋습니다.

개인정보 보호 도메인은 자신을 참조할 수 있습니다. 하지만 이 기능을 사용할 때는 주의해야 합니다. 개인정보 보호 도메인이 자체 열을 참조하는 경우 열거형 목록에는 열의 모든 가능한 값이 아닌 열의 모든 실제 값이 포함되므로 개인정보가 노출될 수 있습니다. 예를 들어, zipcode 열의 개인정보 보호 도메인이 자신을 참조하는 경우, 분석가는 개인정보 보호 도메인을 볼 때 특정 우편 번호가 데이터 세트에 있는지 여부를 확실하게 알 수 있습니다.

참고

처음으로 테이블을 생성할 때 자신을 참조하는 개인정보 보호 도메인을 정의할 수 없습니다. 먼저 테이블을 생성한 다음 별도의 명령으로 개인정보 보호 도메인을 설정합니다.

참조되는 열에는 16,384개의 고유 값이 포함될 수 있습니다.

새 테이블을 생성할 때 개인정보 보호 도메인 설정

CREATE TABLE 명령을 사용하여 테이블을 생성할 때 열의 개인정보 보호 도메인을 설정하는 구문은 다음과 같습니다.

CREATE TABLE <table_name>
  ( <col_name> <col_type> PRIVACY DOMAIN
    {
        [ BETWEEN ( <lo_value>, <hi_value> ) ]
      | [ IN ( '<value1>', '<value2>', ... ) ]
      | [ REFERENCES <table_name>( <col_name> ) ]
    }
  )
Copy

자세한 내용은 개인정보 보호 도메인 구문 섹션을 참조하십시오.

새 열을 추가할 때 개인정보 보호 도메인 설정

ALTER TABLE 을 사용하여 기존 테이블에 새 열을 추가할 때 개인정보 보호 도메인을 설정하는 구문은 다음과 같습니다.

ALTER TABLE <table_name>
  ADD COLUMN <col_name> <col_type> PRIVACY DOMAIN
    {
        [ BETWEEN ( <lo_value>, <hi_value> ) ]
      | [ IN ( '<value1>', '<value2>', ... ) ]
      | [ REFERENCES <table_name>( <col_name> ) ]
    }
Copy

자세한 내용은 개인정보 보호 도메인 구문 섹션을 참조하십시오.

열을 수정하여 개인정보 보호 도메인 설정

ALTER TABLE … ALTER COLUMN 명령을 사용하여 테이블의 기존 열에 대한 개인정보 보호 도메인을 설정하는 구문은 다음과 같습니다.

ALTER TABLE <table_name>
  { ALTER | MODIFY } COLUMN <col1_name> SET PRIVACY DOMAIN
    {
        [ BETWEEN ( <lo_value>, <hi_value> ) ]
      | [ IN ( '<value1>', '<value2>', ... ) ]
      | [ REFERENCES <table_name>( <col_name> ) ]
    }
Copy

자세한 내용은 개인정보 보호 도메인 구문 섹션을 참조하십시오.

개인정보 보호 도메인 수정

기존 개인정보 보호 도메인을 수정하는 구문은 기존 열에 새 개인정보 보호 도메인을 생성 하는 구문과 동일합니다. ALTER TABLE .. ALTER COLUMN … SET PRIVACY DOMAIN 명령은 기존 개인정보 보호 도메인을 새 도메인으로 바꿉니다.

개인정보 보호 도메인 제거

ALTER TABLE … ALTER COLUMN 명령을 사용하여 열에서 개인정보 보호 도메인을 제거하는 구문은 다음과 같습니다.

ALTER TABLE <table_name>
  { ALTER | MODIFY } COLUMN <col1_name> UNSET PRIVACY DOMAIN
Copy

개인정보 보호 도메인 보기

개인정보 보호가 설정된 테이블 또는 뷰의 개인정보 보호 도메인을 보려면 DESCRIBE TABLE 또는 DESCRIBE VIEW 명령을 실행합니다. 열의 개인정보 보호 도메인은 출력의 PRIVACY_DOMAIN 열에 표시됩니다.

개인정보 보호가 설정된 테이블의 개인정보 보호 도메인을 보려면 해당 테이블에 대한 SELECT 권한이 필요합니다.

개인정보 보호 도메인 오브젝트 해석하기

열의 개인정보 보호 도메인은 JSON 오브젝트로 반환됩니다. JSON 오브젝트의 domain_type 필드는 개인정보 보호 도메인이 값 범위인지 아니면 열거형 목록인지를 나타냅니다. 오브젝트의 나머지 필드는 domain_type 필드 값에 따라 달라집니다.

개인정보 보호 도메인의 JSON 오브젝트에는 다음 필드가 포함될 수 있습니다.

domain_type

개인정보 보호 도메인의 유형을 나타냅니다.

BETWEEN

개인정보 보호 도메인은 열에 있을 수 있는 가능한 값의 범위입니다.

IN

개인정보 보호 도메인은 열에 포함될 수 있는 가능한 값의 열거형 목록입니다.

REFERENCES

개인정보 보호 도메인은 열에 포함될 수 있는 가능한 값의 열거형 목록입니다. 이 목록은 같은 테이블 또는 다른 테이블의 열에서 가져온 것입니다. 개인정보 보호 도메인의 열거형 목록을 보려면 참조된 열의 내용을 쿼리합니다.

low

domain_type = BETWEEN 인 경우 가능한 값 범위에서 최소값을 지정합니다.

high

domain_type = BETWEEN 인 경우 가능한 값 범위에서 최대값을 지정합니다.

values

domain_type = IN 인 경우 배열로 구조화된 가능한 값의 열거형 목록을 지정합니다.

database

domain_type = REFERENCES 인 경우, 가능한 값의 열거형 목록을 작성하기 위해 Snowflake가 참조하는 열이 포함된 데이터베이스를 지정합니다.

schema

domain_type = REFERENCES 인 경우, 가능한 값의 열거형 목록을 작성하기 위해 Snowflake가 참조하는 열이 포함된 스키마를 지정합니다.

table

domain_type = REFERENCES 인 경우, 가능한 값의 열거형 목록을 작성하기 위해 Snowflake가 참조하는 열이 포함된 테이블을 지정합니다.

column

domain_type = REFERENCES 인 경우, 가능한 값의 열거형 목록을 작성하기 위해 Snowflake가 참조하는 열을 지정합니다. 개인정보 보호 도메인의 열거형 목록을 보려면 이 열의 내용을 쿼리합니다.