차등 프라이버시를 위한 프라이버시 정책 사용하기
차등 프라이버시를 위한 프라이버시 정책 사용하기
이 주제는 데이터 프로바이더가 프라이버시 정책(privacy policy)으로 차등 프라이버시를 구현하는 방법을 설명해요.
본문
프라이버시 정책에 대해
차등 프라이버시에서 Snowflake는 각 쿼리를 검사해 쿼리를 실행하는 사용자와 연관된 프라이버시 예산을 초과할지 판단해야 해요. 프라이버시 정책이 그것을 가능하게 해요. 데이터 프로바이더는 사용자를 프라이버시 예산과 연결하는 프라이버시 정책을 만들고, 그 정책을 테이블과 뷰에 할당해 프라이버시 보호 대상이 되게 해요.
분석가가 프라이버시 정책이 있는 테이블에 대해 쿼리를 실행하면 Snowflake는 정책의 본문을 평가해 다음 중 하나를 수행해요.
- 정책이 사용자를 프라이버시 예산과 연결하면, Snowflake는 쿼리가 발생시키는 프라이버시 손실이 그 프라이버시 예산을 초과하지 않도록 해요. 쿼리가 성공적으로 실행되면 Snowflake는 쿼리가 발생시킨 프라이버시 손실을 사용자의 누적 프라이버시 손실에 더해 이후 쿼리가 프라이버시 예산을 초과하지 않게 해요.
- 정책이 사용자가 제한 없이 테이블을 쿼리할 수 있다고 나타내면 결과에 노이즈가 포함되지 않고, Snowflake는 쿼리가 발생시킨 프라이버시 손실을 추적하지 않아요.
프라이버시 정책 모범 사례:
단일 엔터티를 보호하기 위해 단일 프라이버시 정책을 만들고, 그 엔터티에 대한 정보를 포함하는 모든 테이블과 뷰에 그 프라이버시 정책을 할당할 수 있어요. 이렇게 하면 그 엔터티의 모든 프라이버시 예산이 하나의 프라이버시 정책 아래에 그룹화돼요. 모든 테이블과 뷰마다 별도의 프라이버시 정책을 만들 필요가 없어요.
프라이버시 정책 작업하기
프라이버시 정책 만들기:
CREATE PRIVACY POLICY 명령으로 프라이버시 정책을 만들어요. 정책 본문에서 프라이버시 예산과 MAX_BUDGET_PER_AGGREGATE 파라미터를 정의할 수 있어요.
프라이버시 정책 수정하기:
ALTER PRIVACY POLICY 명령으로 프라이버시 예산, 예산 창, MAX_BUDGET_PER_AGGREGATE 설정을 수정할 수 있어요.
프라이버시 정책 할당하기:
ALTER TABLE ... SET PRIVACY POLICY 또는 ALTER VIEW ... SET PRIVACY POLICY와 함께 ENTITY KEY 절을 사용해 테이블이나 뷰에 프라이버시 정책을 할당해요.
프라이버시 정책 또는 엔터티 키 교체하기:
엔터티 키를 교체하거나 프라이버시 정책을 교체할 때 특정 규칙을 따라요.
프라이버시 정책 분리하기:
ALTER TABLE ... UNSET PRIVACY POLICY로 테이블이나 뷰에서 프라이버시 정책을 분리할 수 있어요.
프라이버시 정책 모니터링하기
모든 프라이버시 정책 나열하기:
SHOW PRIVACY POLICIES 명령으로 계정의 모든 프라이버시 정책을 나열할 수 있어요.
프라이버시 정책 참조 식별하기:
Account Usage POLICY_REFERENCES 뷰를 조회해 프라이버시 정책이 어떤 객체에 할당됐는지 식별할 수 있어요.
권한과 명령
프라이버시 정책 권한:
프라이버시 정책을 만들고 관리하는 데 필요한 권한: CREATE PRIVACY POLICY, APPLY PRIVACY POLICY, OWNERSHIP 등.
프라이버시 정책 DDL 레퍼런스:
CREATE PRIVACY POLICY, ALTER PRIVACY POLICY, DROP PRIVACY POLICY, SHOW PRIVACY POLICIES, DESCRIBE PRIVACY POLICY 명령을 사용해요.