DML 작업의 마스킹 동작 이해 - Amazon Aurora

DML 작업의 마스킹 동작 이해

pg_columnmask는 INSERT, UPDATE, DELETE 및 MERGE 문을 포함한 모든 DML 작업에 일관되게 적용됩니다. 이러한 작업을 실행하면 Aurora PostgreSQL은 핵심 원칙에 따라 데이터를 마스킹합니다. 스토리지에서 읽은 모든 데이터는 현재 사용자의 해당 정책에 따라 마스킹됩니다.

마스킹은 다음과 같은 쿼리 구성 요소 중 일부에 영향을 미칩니다.

  • WHERE 절

  • JOIN 조건

  • 하위 쿼리

  • RETURNING 절

이러한 모든 구성 요소는 원본 데이터가 아닌 마스킹된 값에서 작동합니다. 데이터가 마스킹되지 않은 스토리지에 기록되는 동안 사용자는 데이터를 다시 읽을 때 마스킹된 보기만 볼 수 있습니다.

Aurora PostgreSQL은 마스킹 처리된 값이 아닌 실제 저장된 값에 모든 데이터베이스 제약 조건(NULL, UNIQUE, CHECK, FOREIGN KEY 아님)을 적용합니다. 마스킹 함수가 신중하게 설계되지 않은 경우 때때로 명백한 불일치가 발생할 수 있습니다.

마스킹은 열 수준 권한과 함께 작동합니다.

  • SELECT 권한이 없는 사용자는 열을 읽을 수 없습니다.

  • SELECT 권한이 있는 사용자는 해당 정책에 따라 마스킹된 값을 볼 수 있습니다.