Condividi tramite


Creare e usare endpoint privati gestiti

Gli utenti con autorizzazioni di amministratore per un'area di lavoro di Microsoft Fabric possono creare, visualizzare ed eliminare endpoint privati gestiti dal portale di Fabric tramite le impostazioni dell'area di lavoro.

  • L'utente può anche monitorare lo stato e il processo di approvazione degli endpoint privati gestiti dalla sezione Sicurezza di rete delle impostazioni dell'area di lavoro.

  • L'utente può accedere alle origini dati utilizzando il nome dell'endpoint privato nei carichi di lavoro di Fabric Spark.

Prerequisiti

È necessario registrare un provider di risorse Microsoft.Network nella sottoscrizione di Azure

Creare un endpoint privato gestito

  1. Nell'area di lavoro Fabric, passare alle impostazioni dell'area di lavoro, selezionare la scheda Sicurezza di rete e quindi selezionare l'opzione Crea nella sezione Endpoint privato gestito.

    Screenshot della scheda Sicurezza reti nelle impostazioni dell'area di lavoro.

    Verrà visualizzata la finestra di dialogo Crea endpoint privato gestito .

    Screenshot della scheda Sicurezza di rete nelle impostazioni dell'area di lavoro.

  2. Specificare un nome per l'endpoint privato e copiare l'identificatore di risorsa per la risorsa di Azure. L'identificatore della risorsa è disponibile nella scheda proprietà della pagina del portale di Azure. Per altre informazioni, vedere How to get your Azure Resource ID (Come ottenere l'ID risorsa di Azure)

    Annotazioni

    La creazione di un endpoint privato gestito con un nome di dominio completo (FQDN) non è supportata.

    Al termine, selezionare Crea.

  3. Quando viene effettuato il provisioning dell'endpoint privato gestito, lo stato di attivazione viene modificato in Completato.

    Screenshot dell'indicazione di successo del provisioning di endpoint privati gestiti nella scheda Networking.

    Inoltre, la richiesta per l'accesso all'endpoint privato viene inviata all'origine dati. Gli amministratori delle origini dati ricevono notifiche nelle pagine delle risorse del portale di Azure relative alle loro origini dati. Viene visualizzata una richiesta di accesso in sospeso con il messaggio di richiesta.

Prendendo come esempio SQL Server, gli utenti possono passare al portale di Azure e cercare la risorsa "SQL Server".

  1. Nella pagina Risorsa selezionare Rete dal menu di spostamento e quindi selezionare la scheda Accesso privato .

    Screenshot che mostra la scheda Accesso privato nella pagina Rete di una risorsa nel portale di Azure.

  2. Gli amministratori dell'origine dati devono essere in grado di visualizzare le connessioni degli endpoint privati attivi e le nuove richieste di connessione.

    Screenshot che mostra le richieste in sospeso nella scheda Accesso privato.

  3. Gli amministratori possono approvare o rifiutare fornendo una motivazione aziendale.

    Screenshot che mostra il modulo di approvazione.

  4. Dopo che la richiesta è stata approvata o rifiutata dall'amministratore dell'origine dati, lo stato viene aggiornato nella pagina delle impostazioni dell'area di lavoro di Fabric dopo il refresh.

    Screenshot che mostra l'endpoint privato gestito nello stato approvato.

  5. Quando lo stato cambia in approvato, l'endpoint può essere utilizzato nei notebook o nelle definizioni di job Spark per accedere ai dati archiviati nell'origine dati dallo spazio di lavoro Fabric.

Utilizzare endpoint gestiti privatamente in Fabric

I notebook di Microsoft Fabric supportano l'interazione senza interruzioni con le origini dati dietro reti protette usando endpoint privati gestiti per l'esplorazione e l'elaborazione dei dati. All'interno di un notebook, gli utenti possono leggere rapidamente i dati dalle loro origini dati protette e scrivere i dati nei loro data lake in vari formati di file.

Questa guida fornisce esempi di codice per iniziare a usare nei propri notebook per accedere ai dati da origini dati, ad esempio il database SQL tramite endpoint privati gestiti.

Prerequisiti

  1. Accesso alla fonte dati. Questo esempio esamina Azure SQL Server e il database SQL di Azure.

  2. Accedere a Microsoft Fabric e al portale di Azure.

  3. Passare alla pagina delle risorse di Azure SQL Server nel portale di Azure e selezionare il menu Proprietà . Copiare l'ID risorsa per SQL Server a cui connettersi da Microsoft Fabric.

  4. Usando i passaggi elencati in Creare un endpoint privato gestito, creare l'endpoint privato gestito nella pagina delle impostazioni di sicurezza della rete del Fabric Network.

  5. Dopo che l'amministratore dell'origine dati di SQL Server approva la nuova richiesta di connessione dell'endpoint privato, dovrebbe essere possibile usare l'endpoint privato gestito appena creato.

