簡體   English   中英

是否可以保護雪花中的視圖列?

[英]Is it possible to protect columns of a view in snowflake?

我在一家公司工作,一個團隊管理數據庫,其他團隊從那里使用表/視圖。 有時,視圖會被重構,這可能會破壞其他團隊的事情。

是否可以保護某些列,以便不能簡單地重命名/刪除這些列? 或者至少有一條日志消息告訴想要這樣做的人另一個團隊依賴它?

在 Snowflake 中,只有具有通過更改視圖定義來更新視圖的權限的角色用戶才能對指定視圖進行更改。 如果特定角色具有替換視圖定義的權限,則沒有機制可以阻止它們重命名或刪除列。

您可以在 Snowflake Information_schema 中看到 QUERY_HISTORY function 中的日志。 這些函數提供了有關哪個用戶運行查詢以及運行時間的大量信息。 像下面這樣的查詢會帶來適當的信息:

select user_name, role_name, query_text, start_time, end_time from table(information_schema.query_history())

where query_text ilike '%replace view %' order by start_time desc;

改變視圖的特權是全部或全部。 它不限制角色可以或不能更改、刪除、添加等的列。但是,由於 Snowflake 允許將視圖用作另一個視圖的一部分,因此這可以構成您的組織執行您所尋求的整體方法的一部分。

例如,創建一個包含所有受保護列的基本視圖。 嚴格控制對哪些角色可以更改基本視圖的訪問。 從基礎視圖中,創建特權較低的角色可以更改的視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM