Есть ли способ создать политику маскирования, доступную для всех баз данных и схем в Snowflake?

#security #snowflake-cloud-data-platform #policy #masking #pii

Вопрос:

Я создал политику маскировки, которую могу применять в различных схемах и базах данных. Однако, если я не воссоздам политику маскирования в каждой комбинации схем базы данных, она не позволит мне применить эту политику. Это будет Masking policy 'DATABASE_NAME.SCHEMA_NAME.POLICY_NAME' does not exist or not authorized. происходить до тех пор, пока я не создам политику маскировки с выбранной базой данных и схемой.

Комментарии:

1. ДА. На самом деле лучше всего хранить содержимое утилит в отдельной схеме БД, чтобы им можно было централизованно управлять. Эта указанная политика затем может быть применена к любой таблице в любом месте, если вы правильно определили свои привилегии RBAC . В той же служебной области может также размещаться другой контент, которым вы можете централизованно управлять, например функции, хранимые процедуры и так далее.

2. @patrick_at_snowflake вы имеете в виду, что у меня есть политика маскировки И таблицы PII в одной и той же бд/схеме?

3. в таком случае, как я могу использовать политику маскирования, определенную в отдельной базе данных, и применить ее к столбцам в моей базе данных prod? Он продолжает бросать, что политики маскировки не существует

4. Как указано ниже, в Snowflake у вас есть возможность гибко определять эти объекты в одной и той же области или в отдельных областях; доступ к этим объектам контролируется RBAC.

Ответ №1:

@Kyle вы просто определяете свою политику маскирования в отдельной базе данных/схеме, и вы можете ссылаться на нее из любых других баз данных/схем.

Например, вы создаете policy_db.policy_schema.email_mask, затем вы можете ссылаться на эту политику, используя абсолютный путь в запросе apply.

 alter table if exists user_info   modify column email set masking policy policy_db.policy_schema.email_mask;  

Политика не обязательно должна находиться в той же БД/схеме, в которой находится таблица, которую вы хотите применить.