개인정보 보호 예산 관련 작업하기

이 항목에서는 차등 개인정보 보호를 구현한 데이터 공급자가 개인정보 보호 예산을 관리하기 위해 수행할 수 있는 작업에 대해 설명합니다. 개인정보 보호 예산에 대한 소개와 이를 통해 쿼리가 엔터티에 대한 민감한 정보를 공개하지 못하도록 방지하는 방법에 대해서는 개인정보 손실 제한하기 섹션을 참조하십시오.

개인정보 보호정책 본문에 개인정보 보호 예산 이름을 정의하면 개인정보 보호 예산이 자동으로 생성됩니다. 개인정보 보호정책 과 독립적으로 개인정보 보호 예산을 생성하지 마십시오.

개인정보 예산을 관리하려면 개인정보 보호정책에 개인정보 예산이 명시된 OWNERSHIP 권한이 필요합니다.

개인정보 보호 예산 보기

각 개인정보 보호 예산은 개인정보 보호 정책에 따라 네임스페이스로 지정됩니다. 동일한 이름의 개인정보 보호 예산이 여러 개 있을 수 있지만, 각 예산은 개인정보 보호정책에 따라 고유합니다. 개인정보 보호정책 내에서 개인정보 예산은 개인정보 손실 이 발생한 컨슈머 계정에 추가로 네임스페이스로 지정됩니다. 결과적으로 여러 계정은 동일한 이름과 개인정보 손실 한도로 개인정보 보호 예산을 가질 수 있지만, Snowflake는 각 계정의 누적 개인정보 손실을 별도로 집계합니다.

개인정보 보호 예산을 보면 예산에 따른 개인정보 손실 한도와 해당 예산과 관련된 사용자가 입은 누적 개인정보 손실량을 확인할 수 있습니다. 이 정보를 사용하면 누적된 개인정보 손실이 개인정보 예산 한도에 액세스하고 있는지 확인할 수 있습니다.

참고

개인정보 보호 예산과 관련된 누적 개인정보 보호 손실에는 데이터 공급자 계정 외부의 계정에서 발생한 개인정보 보호 손실은 포함되지 않습니다.

개인정보 보호 예산을 보려면 다음 두 가지 옵션이 있습니다. 두 옵션 모두 개인정보 보호 예산과 관련된 분석가에게 개인정보 손실이 발생한 경우 또는 관리자가 개인정보 보호 예산을 재설정 한 경우에만 개인정보 보호 예산이 표시됩니다.

  • 계정의 모든 개인정보 보호 예산을 쿼리하려면 Account Usage 스키마의 PRIVACY_BUDGETS 뷰를 사용하십시오. ACCOUNT USAGE 스키마의 PRIVACY_BUDGETS 뷰에는 계정의 모든 개인정보 보호 예산이 포함되어 있습니다. 이를 사용하면 소유한 모든 개인정보 보호정책과 연관된 개인정보 보호 예산을 볼 수 있으며, 이름으로 특정 개인정보 보호 예산에 초점을 맞춰 결과를 필터링할 수 있습니다. 예를 들어, patients_policy 개인정보 보호정책과 관련된 특정 개인정보 보호 예산에 집중하려면 다음 쿼리를 실행하면 됩니다.

    SELECT * FROM snowflake.account_usage.privacy_budgets
      WHERE policy_name='patients_policy' AND budget_name='analyst_budget';
    
    Copy
  • 특정 개인정보 보호정책과 관련된 개인정보 보호 예산을 보려면 CUMULATIVE_PRIVACY_LOSSES 테이블 함수를 사용합니다. CUMULATIVE_PRIVACY_LOSSES 테이블 함수를 사용하여 특정 개인정보 보호정책과 관련된 개인정보 예산을 검색할 수 있습니다. ACCOUNT USAGE 스키마의 PRIVACY_BUDGETS 뷰와 달리, 이 함수는 고정된 지연 시간이 없으며 누적된 프라이버시 손실에 대한 실시간 값을 반환합니다. 함수를 호출할 때, 개인정보 보호정책의 이름은 완전히 정규화되어야 합니다.

    예를 들어, my_policy_privacy 정책에 명시된 개인정보 보호예산을 보려면 다음을 실행합니다.

    SELECT *
      FROM TABLE(SNOWFLAKE.DATA_PRIVACY.CUMULATIVE_PRIVACY_LOSSES(
        'my_policy_db.my_policy_schema.my_policy_privacy'));
    
    Copy

개인정보 보호 예산에 대한 개인정보 보호 설정

Snowflake를 사용하면 개인정보 보호 예산의 개인정보 손실 한도와 집계당 지출되는 개인정보 보호 예산의 최대 금액(차등 개인정보 보호에서는 엡실론 으로 통칭)을 조정할 수 있습니다. 이러한 제어 기능은 개인정보 보호정책 본문에 다음 매개 변수를 지정하여 설정할 수 있습니다.

  • BUDGET_LIMIT — 누적된 개인정보 손실에 대한 개인정보 보호 예산 한도를 설정합니다.

  • MAX_BUDGET_PER_AGGREGATE – 집계당 개인정보 보호 예산의 최대 지출액(즉, 쿼리에서 각 집계 함수에 의해 발생하는 최대 개인정보 손실액)을 설정합니다.

