Получить все доступные политики маскирования для учетной записи в Snowflake
Как получить все политики маскирования, созданные для конкретной учетной записи в Snowflake? Есть ли какой-нибудь вид, чтобы это увидеть?
Показать политики маскирования извлекает только данные, относящиеся к политикам, а не к месту их применения?
Как я могу получить все политики и в каких столбцах, в каких таблицах они применяются?
1 ответ
Вы можете запросить табличную функцию информационной схемы POLICY_REFERENCES, см. Здесь: https://docs.snowflake.com/en/sql-reference/functions/policy_references.html
Вот также пример из документации:
use database my_db;
use schema information_schema;
select *
from table(information_schema.policy_references(policy_name => 'ssn_mask'));
Важно: вы должны выполнить
USE DATABASE ...
и
USE SCHEMA INFORMATION_SCHEMA
команд или используйте полный квалифицированный идентификатор.
Если этого недостаточно, вы можете запросить все политики со всеми таблицами и всеми столбцами, если объедините запрос выше с вашим
SHOW MASKING POLICIES;
и RESULT_SCAN()- функция.
RESULT_SCAN() позволяет запрашивать результаты
SHOW MASKING POLICIES;
(https://docs.snowflake.com/en/sql-reference/functions/result_scan.html)
Следствие: вы получаете все названия политик, и для каждой из них вы можете вызвать POLICY_REFERENCES().