在 Purview 中連線和管理 Snowflake Microsoft
本文概述如何註冊 Snowflake,以及如何在 Microsoft Purview 中驗證 Snowflake 並與其互動。 如需 Microsoft Purview 的詳細資訊,請閱讀 簡介文章。
掃描 Snowflake 來源時,Microsoft Purview 支援:
擷取技術元數據,包括:
- 伺服器
- 資料庫
- Schemas
- 包含數據行、外鍵和唯一條件約束的數據表
- 包含數據行的檢視
- 預存程式,包括參數數據集和結果集
- 包含參數數據集的函式
- 管道
- 階段
- 包含數據行的數據流
- 工作
- Sequences
擷取數據表、檢視、數據流和預存程式之間資產關聯性的靜態譜系。
針對預存程式,您可以選擇 要在掃描設定上擷取的詳細數據層級。 Snowflake 腳本支援預存程式譜系 (SQL) 和 JavaScript 語言,並根據程式定義產生。
設定掃描時,您可以選擇完全根據指定名稱 (的) 或名稱模式 (的) 來掃描一或多個 Snowflake 資料庫 (的) ,或進一步將掃描範圍設為符合指定名稱的架構子集 (的) 或名稱模式 (的) 。
- 從數據源刪除物件時,後續掃描目前不會自動移除 purview Microsoft對應的資產。
- 下列模式不支援預存程式譜系:
- 以 Java、Python 和 Scala 語言定義的預存程式。
- 使用 SQL EXECUTE IMMEDIATE 與靜態 SQL 查詢做為變數的預存程式。
具有使用中訂用帳戶的 Azure 帳戶。 免費建立帳戶。
您需要數據源管理員和數據讀取者許可權,才能在 Microsoft Purview 治理入口網站中註冊來源及進行管理。 如需許可權的詳細資訊,請參閱 Microsoft Purview 中的訪問控制。
-
- 若要使用受控 VNet Integration Runtime 透過私人連結連線到 Snowflake,請遵循透過受控私人端點連線到 Snowflake 中的步驟來設定私人端點。
- 若要使用自我裝載 Integration Runtime 進行掃描,請設定最新的自我裝載整合運行時間。 如需詳細資訊,請參閱 建立和設定自我裝載整合運行時間指南。
Microsoft Purview 支援基本身份驗證 (掃描 Snowflake 的使用者名稱和密碼) 。 指定用戶的預設角色將用來執行掃描。 Snowflake 用戶必須具有倉儲的許可權,且資料庫 (要掃描的) ,以及系統數據表的讀取許可權,才能存取進階元數據。
以下是建立使用者的範例逐步解說,專門用於Microsoft Purview 掃描和設定許可權。 如果您選擇使用現有的使用者,請確定它具有倉儲和資料庫對象的適當許可權。
purview_reader
設定角色。 您需要 ACCOUNTADMIN 許可權才能執行這項操作。USE ROLE ACCOUNTADMIN; --create role to allow read only access - this will later be assigned to the Microsoft Purview user CREATE OR REPLACE ROLE purview_reader; --make sysadmin the parent role GRANT ROLE purview_reader TO ROLE sysadmin;
建立Microsoft Purview 的倉儲以使用和授與許可權。
--create warehouse - account admin required CREATE OR REPLACE WAREHOUSE purview_wh WITH WAREHOUSE_SIZE = 'XSMALL' WAREHOUSE_TYPE = 'STANDARD' AUTO_SUSPEND = 300 AUTO_RESUME = TRUE MIN_CLUSTER_COUNT = 1 MAX_CLUSTER_COUNT = 2 SCALING_POLICY = 'STANDARD'; --grant rights to the warehouse GRANT USAGE ON WAREHOUSE purview_wh TO ROLE purview_reader;
建立使用者
purview
以Microsoft Purview 掃描。CREATE OR REPLACE USER purview PASSWORD = '<password>'; --note the default role will be used during scan ALTER USER purview SET DEFAULT_ROLE = purview_reader; --add user to purview_reader role GRANT ROLE purview_reader TO USER purview;
將讀取器許可權授與資料庫物件。
GRANT USAGE ON DATABASE <your_database_name> TO purview_reader; --grant reader access to all the database structures that purview can currently scan GRANT USAGE ON ALL SCHEMAS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE ON ALL FUNCTIONS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE ON ALL PROCEDURES IN DATABASE <your_database_name> TO role purview_reader; GRANT SELECT ON ALL TABLES IN DATABASE <your_database_name> TO role purview_reader; GRANT SELECT ON ALL VIEWS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE, READ on ALL STAGES IN DATABASE <your_database_name> TO role purview_reader; --grant reader access to any future objects that could be created GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE ON FUTURE FUNCTIONS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE ON FUTURE PROCEDURES IN DATABASE <your_database_name> TO role purview_reader; GRANT SELECT ON FUTURE TABLES IN DATABASE <your_database_name> TO role purview_reader; GRANT SELECT ON FUTURE VIEWS IN DATABASE <your_database_name> TO role purview_reader; GRANT USAGE, READ ON FUTURE STAGES IN DATABASE <your_database_name> TO role purview_reader;
本節說明如何使用 Microsoft Purview 治理入口網站,在 Microsoft Purview 中註冊 Snowflake。
若要在數據目錄中註冊新的 Snowflake 來源,請遵循下列步驟:
- 在 Microsoft Purview 治理入口網站中,流覽至 您的 Microsoft Purview 帳戶。
- 選取左側導覽上的 [數據對應 ]。
- 選取 [註冊]
- 在 [註冊來源] 上,選取 [Snowflake]。 選取 [繼續]。
在 [ 將來源註冊 (Snowflake) 畫面上,遵循下列步驟:
輸入要在目錄中列出數據來源的 [名稱 ]。
以的形式輸入 伺服器 URL
<account_identifier>.snowflakecomputing.com
,例如orgname-accountname.snowflakecomputing.com
。 深入瞭解 Snowflake 帳戶標識碼。 請注意,此 URL 是作為 Snowflake 資產完整名稱的一部分,且是 Microsoft Purview 在掃描期間連線到 Snowflake 的預設端點。如果適用,請 新增其他主機 。 當您想要掃描作業連線到伺服器 URL 以外的 Snowflake 端點時,請指定它。 您可以在掃描設定期間選擇要連線的主機。
提示
如果您已經掃描 Snowflake,但想要切換為使用另一個端點 -例如,從公用端點到私人端點,您可以在數據源中新增其他主機,並在掃描中選擇該主機進行連線,以確保 Purview Microsoft產生與先前相同的完整名稱資產。
註冊數據源時,Microsoft Purview 會執行唯一性檢查,確認伺服器 URL 和其他主機不會與任何現有的來源重疊。
從清單中選取集合。
完成註冊數據源。
請依照下列步驟掃描 Snowflake 來自動識別資產。 如需一般掃描的詳細資訊,請參閱 掃描和擷取簡介。
Snowflake 來源支持的驗證類型是 基本身份驗證。
若要建立並執行新的掃描,請遵循下列步驟:
在 Microsoft Purview 治理入口網站中,流覽至 [來源]。
選取已註冊的 Snowflake 來源。
選 取 [+ 新增掃描]。
提供下列詳細資料:
名稱:掃描的名稱
透過整合運行時間連線:根據您的案例選取 Azure 自動解析整合運行時間、受控 VNet IR 或 SHIR。 若要深入瞭解 ,請參閱為您的案例選擇正確的整合運行時間設定。 若要使用受控 VNet IR 透過私人連結連線到 Snowflake,請遵循透過 受控私人端點連線到 Snowflake 中的步驟,先設定私人端點。
線上的主機:選擇在掃描期間用來建立 Snowflake 連線的端點。 您可以從伺服器 URL 或您在 資料源中設定的其他主機中進行選擇。
認證:選取要連線到數據源的認證。 請務必:
- 建立認證時選取 [基本身份驗證 ]。
- 在 [用戶名稱] 輸入字段中提供用來連線到 Snowflake 的使用者名稱。
- 將用來連線到 Snowflake 的使用者密碼儲存在秘密密鑰中。
倉儲:指定用來在大寫案例中強化掃描的倉儲實例名稱。 指派給認證中指定之用戶的預設角色必須具有此倉儲的USAGE許可權。
資料庫:指定一或多個資料庫實例名稱,以大寫大小寫匯入。 使用分號 (;) 分隔清單中的名稱。 例如,
DB1;DB2
。 指派給認證中指定之用戶的預設角色,必須具有資料庫對象的適當許可權。注意
指定多個資料庫實例名稱時,分類不會套用至數據表。
可接受的資料庫名稱模式可以是靜態名稱或包含通配符 。 例如:
A%;%B;%C%;D
:- 從 A 或開始
- 以 B 結尾或
- 包含 C 或
- 等於 D
架構:列出要匯入的架構子集,以分號分隔清單表示。 例如,
schema1;schema2
。 如果該清單是空的,則會匯入所有用戶架構。 預設會忽略所有系統架構和物件。使用 可接受的架構名稱模式可以是靜態名稱或包含通配符 。 例如:
A%;%B;%C%;D
:- 從 A 或開始
- 以 B 結尾或
- 包含 C 或
- 等於 D
不接受使用 NOT 和特殊字元。
預存程式詳細資料:控制從預存程式匯入的詳細資料數目:
- 簽章 (預設) :預存程式的名稱和參數。
- 程式代碼、簽章:預存程式的名稱、參數和程序代碼。
- 歷程、程式代碼、簽章:預存程式的名稱、參數和程序代碼,以及衍生自程式代碼的數據譜系。
- 無:不包含預存程式詳細數據。
注意
如果您使用自我裝載 Integration Runtime 進行掃描,則自 5.30.8541.1 版起支援預設簽章以外的自定義設定。 舊版一律會擷取預存程式的名稱和參數。
使用自我裝載整合運行時間時 (適用的記憶體上限) :掃描程式可在客戶的 VM 上使用的最大記憶體 (為 GB) 。 這取決於要掃描的 Snowflake 來源大小。
注意
根據經驗法則,請為每 1000 個數據表提供 1GB 記憶體。
選取 [測試連線] 以驗證使用 Azure Integration Runtime) 時 (可用的設定。
選取 [繼續]。
選取用於分類的 掃描規則集 。 您可以選擇系統預設值、現有的自訂規則集,或 建立內嵌的新規則集 。 若要深入瞭解,請參閱 分類 一文。
注意
當數據表名稱、檢視表名稱、架構名稱或資料庫名稱包含特殊字元時,分類將不會套用至數據表或檢視表。
注意
如果您使用自我裝載運行時間,則必須升級至 5.26.404.1 版或更新版本,才能使用 Snowflake 分類。 您可以 在這裡找到最新版的 Microsoft Integration Runtime。
選擇掃描 觸發程式。 您可以設定排程或執行掃描一次。
檢閱您的掃描,然後選取 [ 儲存並執行]。
若要檢視現有的掃描:
- 移至 Microsoft Purview 入口網站。 在左窗格中,選取 [ 數據對應]。
- 選取數據源。 您可以在 [最近掃描] 底下檢視該數據源上現有 掃描的清單,也可以在 [掃描] 索引 卷標上 檢視所有掃描。
- 選取具有您想要檢視結果的掃描。 此窗格會顯示所有先前的掃描執行,以及每個掃描執行的狀態和計量。
- 選取執行標識碼以檢查 掃描執行詳細數據。
若要編輯、取消或刪除掃描:
移至 Microsoft Purview 入口網站。 在左窗格中,選取 [ 數據對應]。
選取數據源。 您可以在 [最近掃描] 底下檢視該數據源上現有 掃描的清單,也可以在 [掃描] 索引 卷標上 檢視所有掃描。
選取您要管理的掃描。 然後您可以:
- 選取 [編輯掃描 ],以編輯掃描。
- 選取 [ 取消掃描執行],以取消進行中的掃描。
- 選取 [ 刪除掃描],以刪除掃描。
注意
- 刪除掃描並不會刪除從先前掃描建立的類別目錄資產。
掃描 Snowflake 來源之後,您可以 瀏覽資料目錄 或 搜尋資料目錄 來檢視資產詳細數據。
移至 [資產 -> 譜系] 索引標籤,您可以在適用時看到資產關聯性。 請參閱支援的 Snowflake 譜系案例 支援的功能 一節。 如需一般譜系的詳細資訊,請參閱 數據譜系 和 譜系使用者指南。
注意
如果檢視是由不同資料庫的數據表所建立,請使用分號 (;) 清單中的名稱同時掃描所有資料庫。
本節說明在 Azure 上將受控私人端點 (PE) 從 Microsoft Purview 設定為 Snowflake 的必要步驟。 深入瞭解 Azure Private Link 和 Snowflake。
在您的 Snowflake 帳戶中,擷取目標端點和資源標識碼。使用 Account 管理員 role 執行系統函式 SYSTEM$GET_PRIVATELINK_CONFIG () ,並記下下列屬性的值:
- privatelink-pls-id
- privatelink-account-url
- regionless-privatelink-account-url
- privatelink_ocsp-url
use role accountadmin; select key, value::varchar from table(flatten(input=>parse_json(SYSTEM$GET_PRIVATELINK_CONFIG())));
在 Microsoft Purview 中,建立 Snowflake 的受控私人端點。
- 請遵循建立受控 虛擬網路 Integration Runtime 的步驟。 如果您已經有,請確定它在第 2 版中支援 Snowflake PE。
- 建立 Snowflake 的受控私人端點。 流覽至受 控私人端點 ->+ 新增 ->Snowflake,並填入下列資訊。
- 資源標識碼或別名:填入您擷取的 privatelink-pls-id 值。
- 完整域名:新增 privatelink_ocsp-url、 regionless-privatelink-account-url 和 privatelink-account-url。
建立 PE 之後,您可以將其布建狀態視為 [ 成功 ],而 [核准狀態] 會顯示為 [擱置]。 開啟PE,並在詳細數據頁面中尋找受控 私人端點資源標識 碼。
請連絡 Snowflake 技術支援 ,並提供資源標識符,讓 Snowflake 核准此 PE。
一旦 Snowflake 支援確認 PE 已核准,您應該會在 Purview 中看到受控私人端點核准狀態Microsoft核准。
- 在來源註冊步驟中檢查您的帳戶標識碼。 請勿在前面包含
https://
元件。 - 請確定掃描設定頁面上的倉儲名稱和資料庫名稱是大寫。
- 檢查您的金鑰保存庫。 請確定密碼中沒有錯字。
- 檢查您在 Microsoft Purview 中設定的認證。 您指定的使用者必須具有具有倉儲和您嘗試掃描之資料庫之必要存取權限的預設角色。 請參閱 掃描所需的許可權。 使用
DESCRIBE USER;
來驗證您為 purview 指定的用戶預設角色Microsoft。 - 使用 Snowflake 中的查詢歷程記錄來查看是否有任何活動出現。
- 如果帳戶標識碼或密碼發生問題,您將不會看到任何活動。
- 如果預設角色發生問題,您至少應該會看到 語
USE WAREHOUSE . . .
句。 - 您可以使用 QUERY_HISTORY_BY_USER 數據表函 式來識別連線正在使用的角色。 設定專用Microsoft Purview 用戶可讓您更輕鬆地進行疑難解答。
既然您已註冊來源,請遵循下列指南來深入瞭解 Microsoft Purview 和您的數據。