Получить все доступные политики маскирования для учетной записи в 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().

Другие вопросы по тегам