Dela via


Skapa och använda hanterade privata slutpunkter

Användare med administratörsbehörighet till en Microsoft Fabric-arbetsyta kan skapa, visa och ta bort hanterade privata slutpunkter från Infrastruktur-portalen via arbetsyteinställningarna.

  • Användaren kan också övervaka status och godkännandeprocessen för de hanterade privata slutpunkterna från avsnittet Nätverkssäkerhet i arbetsyteinställningarna.

  • Användaren kan komma åt datakällorna med hjälp av det privata slutpunktsnamnet från Fabric Spark-arbetsbelastningarna.

Förutsättningar

En Microsoft.Network-resursprovider måste registreras i Azure-prenumerationen

Skapa en hanterad privat slutpunkt

  1. I en infrastrukturarbetsyta går du till arbetsyteinställningarna, väljer fliken Nätverkssäkerhet och väljer sedan alternativet Skapa i avsnittet Hanterad privat slutpunkt.

    Skärmbild av fliken Nätverkssäkerhet i arbetsyteinställningarna.

    Dialogrutan Skapa hanterad privat slutpunkt öppnas.

    Skärmbild av fliken Nätverkssäkerhet i arbetsyteinställningarna.

  2. Ange ett namn för den privata slutpunkten och kopiera i resursidentifieraren för Azure-resursen. Resursidentifieraren finns på egenskapsfliken på sidan Azure Portal.

    Kommentar

    Det går inte att skapa en hanterad privat slutpunkt med ett fullständigt domännamn (FQDN).

    Välj Skapa när du är klar.

  3. När den hanterade privata slutpunkten har etablerats ändras aktiveringsstatusen till Lyckades.

    Skärmbild av lyckad lyckad etablering av hanterade privata slutpunkter på fliken Nätverk.

    Dessutom skickas begäran om åtkomst till den privata slutpunkten till datakällan. Datakällans administratörer meddelas på Azure Portal resurssidor för sina datakällor. Där visas en väntande åtkomstbegäran med begärandemeddelandet.

Med SQL Server som exempel kan användarna navigera till Azure Portal och söka efter resursen "SQL Server".

  1. På sidan Resurs väljer du Nätverk på navigeringsmenyn och väljer sedan fliken Privat åtkomst .

    Skärmbild som visar fliken Privat åtkomst på sidan Nätverk för en resurs i Azure Portal.

  2. Datakällans administratörer bör kunna visa aktiva privata slutpunktsanslutningar och nya anslutningsbegäranden.

    Skärmbild som visar väntande begäranden på fliken Privat åtkomst.

  3. Administratörer kan antingen godkänna eller avvisa genom att ange en affärsmotivering.

    Skärmbild som visar godkännandeformuläret.

  4. När begäran har godkänts eller avvisats av datakällans administratör uppdateras statusen på sidan Inställningar för infrastrukturarbetsyta vid uppdatering.

    Skärmbild som visar den hanterade privata slutpunkten i godkänt tillstånd.

  5. När statusen har ändrats till godkänd kan slutpunkten användas i notebook-filer eller Spark-jobbdefinitioner för att komma åt data som lagras i datakällan från Arbetsytan Infrastruktur.

Använda hanterade privata slutpunkter i Infrastrukturresurser

Microsoft Fabric-notebook-filer stöder sömlös interaktion med datakällor bakom skyddade nätverk med hjälp av hanterade privata slutpunkter för datautforskning och bearbetning. I en notebook-fil kan användarna snabbt läsa data från sina skyddade datakällor (och skriva data tillbaka till) sina lakehouses i olika filformat.

Den här guiden innehåller kodexempel som hjälper dig att komma igång i dina egna notebook-filer för att komma åt data från datakällor som SQL DB via hanterade privata slutpunkter.

Förutsättningar

  1. Åtkomst till datakällan. Det här exemplet tittar på Azure SQL Server och Azure SQL Database.

  2. Logga in på Microsoft Fabric och Azure Portal.

  3. Gå till Resurssidan för Azure SQL Server i Azure Portal och välj menyn Egenskaper. Kopiera resurs-ID:t för den SQL Server som du vill ansluta till från Microsoft Fabric.

  4. Med hjälp av stegen i Skapa en hanterad privat slutpunkt skapar du den hanterade privata slutpunkten från sidan Säkerhetsinställningar för infrastrukturnätverk.

  5. När datakällsadministratören för SQL-servern har godkänt den nya privata slutpunktsanslutningsbegäran bör du kunna använda den nyligen skapade hanterade privata slutpunkten.

Ansluta till datakällan från notebook-filer

  1. Logga in på Microsoft Fabric-portalen.

  2. Använd upplevelseväxlaren till vänster på startsidan för att växla utveckla-upplevelsen .

  3. Navigera till önskad arbetsyta eller skapa en ny om det behövs.

  4. Om du vill skapa en notebook-fil väljer du Nytt objekt från arbetsytan och väljer Notebook.

  5. Genom att ange namnet på SQL-databasen och dess anslutningsegenskaper i notebook-filen kan du nu ansluta via den hanterade privata slutpunktsanslutningen som har konfigurerats för att läsa tabellerna i databasen och skriva dem till ditt lakehouse i Microsoft Fabric.

  6. Följande PySpark-kod visar hur du ansluter till en SQL-databas.

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")

Nu när anslutningen har upprättats är nästa steg att skapa en dataram för att läsa tabellen i SQL Database.

Datakällor som stöds

Microsoft Fabric har stöd för över 26 datakällor att ansluta till med hanterade privata slutpunkter. Användarna måste ange resursidentifieraren, som finns på sidan Egenskaper för datakällan i Azure Portal. Kontrollera att resurs-ID-formatet följs enligt följande tabell.

Tjänst Resurs-ID-format
Cognitive Services /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}
Azure-databas för MariaDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{server-name}
Azure Database for MySQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{server-name}
Azure Database for PostgreSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name}
Azure Cosmos DB för MongoDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure Cosmos DB för NoSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure Monitor Private Link-omfång /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Insights/privateLinkScopes/{scope-name}
Azure Key Vault /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{vault-name}
Azure Data Explorer (Kusto) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Kusto/clusters/{cluster-name}
Azure Machine Learning /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}
Azure Search /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Search/searchServices/{service-name}
Azure SQL Database /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}
Azure SQL Database (Azure SQL Managed Instance) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{instance-name}
Azure Blob Storage /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}
Azure File Storage /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Queue Storage /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Table Storage /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 (artefakter) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name}
Azure Functions /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{function-app-name}
Azure Event Hubs /subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.EventHub/namespaces/{namespace-name}
Azure IoT Hub /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Devices/IotHubs/{iothub-name}