Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come registrare Snowflake e come autenticare e interagire con Snowflake in Microsoft Purview. Per altre informazioni su Microsoft Purview, vedere l'articolo introduttivo.
Importante
Snowflake ha annunciato che disabiliterà l'autenticazione di base entro agosto 2026. Per allinearsi alla modifica ed evitare interruzioni del servizio, i clienti di Microsoft Purview che usano il connettore Snowflake Data Map devono passare all'autenticazione SHIR (Key Pair).
Azione consigliata (completata entro luglio 2026): per offrire ai clienti più tempo, Snowflake consente agli utenti del servizio di tipo LEGACY_SERVICE di continuare a usare l'autenticazione di base fino a luglio 2026. Questo criterio consente di garantire che non si verifichino interruzioni del servizio durante la transizione al nuovo metodo di autenticazione. È possibile continuare a usare l'autenticazione di base per un periodo di tempo limitato, configurando e convalidando contemporaneamente la nuova coppia di chiavi del meccanismo di autenticazione.
È consigliabile che i clienti di Microsoft Purview aggiornino gli utenti al tipo di LEGACY_SERVICE . Questa modifica garantisce l'accesso continuo e offre più tempo per completare la transizione. Questo aggiornamento deve essere completato prima della fine di luglio 2026 eseguendo il comando seguente in Snowflake:
*ALTER USER <purview_user_name> SET TYPE = LEGACY_SERVICE;La creazione di nuovi utenti con il tipo LEGACY_SERVICE non è consentita a partire da agosto 2026.
Funzionalità supportate
Funzionalità di analisi
| Estrazione dei metadati | Analisi completa | Analisi incrementale | Analisi con ambito |
|---|---|---|---|
| Sì | Sì | No | Sì |
Durante l'analisi di un'origine Snowflake, Microsoft Purview supporta:
Estrazione di metadati tecnici, tra cui:
- Server
- Database
- Schemi
- Tabelle che includono colonne, chiavi esterne e vincoli univoci
- Viste incluse le colonne
- Stored procedure che includono il set di dati dei parametri e il set di risultati
- Funzioni che includono il set di dati dei parametri
- Tubi
- Fasi
- Flussi che includono le colonne
- Attività
- Sequenze
Recupero della derivazione statica sulle relazioni degli asset tra tabelle, viste, flussi e stored procedure.
Per le stored procedure, è possibile scegliere il livello di dettaglio da estrarre nelle impostazioni di analisi. La derivazione delle stored procedure è supportata per i linguaggi Snowflake Scripting (SQL) e JavaScript e generata in base alla definizione della procedura.
Quando si configura un'analisi, è possibile scegliere di analizzare uno o più database Snowflake interamente in base ai nomi o ai modelli di nome specificati oppure definire un ulteriore ambito dell'analisi in un subset di schemi corrispondenti ai nomi o ai modelli di nomi specificati.
Altre funzionalità
Per classificazioni, etichette di riservatezza, criteri, derivazione dei dati e visualizzazione dinamica, vedere l'elenco delle funzionalità supportate.
Limitazioni note
- Quando si elimina un oggetto dall'origine dati, l'analisi successiva non rimuove automaticamente l'asset corrispondente in Microsoft Purview.
- La derivazione delle stored procedure non è supportata per i modelli seguenti:
- Stored procedure definita nei linguaggi Java, Python e Scala.
- Stored procedure che usa SQL EXECUTE IMMEDIATE con query SQL statica come variabile.
Prerequisiti
Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Un account Microsoft Purview attivo.
Per registrare un'origine e gestirla nel portale di Microsoft Purview sono necessarie le autorizzazioni Amministratore origine dati e Lettore dati. Per altre informazioni sulle autorizzazioni, vedere Controllo di accesso in Microsoft Purview.
Scegliere la configurazione di runtime di integrazione corretta per lo scenario.
- Per usare Managed Rete virtuale Integration Runtime per connettersi a Snowflake tramite collegamento privato, seguire la procedura descritta in Connettersi a Snowflake tramite l'endpoint privato gestito per configurare l'endpoint privato.
- Per usare Integration Runtime self-hosted per l'analisi, configurare il runtime di integrazione self-hosted più recente. Per altre informazioni, vedere la guida per la creazione e la configurazione di un runtime di integrazione self-hosted.
- Assicurarsi che JDK 11 sia installato nel computer in cui è installato il runtime di integrazione self-hosted. Riavviare il computer dopo aver installato il JDK per renderlo effettivo.
- Assicurarsi che Visual C++ Redistributable (versione di Visual Studio 2012 Update 4 o versione successiva) sia installata nel computer di runtime di integrazione self-hosted. Se questo aggiornamento non è installato, è possibile scaricarlo qui.
Autorizzazioni necessarie per l'analisi
Microsoft Purview supporta l'autenticazione di base (nome utente e password) per l'analisi di Snowflake. Il ruolo predefinito dell'utente specificato verrà usato per eseguire l'analisi. L'utente snowflake deve disporre dei diritti di utilizzo in un magazzino e nei database da analizzare e dell'accesso in lettura alle tabelle di sistema per accedere ai metadati avanzati.
Ecco una procedura dettagliata di esempio per creare un utente specifico per l'analisi di Microsoft Purview e configurare le autorizzazioni. Se si sceglie di usare un utente esistente, assicurarsi che disponga di diritti adeguati per gli oggetti warehouse e di database.
Configurare un
purview_readerruolo. A tale scopo, sono necessari i diritti 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;Creare un magazzino per Microsoft Purview per l'uso e la concessione dei diritti.
--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;Creare un utente per l'analisi
purviewdi 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;Concedere diritti di lettura agli oggetti di database.
GRANT DATABASE ROLE SNOWFLAKE.OBJECT_VIEWER TO USER purview_reader; 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;
Registrazione
Questa sezione descrive come registrare Snowflake in Microsoft Purview usando il portale di governance di Microsoft Purview classico.
Passaggi per la registrazione
Per registrare una nuova origine Snowflake in Microsoft Purview Unified Catalog, seguire questa procedura:
- Passare all'account Microsoft Purview nel portale di governance di Microsoft Purview classico.
- Selezionare Mappa dati nel riquadro di spostamento a sinistra.
- Selezionare Registra
- In Registra origini selezionare Snowflake. Selezionare Continua.
Nella schermata Registra origini (Snowflake) seguire questa procedura:
Immettere un nome in cui l'origine dati verrà elencata all'interno del catalogo.
Immettere l'URL del server sotto forma di
<account_identifier>.snowflakecomputing.com, ad esempio .orgname-accountname.snowflakecomputing.comAltre informazioni sull'identificatore dell'account Snowflake. Si noti che questo URL viene usato come parte del nome completo degli asset Snowflake ed è l'endpoint predefinito per la connessione di Microsoft Purview a Snowflake durante l'analisi.Aggiungere altri host , se applicabile. Specificarlo quando si desidera che le operazioni di analisi si connettono a un endpoint Snowflake diverso dall'URL del server. È possibile scegliere l'host per la connessione durante l'installazione dell'analisi.
Consiglio
Se Snowflake è già stato analizzato ma si vuole passare all'uso di un altro endpoint, ad esempio dall'endpoint pubblico all'endpoint privato, è possibile aggiungere un altro host nell'origine dati e scegliere l'host per la connessione nell'analisi per assicurarsi che Microsoft Purview generi gli asset con lo stesso nome completo del precedente.
Quando si registra un'origine dati, Microsoft Purview esegue il controllo dell'univocità per verificare che l'URL del server e altri host non si sovrappongano alle origini esistenti.
Selezionare una raccolta dall'elenco.
Completare la registrazione dell'origine dati.
Analisi
Seguire la procedura seguente per analizzare Snowflake per identificare automaticamente gli asset. Per altre informazioni sull'analisi in generale, vedere l'introduzione alle analisi e all'inserimento.
Autenticazione per un'analisi
Il tipo di autenticazione supportato per un'origine Snowflake è l'autenticazione di base e la coppia di chiavi
Il processo seguente deve essere seguito per le credenziali della coppia di chiavi
Prerequisiti per l'autenticazione della coppia di chiavi
Prima di iniziare, assicurarsi di avere:
Accesso snowflake
Account Snowflake con privilegi di amministratore
Account utente per l'analisi di Microsoft Purview (ad esempio, purview_scanner)
Accesso per eseguire comandi ALTER USER
Strumenti & Software
OpenSSL installato (per la generazione di chiavi)
Azure interfaccia della riga di comando o PowerShell (per le operazioni di Key Vault)
Accesso al portale Microsoft Purview
Assicurarsi di avere Microsoft Open JDK 11. Fare clic qui per scaricare [Altre varianti JDK potrebbero avere problemi con algoritmi crittografati avanzati].
Configurazione dettagliata
Parte 1: Configurazione snowflake
Questo passaggio prevede la creazione di chiavi pubbliche e private e quindi l'assegnazione della chiave pubblica all'utente purview ('purview_scanner' nell'esempio seguente) che si connette a Snowflake per eseguire l'analisi.
Passaggio 1.1: Generare la coppia di chiavi RSA
- Generare una chiave privata
Aprire un terminale e generare la chiave privata:
--For Encrypted Private Key (Recommended):
openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA512 - inform PEM -out rsa_key.p8
--Note: You'll be prompted to enter a passphrase. Remember this passphrase!
OPPURE
--For Unencrypted Private Key:
openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA512 - inform PEM -out rsa_key.p8 -nocrypt
Nota: usare i comandi precedenti per generare la chiave
- Genera chiave pubblica
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
- Estrarre il contenuto della chiave pubblica
Visualizzare e copiare il contenuto della chiave pubblica (escluse le intestazioni):
cat rsa_key.pub
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
... -----END PUBLIC KEY-----
Copiare tutti gli elementi tra le righe BEGIN e END (non includere le righe del delimitatore).
Passaggio 1.2: Assegnare la chiave pubblica all'utente snowflake
Connettersi a Snowflake ed eseguire:
-- Create user if it doesn't exist
CREATE USER IF NOT EXISTS purview_scanner
DEFAULT_ROLE = 'PUVRIEW_READER'
TYPE = 'SERVICE' ;
-- Assign the public key (paste your key without the BEGIN/END lines)
ALTER USER purview_scanner
SET RSA_PUBLIC_KEY='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...';
-- Grant necessary privileges
GRANT ROLE purview_reader TO USER purview_scanner;
-- Verify the fingerprint
DESC USER purview_scanner;
Passaggio 1.3: Verificare la configurazione delle chiavi [passaggio facoltativo da convalidare]
Verificare che l'impronta digitale della chiave pubblica corrisponda:
In Snowflake:
DESC USER purview_scanner ->> SELECT SUBSTR(
(SELECT "value" FROM $1
WHERE "property" = 'RSA_PUBLIC_KEY_FP'),
LEN('SHA256:') + 1) AS key;
Nella riga di comando:
openssl rsa -pubin -in rsa_key.pub -outform DER | openssl dgst -sha256 -binary | openssl
enc -base64
Si noti che entrambi devono produrre lo stesso hash di impronta digitale.
Parte 2: Installazione Azure Key Vault
Passaggio 2.1: Preparare il contenuto della chiave privata
Visualizzare la chiave privata:
cat rsa_key.p8
Copiare l'intero contenuto, incluse le righe -----BEGIN ENCRYPTED PRIVATE KEY----- e -----END ENCRYPTED PRIVATE KEY-----.
Passaggio 2.2: Archiviare i segreti in Azure Key Vault
È necessario archiviare DUE segreti in Azure Key Vault:
Segreto 1: Chiave privata
REQUISITO CRITICO: la chiave privata DEVE essere archiviata usando Azure'interfaccia della riga di comando o Azure Cloud Shell.
NON usare l'interfaccia utente del portale di Azure per creare il segreto della chiave privata perché:
L'input di testo del portale Azure non mantiene la formattazione a più righe
Converte le interruzioni di riga in spazi, danneggiando il formato PEM
Le connessioni snowflake avranno esito negativo con errori di chiave non valida
Il segreto password/passphrase può essere creato tramite il portale (valore a riga singola).
Metodo 1: Azure interfaccia della riga di comando (scelta consigliata)
# Replace with your values
KEY_VAULT_NAME="your-keyvault-name"
CREDENTIAL_NAME="snowflake-purview-cred"
# Store the private key from file (preserves multi-line format)
az keyvault secret set \
--vault-name $KEY_VAULT_NAME \
--name "${CREDENTIAL_NAME}-privateKey" \
--file rsa_key.p8
OPPURE
Metodo 2: Azure Cloud Shell
Apri Azure Cloud Shell (https://shell.azure.com)
Caricare il file rsa_key.p8 usando il pulsante carica (icona della cartella)
Eseguire il comando seguente:
az keyvault secret set \
--vault-name your-keyvault-name \
--name "snowflake-purview-cred-privateKey" \
--file rsa_key.p8
OPPURE
Metodo 3: PowerShell con l'interfaccia della riga di comando di Azure
# Read the private key preserving line breaks
$privateKeyContent = Get-Content -Path "rsa_key.p8" -Raw
# Store in Key Vault using Azure CLI
az keyvault secret set `
--vault-name "your-keyvault-name" `
--name "snowflake-purview-cred-privateKey" `
--value $privateKeyContent
OPPURE
Verificare il formato della chiave privata dopo il caricamento: [passaggio facoltativo]
# Retrieve and check the secret maintains proper formatting
az keyvault secret show \
--vault-name $KEY_VAULT_NAME \
--name "${CREDENTIAL_NAME}-privateKey" \
--query value -o tsv
# Expected output: Multiple lines like this
# -----BEGIN ENCRYPTED PRIVATE KEY-----
# MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQI...
# (multiple lines of base64 encoded content)
# ...
# -----END ENCRYPTED PRIVATE KEY-----
Risposta corretta: più righe con interruzioni di riga mantenute
Errato: riga singola o testo lungo con spazi anziché nuove linee
Segreto 2: Passphrase chiave privata
La passphrase può essere creata usando Azure Portale o Azure'interfaccia della riga di comando (è un valore a riga singola).
# Store the passphrase (if your key is encrypted)
az keyvault secret set \
--vault-name $KEY_VAULT_NAME \
--name "${CREDENTIAL_NAME}-password" \
--value "your_passphrase_here"
Importante: Se è stata usata una chiave privata non crittografata , è comunque necessario creare il segreto con estensione password, ma impostarlo su una stringa vuota o su un valore segnaposto.
Uso del portale di Azure:
Passare a Segreti → Generare/Importare
Nome: snowflake-purview-cred.password
Valore: passphrase (o stringa vuota per chiavi non crittografate)
Selezionare Crea.
Creare ed eseguire l'analisi
Per creare ed eseguire una nuova analisi, seguire questa procedura:
Nel portale di governance di Microsoft Purview classico passare a Origini.
Selezionare l'origine Snowflake registrata.
Selezionare + Nuova analisi.
Specificare i dettagli seguenti:
Nome: nome dell'analisi
Connettersi tramite il runtime di integrazione: selezionare il runtime di integrazione Azure autoresoluto, Managed Rete virtuale IR o SHIR in base allo scenario. Per altre informazioni , vedere Scegliere la configurazione di runtime di integrazione corretta per lo scenario. Per usare Managed Rete virtuale IR per connettersi a Snowflake tramite collegamento privato, seguire la procedura descritta in Connettersi a Snowflake tramite l'endpoint privato gestito per configurare prima l'endpoint privato.
Host per la connessione: scegliere l'endpoint usato per stabilire la connessione a Snowflake durante l'analisi. È possibile scegliere tra l'URL del server o gli altri host configurati nell'origine dati.
Credenziali: selezionare le credenziali per connettersi all'origine dati.
Se si usa l'autenticazione di base durante la creazione di credenziali.
- Specificare il nome utente usato per connettersi a Snowflake nel campo di input Nome utente.
- Archiviare la password utente usata per connettersi a Snowflake nella chiave privata.
Se si usa coppia di chiavi durante la creazione di una credenziale
Specificare il nome utente: purview_scanner (l'utente Snowflake)
Informazioni di riferimento Key Vault password:
connessione Key Vault: selezionare il Key Vault
Nome segreto: snowflake-purview-cred.password
- Informazioni di riferimento sulla Key Vault privata:
connessione Key Vault: selezionare il Key Vault
Nome segreto: snowflake-purview-cred.privateKey
Warehouse: specificare il nome dell'istanza del magazzino usata per consentire l'analisi in lettere maiuscole. Il ruolo predefinito assegnato all'utente specificato nelle credenziali deve disporre dei diritti USAGE in questo warehouse.
Database: specificare uno o più nomi di istanza di database da importare in lettere maiuscole. Separare i nomi nell'elenco con un punto e virgola (;). Ad esempio,
DB1;DB2. Il ruolo predefinito assegnato all'utente specificato nelle credenziali deve disporre di diritti adeguati per gli oggetti di database.Nota
La classificazione non viene applicata alle tabelle quando vengono specificati più nomi di istanza di database.
I modelli di nomi di database accettabili possono essere nomi statici o contenere caratteri jolly . Ad esempio: :
A%;%B;%C%;D- Iniziare con A o
- Terminare con B o
- Contengono C o
- Uguale a D
Schema: elenco di subset di schemi da importare espressi come elenco separato da punto e virgola. Ad esempio,
schema1;schema2. Tutti gli schemi utente vengono importati se l'elenco è vuoto. Tutti gli schemi e gli oggetti di sistema vengono ignorati per impostazione predefinita.I modelli di nomi di schema accettabili che usano possono essere nomi statici o contenere caratteri jolly . Ad esempio: :
A%;%B;%C%;D- Iniziare con A o
- Terminare con B o
- Contengono C o
- Uguale a D
L'utilizzo di NOT e caratteri speciali non è accettabile.
Dettagli stored procedure: controlla il numero di dettagli importati dalle stored procedure:
- Firma (impostazione predefinita): nome e parametri delle stored procedure.
- Codice, firma: nome, parametri e codice delle stored procedure.
- Derivazione, codice, firma: nome, parametri e codice delle stored procedure e derivazione dei dati derivata dal codice.
- Nessuno: i dettagli della stored procedure non sono inclusi.
Nota
Se si usa Integration Runtime self-hosted per l'analisi, l'impostazione personalizzata diversa dalla firma predefinita è supportata dalla versione 5.30.8541.1. Le versioni precedenti estraggono sempre il nome e i parametri delle stored procedure.
Memoria massima disponibile (applicabile quando si usa il runtime di integrazione self-hosted): memoria massima (in GB) disponibile nella macchina virtuale del cliente da usare per l'analisi dei processi. Dipende dalle dimensioni dell'origine Snowflake da analizzare.
Nota
Come regola generale, fornire 1 GB di memoria per ogni 1000 tabelle.
Selezionare Test connessione per convalidare le impostazioni (disponibili quando si usa Azure Integration Runtime).
Selezionare Continua.
Selezionare un set di regole di analisi per la classificazione. È possibile scegliere tra i set di regole personalizzati predefiniti del sistema o esistenti oppure creare un nuovo set di regole inline. Per altre informazioni, vedere l'articolo Classificazione .
Nota
La classificazione non verrà applicata a tabelle o viste quando il nome della tabella, il nome della vista, il nome dello schema o il nome del database contengono caratteri speciali.
Nota
Se si usa il runtime self-hosted, è necessario eseguire l'aggiornamento alla versione 5.26.404.1 o successiva per usare la classificazione Snowflake. La versione più recente di Microsoft Integration Runtime è disponibile qui.
Scegliere il trigger di analisi. È possibile configurare una pianificazione o eseguire l'analisi una sola volta.
Esaminare l'analisi e selezionare Salva ed esegui.
Visualizzare le analisi e le esecuzioni di analisi
Per visualizzare le analisi esistenti:
- Passare al portale di Microsoft Purview. Nel riquadro sinistro selezionare Mappa dati.
- Selezionare l'origine dati. È possibile visualizzare un elenco di analisi esistenti nell'origine dati in Analisi recenti oppure è possibile visualizzare tutte le analisi nella scheda Analisi .
- Selezionare l'analisi con i risultati che si desidera visualizzare. Il riquadro mostra tutte le esecuzioni di analisi precedenti, insieme allo stato e alle metriche per ogni esecuzione dell'analisi.
- Selezionare l'ID di esecuzione per controllare i dettagli dell'esecuzione dell'analisi.
Gestire le analisi
Per modificare, annullare o eliminare un'analisi:
Passare al portale di Microsoft Purview. Nel riquadro sinistro selezionare Mappa dati.
Selezionare l'origine dati. È possibile visualizzare un elenco di analisi esistenti nell'origine dati in Analisi recenti oppure è possibile visualizzare tutte le analisi nella scheda Analisi .
Selezionare l'analisi da gestire. È quindi possibile eseguire automaticamente le seguenti azioni:
- Modificare l'analisi selezionando Modifica analisi.
- Annullare un'analisi in corso selezionando Annulla esecuzione analisi.
- Eliminare l'analisi selezionando Elimina analisi.
Nota
- L'eliminazione dell'analisi non elimina gli asset del catalogo creati dalle analisi precedenti.
Derivazione
Dopo aver eseguito l'analisi dell'origine Snowflake, è possibile esplorare Unified Catalog o cercare Unified Catalog per visualizzare i dettagli dell'asset.
Passare alla scheda asset -> derivazione. Se applicabile, è possibile visualizzare la relazione tra asset. Fare riferimento alla sezione relativa alle funzionalità supportate negli scenari di derivazione di Snowflake supportati. Per altre informazioni sulla derivazione in generale, vedere la guida dell'utente alla derivazione e alla derivazione dei dati.
Nota
Se una vista è stata creata da tabelle di database diversi o schemi diversi, analizzare tutti i database e gli schemi contemporaneamente usando i nomi nel punto e virgola (;)elenco.
Connettersi a Snowflake tramite l'endpoint privato gestito
Questa sezione descrive i passaggi necessari per configurare un endpoint privato gestito (PE) da Microsoft Purview a Snowflake in Azure. Altre informazioni su collegamento privato di Azure e Snowflake.
Nell'account Snowflake recuperare gli endpoint di destinazione e l'ID risorsa. Eseguire la funzione di sistema SYSTEM$GET_PRIVATELINK_CONFIG() con il ruolo Account Amministrazione e annotare i valori delle proprietà seguenti:
- privatelink-pls-id
- privatelink-account-url
- regionless-privatelink-account-url
- url privatelink_ocsp
use role accountadmin; select key, value::varchar from table(flatten(input=>parse_json(SYSTEM$GET_PRIVATELINK_CONFIG())));In Microsoft Purview creare un endpoint privato gestito in Snowflake.
- Seguire la procedura per creare un Rete virtuale Integration Runtime gestito. Se ne hai già uno, assicurati che sia nella versione 2, che supporta Snowflake PE.
- Creare un endpoint privato gestito per Snowflake. Passare a Endpoint privato gestito ->+ Nuovo ->Snowflake e immettere le informazioni seguenti.
- ID risorsa o alias: immettere il valore di privatelink-pls-id recuperato.
- Nomi di dominio completi: aggiungere i nomi di dominio privatelink_ocsp-url, regionless-privatelink-account-url e privatelink-account-url.
Dopo aver creato l'oggetto PE, è possibile visualizzarne lo stato di provisioning come Succeeded e lo stato di approvazione come In sospeso. Aprire il file PE e trovare l'ID risorsa endpoint privato gestito nella pagina dei dettagli.
Contattare il supporto tecnico snowflake e fornire l'ID risorsa per consentire a Snowflake di approvare questo PE.
Dopo che il supporto snowflake conferma l'approvazione del pe, lo stato di approvazione dell'endpoint privato gestito dovrebbe essere approvato in Microsoft Purview.
Registrare l'origine dati e configurare un'analisi. Quando si configura l'analisi, scegliere il runtime di integrazione managed Rete virtuale associato a Snowflake PE.
Suggerimenti per la risoluzione dei problemi
- Controllare l'identificatore dell'account nel passaggio di registrazione dell'origine. Non includere
https://all'inizio. - Verificare che il nome del magazzino e il nome del database siano in lettere maiuscole nella pagina di configurazione dell'analisi.
- Controllare l'insieme di credenziali delle chiavi. Assicurarsi che la password non presenti errori di digitazione.
- Controllare le credenziali configurate in Microsoft Purview. L'utente specificato deve avere un ruolo predefinito con i diritti di accesso necessari sia per il warehouse che per il database che si sta tentando di analizzare. Vedere Autorizzazioni necessarie per l'analisi. USARE
DESCRIBE USER;per verificare il ruolo predefinito dell'utente specificato per Microsoft Purview. - Usare Cronologia query in Snowflake per verificare se è in arrivo un'attività.
- Se si verifica un problema con l'identificatore dell'account o la password, non verrà visualizzata alcuna attività.
- Se si verifica un problema con il ruolo predefinito, dovrebbe essere visualizzata almeno un'istruzione
USE WAREHOUSE . . .. - È possibile usare la funzione di tabella QUERY_HISTORY_BY_USER per identificare il ruolo utilizzato dalla connessione. La configurazione di un utente dedicato di Microsoft Purview semplifica la risoluzione dei problemi.
Risoluzione dei problemi relativi all'autenticazione della coppia di chiavi
Problema 1: "Connessione di test non riuscita"
Sintomi: il test di connessione non riesce in Purview
Possibili cause e soluzioni:
Chiave pubblica non assegnata
Verificare in Snowflake: DESC USER purview_scanner;
Verificare che RSA_PUBLIC_KEY_FP sia popolato
problemi di accesso Key Vault
Verificare che l'identità gestita disponga delle autorizzazioni Get ed List
Controllare Key Vault impostazioni del firewall
Nomi di segreti non corretti
Verifica: {credentialName}.password exists
Verifica: {credentialName}.privateKey exists
Problema 2: "Formato chiave privata non valido" o "Connessione non riuscita con errore di chiave"
Sintomi:
L'autenticazione non riesce con l'errore "Formato chiave privata non valido"
Il test di connessione non riesce immediatamente
Messaggi di errore relativi a PEM non valido o errori di analisi della chiave
Causa comune: La chiave privata è stata archiviata tramite Azure Portal (formato multiriga danneggiato)
Soluzione:
Verificare se il formato della chiave è danneggiato:
# Retrieve the secret and check format az keyvault secret show \ --vault-name your-keyvault \ --name "snowflake-purview-cred-privateKey" \ --query value -o tsv | head -5 # Should show multiple lines starting with: # -----BEGIN ENCRYPTED PRIVATE KEY----- # MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w... # (NOT a single long line)Se danneggiato, ELIMINARE e ricreare usando l'interfaccia della riga di comando:
# Delete the corrupted secret az keyvault secret delete \ --vault-name your-keyvault \ --name "snowflake-purview-cred-privateKey" # Wait for soft-delete purge (or purge immediately if needed) az keyvault secret purge \ --vault-name your-keyvault \ --name "snowflake-purview-cred-privateKey" # Recreate using CLI with --file parameter az keyvault secret set \ --vault-name your-keyvault \ --name "snowflake-purview-cred-privateKey" \ --file rsa_key.p8Controlli aggiuntivi:
Verificare che la chiave privata sia in formato PEM PKCS#8
Includere -----BEGIN ENCRYPTED PRIVATE KEY----- e -----END ENCRYPTED PRIVATE KEY----- righe
Verificare prima la chiave in locale:
openssl rsa -in rsa_key.p8 -check
Tenere presente: usare sempre Azure'interfaccia della riga di comando o Cloud Shell per i segreti di chiave privata, MAI l'interfaccia utente del portale di Azure.
Problema 3: "Mancata corrispondenza dell'impronta digitale della chiave pubblica"
Sintomo: l'autenticazione ha esito positivo ma viene usata una chiave errata
Soluzione:
# Regenerate public key from private key
openssl rsa -in rsa_key.p8 -pubout -out rsa_key_new.pub
# Verify fingerprint
openssl rsa -pubin -in rsa_key_new.pub -outform DER | openssl dgst sha256 -binary | openssl enc -base64
# Update in Snowflake
ALTER USER purview_scanner SET RSA_PUBLIC_KEY='';
Problema 4: "Passphrase errato"
Sintomo: La decrittografia della chiave non riesce
Soluzione:
Verificare che la passphrase in Key Vault corrisponda a quella usata durante la generazione della chiave
Testare la passphrase in locale:
openssl rsa -in rsa_key.p8 -check
# Enter passphrase when prompted
Problema 5: "Autorizzazioni snowflake mancanti"
Sintomo: la connessione ha esito positivo ma l'analisi non riesce
Soluzione:
Concedere i privilegi necessari all'utente Snowflake:
-- Create role for Purview
CREATE ROLE IF NOT EXISTS purview_reader;
-- Grant usage on warehouse
GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE purview_reader;
-- Grant usage on database
GRANT USAGE ON DATABASE my_database TO ROLE purview_reader;
-- Grant usage on all schemas
GRANT USAGE ON ALL SCHEMAS IN DATABASE my_database TO ROLE purview_reader;
-- Grant select on all tables
GRANT SELECT ON ALL TABLES IN DATABASE my_database TO ROLE purview_reader;
GRANT SELECT ON FUTURE TABLES IN DATABASE my_database TO ROLE purview_reader;
-- Grant select on all views
GRANT SELECT ON ALL VIEWS IN DATABASE my_database TO ROLE purview_reader;
GRANT SELECT ON FUTURE VIEWS IN DATABASE my_database TO ROLE purview_reader;
-- Assign role to user
GRANT ROLE purview_reader TO USER purview_scanner;
-- Set as default role
ALTER USER purview_scanner SET DEFAULT_ROLE = purview_reader;
Passaggi successivi
Dopo aver registrato l'origine, seguire le guide seguenti per altre informazioni su Microsoft Purview e i dati.