Collegarsi all'origine dei dati dai notebook

  1. Accedere al portale di Microsoft Fabric.

  2. Usa il selettore di esperienza sul lato sinistro della tua home page per cambiare l'esperienza di sviluppo.

  3. Passare all'area di lavoro desiderata o crearne una nuova, se necessario.

  4. Per creare un notebook, selezionare Nuovo elemento dall'area di lavoro e scegliere Notebook.

  5. Ora, nel notebook, specificando il nome del database SQL e le sue proprietà di connessione, puoi connetterti tramite l'endpoint privato gestito configurato per leggere le tabelle nel database e scriverle nel lakehouse in Microsoft Fabric.

  6. Il codice PySpark seguente illustra come connettersi a un database SQL.

serverName = "<server_name>.database.windows.net"
database = "<database_name>"
dbPort = 1433
dbUserName = "<username>"
dbPassword = “<db password> or reference based on Keyvault>”

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("Example") \
    .config("spark.jars.packages", "com.microsoft.azure:azure-sqldb-spark:1.0.2") \
    .config("spark.sql.catalogImplementation", "com.microsoft.azure.synapse.spark") \
    .config("spark.sql.catalog.testDB", "com.microsoft.azure.synapse.spark") \
    .config("spark.sql.catalog.testDB.spark.synapse.linkedServiceName", "AzureSqlDatabase") \ .config("spark.sql.catalog.testDB.spark.synapse.linkedServiceName.connectionString", f"jdbc:sqlserver://{serverName}:{dbPort};database={database};user={dbUserName};password={dbPassword}") \ .getOrCreate()

    
jdbcURL = "jdbc:sqlserver://{0}:{1};database={2}".format(serverName,dbPort,database)
connection = {"user":dbUserName,"password":dbPassword,"driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver"}

df = spark.read.jdbc(url=jdbcURL, table = "dbo.Employee", properties=connection)
df.show()
display(df)

# Write the dataframe as a delta table in your lakehouse
df.write.mode("overwrite").format("delta").saveAsTable("Employee")

# You can also specify a custom path for the table location
# df.write.mode("overwrite").format("delta").option("path", "abfss://yourlakehouse.dfs.core.windows.net/Employee").saveAsTable("Employee")

Ora che la connessione è stata stabilita, il passaggio successivo consiste nel creare un frame di dati per leggere la tabella nel database SQL.

Origini dati supportate

Microsoft Fabric supporta oltre 26 origini dati per connettersi tramite endpoint privati gestiti. Gli utenti devono specificare l'identificatore di risorsa, disponibile nella pagina Impostazioni proprietà dell'origine dati nel portale di Azure. Verificare che il formato ID risorsa sia seguito come illustrato nella tabella seguente.

Servizio Formato ID risorsa
Servizi cognitivi /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.CognitiveServices/accounts/{resource-name}
Azure Databricks /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Databricks/workspaces/{workspace-name}
Database di Azure per MariaDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{server-name}
Database di Azure per MySQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{server-name}
Database di Azure per PostgreSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name}
Azure Cosmos DB per MongoDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure Cosmos DB per il NoSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Ambiti di collegamento privato di Monitoraggio di Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Insights/privateLinkScopes/{scope-name}
Azure Key Vault (Archivio chiavi di Azure) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{vault-name}
Esplora dati di Azure (Kusto) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Kusto/clusters/{cluster-name}
Azure Machine Learning (Apprendimento Automatico di Azure) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}
Microsoft Purview /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Purview/accounts/{account-name}
Ricerca di Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Search/searchServices/{service-name}
Database SQL di Microsoft Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}
Database SQL di Azure (Istanza gestita di SQL di Azure) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{nome-istanza}
Blob Storage di Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Data Lake Storage Gen2 /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Archiviazione file di Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Servizio di Coda di Archiviazione Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Archiviazione delle tabelle di Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Synapse Analytics /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name}
Azure Synapse Analytics (Artefact) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name}
Funzioni di Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{function-app-name}
Hub eventi di Azure /subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.EventHub/namespaces/{namespace-name}
Hub IoT di Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Devices/IotHubs/{iothub-name}

Si noti che la creazione di un endpoint privato gestito in un servizio di collegamento privato per il tenant di Fabric non è supportata.