Noções básicas sobre o comportamento de mascaramento em operações de DML - Amazon Aurora

Noções básicas sobre o comportamento de mascaramento em operações de DML

pg_columnmask é aplicado de modo consistente a todas as operações do DML, incluindo INSERT, UPDATE, DELETE e MERGE. Quando você executa essas operações, o Aurora PostgreSQL mascara os dados de acordo com um princípio fundamental: qualquer dado lido do armazenamento é mascarado de acordo com as políticas aplicáveis do usuário atual.

O mascaramento afeta alguns dos seguintes componentes de consulta, como:

  • Cláusulas WHERE

  • Condições JOIN

  • Subconsultas

  • Cláusulas RETURNING

Todos esses componentes operam com valores mascarados, não com os dados originais. Enquanto os dados são gravados no armazenamento sem máscara, os usuários só acessam a visualização mascarada ao lê-la novamente.

O Aurora PostgreSQL impõe todas as restrições do banco de dados (NOT NULL, UNIQUE, CHECK, FOREIGN KEY) nos valores reais armazenados, não nos valores mascarados. Ocasionalmente, isso poderá criar inconsistências aparentes se as funções de mascaramento não forem cuidadosamente projetadas.

O mascaramento funciona com permissões em nível de coluna:

  • Usuários sem privilégios SELECT não podem ler colunas.

  • Usuários com privilégios SELECT veem valores mascarados de acordo com as políticas aplicáveis.