예를 들어, ALTER PRIVACY POLICY 명령을 사용하여 기존 개인정보 보호 예산의 개인정보 보호 제어를 조정하려면 다음을 실행하면 됩니다.

ALTER PRIVACY POLICY users_policy SET BODY ->
  PRIVACY_BUDGET(BUDGET_NAME=>'analysts',
  BUDGET_LIMIT=>300,
  MAX_BUDGET_PER_AGGREGATE=>0.1);
Copy

개인정보 보호정책을 생성하기 위해 CREATE PRIVACY POLICY 명령을 실행할 때 이러한 컨트롤을 정의할 수도 있습니다.

조심

BUDGET_LIMIT, MAX_BUDGET_PER_AGGREGATE 또는 BUDGET_WINDOW 매개 변수를 변경할 때 ALTER PRIVACY POLICY 명령에 지정되지 않은 매개 변수는 기본값으로 다시 설정됩니다. 따라서 앞의 예제에서 Snowflake가 개인정보 보호 예산을 재설정하는 빈도를 결정하는 BUDGET_WINDOW 매개 변수는 기본값으로 다시 설정됩니다.

개인정보 보호 제어 설정에 대한 자세한 내용은 개인정보 보호 제어 조정하기 섹션을 참조하십시오.

개인정보 보호 예산 새로 고침

새로 고침 기간 정보

Snowflake는 분석가가 새로운 쿼리 세트를 실행할 수 있도록 개인정보 보호 예산의 누적 개인정보 손실량을 주기적으로 0으로 초기화합니다. 이 새로 고침 기간을 예산 윈도우라고 합니다. 이 자동 새로 고침 기능을 통해 분석가는 테이블에 새 데이터가 추가될 때마다 해당 데이터에 액세스할 수 있습니다. 이론적으로 분석가는 이 새로운 데이터에 대한 정보를 전혀 알지 못하므로 더 많은 쿼리를 실행하도록 하는 것이 적절합니다.

기본 예산 윈도우는 주 단위입니다.

새로 고침 기간 수정

개인정보 예산 새로 고침 주기를 수정하려면 개인정보 보호정책의 privacy_budgetbudget_window 값을 업데이트합니다. 예:

ALTER PRIVACY POLICY users_policy SET BODY ->
  PRIVACY_BUDGET(BUDGET_NAME=>'analysts', BUDGET_WINDOW=>'daily');
Copy

조심

BUDGET_LIMIT, MAX_BUDGET_PER_AGGREGATE 또는 BUDGET_WINDOW 매개 변수를 변경할 때 ALTER PRIVACY POLICY 명령에 지정되지 않은 매개 변수는 기본값으로 다시 설정됩니다. 따라서 앞의 예제에서 BUDGET_LIMITMAX_BUDGET_PER_AGGREGATE 는 기본값으로 다시 설정됩니다.

누적된 개인정보 손실 재설정

분석가가 정책으로 보호되는 데이터에 대한 쿼리를 실행하면 Snowflake는 해당 쿼리의 누적된 개인정보 손실을 집계합니다. RESET_PRIVACY_BUDGET 저장 프로시저를 호출하여 누적 개인 정보 손실을 0으로 재설정하여 분석가가 추가 쿼리를 실행할 수 있도록 할 수 있습니다.

RESET_PRIVACY_BUDGET 저장 프로시저는 분석가가 실수로 개인 정보 손실이 발생하여 다시 시작하려는 경우 예산을 재설정하기 위한 것입니다. 개인정보 보호 예산을 새로 고치면 개인정보 손실이 자동으로 0으로 설정된다는 점을 기억하십시오.

개인정보 보호 예산이 여러 계정의 분석가와 연결되어 있어도 지정된 계정의 분석가와 관련된 누적 개인정보 보호 손실만 0으로 초기화됩니다.

참고

RESET_PRIVACY_BUDGET을 호출할 때 누적된 개인정보 손실은 즉시 초기화되지 않습니다. 다음 번 쿼리로 인해 개인정보가 손실되면 재설정됩니다. 따라서 함수를 호출한 후 첫 번째 쿼리에서 개인정보 보호 손실이 발생하기 전에 개인정보 보호 예산을 보면 누적 개인정보 보호 손실은 0이 아닙니다.

다음은 companyorg.account_123 계정에서 쿼리를 실행하는 모든 사용자의 개인정보 사용량 카운트를 0으로 설정하는 예제입니다.

CALL SNOWFLAKE.DATA_PRIVACY.RESET_PRIVACY_BUDGET(
  'my_policy_db.my_policy_schema.my_policy',
  'analyst_budget',
  'companyorg',
  'account_123');
Copy