Snowflake의 차등 개인정보 보호¶
차등 개인정보 보호는 사용자가 민감한 데이터 세트에서 민감한 정보를 유출할 위험을 제한하는 널리 인정되는 데이터 개인정보 보호 표준입니다. 이는 사람, 회사, 위치 등 데이터 내 개별 오브젝트의 ID와 정보를 보호합니다. 각 개별 오브젝트의 정보는 보호되지만, 차등 개인정보 보호를 통해 데이터 컨슈머는 여전히 개인 그룹에 대한 통계, 추세, 행동을 알 수 있습니다.
차등 개인정보 보호는 재식별에 대한 강력한 보호 기능을 제공하며, 특히 표적형 개인정보 공격에 효과적으로 대응합니다. 이러한 보호 기능을 사용하면 조직 외부의 팀과 규제 범위를 넘어서는 민감한 데이터를 공유할 수 있습니다. 차등 개인정보 보호는 두 개의 민감한 데이터 세트를 결합하고, 새로운 필드를 추가하고, 기존 필드의 마스크를 취소하거나, 미리 집계된 데이터 대신 개별 행을 제공하는 데 따른 재식별 위험의 증가를 완화합니다.
다른 개인정보 보호 방법과 달리 차등 개인정보 보호는 다음을 수행합니다.
차등 공격 및 증폭 공격 등 특정 목적을 가진 개인정보 공격으로부터 보호합니다.
개인정보 보호와 유용성 간의 균형을 정량화하고 관리합니다. 즉, 민감하지 않은 정보 데이터 컨슈머가 데이터에 대해 얼마나 많은 정보를 알 수 있는지 제어합니다.
데이터 공급자가 재식별 위험을 줄이기 위해 민감한 데이터를 변환할 필요성(예: 마스킹, 삭제, 버케팅)을 제거합니다.
차등 개인정보 보호는 민감한 정보를 어떻게 보호합니까?¶
차등 개인정보 보호에 따라, 쿼리 결과는 개인 오브젝트를 식별하는 데 사용될 수 있는 정보를 공개해서는 안 됩니다. Snowflake는 차등 개인정보 보호를 강화하기 위해 다음을 수행합니다.
노이즈가 있는 집계¶
차등 비공개 쿼리는 결과를 반환하기 위해 데이터를 집계해야 하며, SELECT *
와 같은 행 수준 쿼리는 차단됩니다. 이러한 집계는 노이즈가 많으며 계산의 정확한 결과가 아닙니다. 집계에 특정 행이나 엔터티가 포함되었는지 여부를 가리기 위해 결과에 노이즈(즉, 변형 또는 무작위성)가 추가됩니다.
노이즈가 추가되면 씬 슬라이싱 및 차등 공격과 같은 개인정보 보호 공격으로부터 보호할 수 있습니다. 쿼리 결과에 추가되는 노이즈의 양은 쿼리되는 레코드 수, 집계 유형, 데이터 변환기 유형 등 쿼리의 민감도에 영향을 미치는 여러 요인에 따라 달라집니다. Snowflake는 엄격한 수학을 기반으로 쿼리의 민감도를 계산하지만, 쿼리가 개별 엔터티에 대한 정보를 유출할 가능성이 있는 것으로 개략적으로 이해할 수 있습니다. 일반적으로 민감도가 낮은 쿼리는 노이즈가 적어서 통계적으로 무시할 수 있는 수준일 가능성이 있습니다. 매우 민감한 쿼리(예: 개별 엔터티를 선별하는 쿼리)는 민감한 정보가 유출되는 것을 방지하기 위해 많은 양의 노이즈가 발생합니다.
Snowflake는 쿼리의 최종 집계 전에 발생하는 중간 집계에는 노이즈가 발생하지 않으며, 노이즈는 쿼리당 한 번만 발생합니다.
Snowflake는 개인정보로 보호되는 테이블의 행 수를 공개로 간주합니다. 예를 들어, t
테이블이 개인정보 보호정책에 의해 보호되는 SELECT COUNT(*) FROM t
를 실행하면 개인정보 손실 없이 정확한 결과를 반환합니다.
노이즈 수준을 이해하는 방법에 대한 자세한 내용은 쿼리 결과 이해하기 섹션을 참조하십시오.
개인정보 손실 제한하기¶
보호되는 데이터 세트에 대한 모든 쿼리는 개인과 관련된 비공개 정보가 노출되는 결과를 초래할 수 있으며, 여기에는 차별적으로 비공개적인 쿼리가 생성하는 노이즈가 많은 집계 결과도 포함됩니다. 차등 개인정보 보호에서는 이러한 정보 공개를 개인정보 손실 이라고 하며 정량화할 수 있는 측정 단위입니다. 쿼리를 통해 공개되는 개인정보가 많을수록 해당 쿼리와 관련된 개인정보 손실도 커집니다. 개인정보 보호 손실은 정량화할 수 있기 때문에 Snowflake는 차등 개인정보 보호 기능을 사용하여 특정 수준의 통계적 신뢰도까지 쿼리 기록 전반에 걸쳐 민감한 데이터를 보호할 수 있습니다.
사용자가 보호된 데이터에 대한 쿼리를 실행함에 따라 개인정보 손실이 누적됩니다. 누적된 개인정보 보호 손실이 특정 임계값에 도달한 경우 이후 사용자가 더 많은 결과를 볼 수 있도록 허용하면 이론적으로 허용할 수 없는 수준의 신뢰도를 가진 개인을 식별할 수 있게 됩니다. 개인정보 보호 예산 은 허용되는 개인정보 손실 한도를 설정합니다. Snowflake는 사용자 또는 사용자 그룹이 실행한 쿼리로 인한 개인정보 손실을 집계하고 그 집계가 해당 사용자와 관련된 개인정보 보호 예산을 초과하지 않도록 합니다. Snowflake는 개인정보 손실 임계값을 설정하는 사전 구성된 기본값을 사용하여 사용자 지정 가능한 개인정보 보호 예산을 제공합니다.
Snowflake는 스키마 수준의 오브젝트인 개인정보 보호정책 을 사용하여 개인정보 보호 예산을 사용자 또는 사용자 그룹과 연결합니다. 관리자가 해당 개인정보 보호정책을 테이블이나 뷰에 할당하면 해당 테이블이나 뷰는 개인정보 보호 상태가 됩니다. 사용자가 개인정보가 보호되는 테이블에 대해 쿼리를 실행할 때 Snowflake는 개인정보 보호 정책을 사용하여 사용자와 연관된 개인정보 보호 예산을 결정하고 쿼리로 인해 발생하는 개인정보 손실이 예산 한도를 초과하지 않도록 합니다.
차등 개인정보 보호의 이론과 실제¶
차등 프라이버시 표준은 학술 문헌에서 비롯된 것으로, 특히 이론적인 개인정보 보호 공격에 대해 강력하고 수학적으로 입증된 개인정보 보호를 보장하기 위해 공식화되었습니다. 특히, 개인정보 보호 예산 등의 개인정보 보호 설정은 학술적 환경의 경우에 더 보수적으로 설정됩니다. 이러한 설정은 데이터 유용성(분석 충실도, 정확성 및 가용성)을 희생하더라도 이론적인 개인정보 공격으로부터 강력한 보호를 제공합니다. PII 및 PHI와 같이 매우 민감한 데이터를 포함하여 사용 사례의 개인정보 보호와 유용성 간의 절충점을 고려할 때는 다음 사항을 고려하십시오.
실제 개인정보 보호 공격은 공격자가 공격 대상 데이터 세트를 제외한 모든 데이터 세트에 무제한의 컴퓨팅 리소스와 액세스 권한을 갖는다고 가정하는 학술 문헌에서 설명하는 이론적 개인정보 보호 공격만큼 효과적이지 않습니다.
데이터 공급자가 컨슈머의 데이터 액세스 권한을 취소할 수 있고 데이터의 분석 가치가 너무 높아서 데이터 손실 위험을 감수할 수 없기 때문에 데이터 컨슈머는 일반적으로 의도적으로 공격을 시작하려 하지 않습니다.
Snowflake는 실제 사용 사례의 목표에 맞춰 개인정보 보호와 유용성의 균형을 적절하게 유지하는 기본 설정을 선택했지만, 사용자의 특정 요구 사항을 충족시키기 위해 항상 다른 설정을 할 수 있습니다.
차등 개인정보 보호 워크플로¶
다음 워크플로는 차등 개인정보 보호를 통해 데이터를 보호하는 데이터 공급자가 수행하는 작업과 데이터가 보호된 후 데이터를 쿼리하는 분석가의 작업으로 구성됩니다.
데이터 공급자:
엔터티 수준의 개인정보 보호 를 구현하려면 요구 사항을 충족하도록 데이터를 구성합니다.
역할 또는 계정과 같은 요소를 기반으로 개인정보 보호 예산을 사용자와 연결하는 개인정보 보호정책을 만듭니다.
쿼리를 차등적으로 비공개로 설정하도록 테이블 또는 뷰에 개인정보 보호정책을 할당합니다.
개인정보 보호 테이블 또는 뷰에서 숫자 및 카테고리 열에 대한 개인정보 보호 도메인을 정의합니다.
분석가에게 개인정보로 보호되는 데이터에 액세스할 수 있는 권한을 부여합니다.
분석가는 개인정보 보호 데이터에 대해 쿼리를 실행할 때, 사용자와 관련된 개인정보 보호 예산을 관리할 수 있습니다.
분석가:
데이터 공급자가 개인정보 보호 테이블의 열에 대해 정의한 개인정보 보호 도메인 을 확인하여 열의 내용을 더 잘 이해할 수 있습니다.
데이터 공급자가 집계 또는 GROUP BY 절에서 사용할 열에 대한 개인정보 보호 도메인을 설정하는 것을 잊은 경우 열에 대한 개인정보 보호 도메인을 지정 합니다.
개인정보 보호가 적용된 테이블 및 뷰에 대해 차등적으로 비공개 쿼리를 실행 합니다.
노이즈 구간을 사용하면 집계의 결과를 이해하는 데 도움이 됩니다.
원하는 경우 데이터 공급자의 개인정보 보호 도메인을 좁혀 쿼리 결과를 개선할 수 있습니다.
제한 사항¶
테이블이 개인정보로 보호되는 경우 분석가는 다음 데이터 타입만 쿼리할 수 있습니다.
문자열 데이터 타입. 이진 타입은 지원되지 않습니다.
날짜 및 시간 데이터 타입 타임스탬프에는 TIMESTAMP_NTZ 만 지원됩니다.
현재 일부 Snowflake 기능은 차등 개인정보 보호를 사용할 때 지원되지 않습니다. 자세한 내용은 Snowflake 기능과의 상호 작용 섹션을 참조하십시오.
개인정보 보호를 위해 쿼리 함수가 제한되어 있습니다. 지원되는 연산자, 쿼리 구문 및 함수 목록은 차등 개인정보 보호 SQL 참조 섹션을 참조하십시오.
개인정보가 보호되는 테이블에서 쿼리를 실행하면 Snowflake는 먼저 얼마나 많은 노이즈가 추가될지에 영향을 미치는 통계를 계산한 다음 쿼리를 실행합니다. 이 두 단계 사이에 데이터가 변경되면 추가된 노이즈 양이 정확하지 않을 수 있습니다. Snowflake는 분석가가 쿼리를 실행할 수 있는 시간에 데이터 업데이트가 발생하지 않도록 데이터 공급자가 데이터 업데이트를 예약할 것을 권장합니다.
다음 단계¶
데이터 세트를 보호하기 위해 차등 개인정보 보호를 사용하는 데이터 공급자의 경우 차등 개인정보 보호 구현하기 섹션을 참조하십시오.
차등 개인정보 보호로 보호되는 데이터 세트를 쿼리하는 분석가의 경우 차등 개인정보 보호로 보호되는 데이터 쿼리하기 섹션을 참조하십시오.