Предложение UPDATE
UPDATE указывает, какие столбцы нужно маскировать и как их преобразовывать. В одной политике можно маскировать несколько столбцов.
Примеры:
- Простая маскировка:
UPDATE email = '***masked***' - Частичная маскировка:
UPDATE email = concat(substring(email, 1, 3), '***@***.***') - Маскировка с использованием хеша:
UPDATE email = concat('masked_', substring(hex(cityHash64(email)), 1, 8)) - Несколько столбцов:
UPDATE email = '***@***.***', phone = '***-***-****'
Предложение WHERE
WHERE позволяет выполнять условное маскирование в зависимости от значений строк. Маскирование будет применяться только к строкам, удовлетворяющим условию.
Пример:
Предложение TO
TO укажите, к каким пользователям и ролям должна применяться политика.
TO user1, user2: Применяется к конкретным пользователям/ролямTO ALL: Применяется ко всем пользователямTO ALL EXCEPT user1, user2: Применяется ко всем пользователям, кроме указанных
В отличие от политик доступа к строкам, политики маскирования не влияют на пользователей, к которым они не применяются. Если к пользователю не применяется ни одна политика маскирования, он видит исходные данные.
Предложение PRIORITY
PRIORITY определяет порядок их применения. Политики применяются в порядке убывания приоритета.
Приоритет по умолчанию — 0. Политики с одинаковым приоритетом применяются в неопределённом порядке.
Пример:
Вопросы производительности
- Политики маскирования могут влиять на производительность запросов в зависимости от сложности выражений
- Для таблиц с активными политиками маскирования некоторые оптимизации могут быть недоступны