Udostępnij za pośrednictwem


Tworzenie zarządzanych prywatnych punktów końcowych i korzystanie z nich

Użytkownicy z uprawnieniami administratora do obszaru roboczego usługi Microsoft Fabric mogą tworzyć, wyświetlać i usuwać zarządzane prywatne punkty końcowe z portalu sieci szkieletowej za pośrednictwem ustawień obszaru roboczego.

  • Użytkownik może również monitorować stan i proces zatwierdzania zarządzanych prywatnych punktów końcowych w sekcji Zabezpieczenia sieci w ustawieniach obszaru roboczego.

  • Użytkownik może uzyskać dostęp do źródeł danych przy użyciu nazwy prywatnego punktu końcowego z obciążeń platformy Spark sieci szkieletowej.

Tworzenie zarządzanego prywatnego punktu końcowego

  1. W obszarze roboczym Sieć szkieletowa przejdź do ustawień obszaru roboczego, wybierz kartę Zabezpieczenia sieciowe, a następnie wybierz opcję Utwórz w sekcji Zarządzany prywatny punkt końcowy.

    Zrzut ekranu przedstawiający kartę Zabezpieczenia sieci w ustawieniach obszaru roboczego.

    Zostanie otwarte okno dialogowe Tworzenie zarządzanego prywatnego punktu końcowego .

    Zrzut ekranu przedstawiający kartę Zabezpieczenia sieci w ustawieniach obszaru roboczego.

  2. Określ nazwę prywatnego punktu końcowego i skopiuj identyfikator zasobu platformy Azure. Identyfikator zasobu można znaleźć na karcie właściwości na stronie witryny Azure Portal.

    Po zakończeniu wybierz pozycję Utwórz.

  3. Po aprowizacji zarządzanego prywatnego punktu końcowego stan aktywacji zmieni się na Powodzenie.

    Zrzut ekranu przedstawiający wskaźnik powodzenia aprowizacji zarządzanego prywatnego punktu końcowego na karcie Sieć.

    Ponadto żądanie dostępu prywatnego punktu końcowego jest wysyłane do źródła danych. Administratorzy źródła danych są powiadamiani na stronach zasobów witryny Azure Portal dla swoich źródeł danych. W tym miejscu zobaczysz oczekujące żądanie dostępu z komunikatem o żądaniu.

Biorąc pod uwagę na przykład program SQL Server, użytkownicy mogą przejść do witryny Azure Portal i wyszukać zasób "SQL Server".

  1. Na stronie Zasób wybierz pozycję Sieć z menu nawigacji, a następnie wybierz kartę Dostęp prywatny.

    Zrzut ekranu przedstawiający kartę Dostęp prywatny na stronie Sieć zasobu w witrynie Azure Portal.

  2. Administratorzy źródła danych powinni mieć możliwość wyświetlania aktywnych połączeń prywatnych punktów końcowych i nowych żądań połączenia.

    Zrzut ekranu przedstawiający oczekujące żądania na karcie Dostęp prywatny.

  3. Administracja mogą Zatwierdź lub odrzuć, podając uzasadnienie biznesowe.

    Zrzut ekranu przedstawiający formularz zatwierdzania.

  4. Po zatwierdzeniu lub odrzuceniu żądania przez administratora źródła danych stan zostanie zaktualizowany na stronie Ustawienia obszaru roboczego sieci szkieletowej po odświeżeniu.

    Zrzut ekranu przedstawiający zarządzany prywatny punkt końcowy w stanie zatwierdzonym.

  5. Po zmianie stanu na zatwierdzony punkt końcowy może być używany w notesach lub definicjach zadań platformy Spark w celu uzyskania dostępu do danych przechowywanych w źródle danych z obszaru roboczego sieci szkieletowej.

Używanie zarządzanych prywatnych punktów końcowych w sieci szkieletowej

Notesy usługi Microsoft Fabric obsługują bezproblemową interakcję ze źródłami danych za zabezpieczonymi sieciami przy użyciu zarządzanych prywatnych punktów końcowych na potrzeby eksploracji i przetwarzania danych. W notesie użytkownicy mogą szybko odczytywać dane ze swoich chronionych źródeł danych (i zapisywać je z powrotem) w różnych formatach plików.

Ten przewodnik zawiera przykłady kodu ułatwiające rozpoczęcie pracy z własnymi notesami w celu uzyskiwania dostępu do danych ze źródeł danych, takich jak baza danych SQL DB za pośrednictwem zarządzanych prywatnych punktów końcowych.

Wymagania wstępne

  1. Dostęp do źródła danych. W tym przykładzie przedstawiono usługi Azure SQL Server i Azure SQL Database.

  2. Zaloguj się do usługi Microsoft Fabric i witryny Azure Portal.

  3. Przejdź do strony zasobów programu Azure SQL Server w witrynie Azure Portal i wybierz menu Właściwości . Skopiuj identyfikator zasobu dla programu SQL Server, z którym chcesz nawiązać połączenie z usługi Microsoft Fabric.

  4. Wykonując kroki opisane w sekcji Tworzenie zarządzanego prywatnego punktu końcowego, utwórz zarządzany prywatny punkt końcowy na stronie Ustawienia zabezpieczeń sieci szkieletowej.

  5. Gdy administrator źródła danych serwera SQL zatwierdził nowe żądanie połączenia prywatnego punktu końcowego, powinno być możliwe użycie nowo utworzonego zarządzanego prywatnego punktu końcowego.

Połączenie do źródła danych z notesów

  1. W obszarze roboczym usługi Microsoft Fabric użyj przełącznika środowiska po lewej stronie głównej, aby przełączyć się na środowisko inżynierowie danych usługi Synapse.

    Zrzut ekranu przedstawiający sposób przechodzenia do środowiska inżynierii danych w usłudze Fabric.

  2. Wybierz pozycję Utwórz i utwórz nowy notes.

  3. Teraz w notesie, określając nazwę bazy danych SQL i jej właściwości połączenia, możesz nawiązać połączenie za pośrednictwem zarządzanego połączenia prywatnego punktu końcowego, które zostało skonfigurowane w celu odczytania tabel w bazie danych i zapisania ich w usłudze Lakehouse w usłudze Microsoft Fabric.

  4. Poniższy kod PySpark pokazuje, jak nawiązać połączenie z bazą danych 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")

Po nawiązaniu połączenia następnym krokiem jest utworzenie ramki danych w celu odczytania tabeli w usłudze SQL Database.

Obsługiwane źródła danych

Usługa Microsoft Fabric obsługuje ponad 26 źródeł danych w celu nawiązania połączenia z użyciem zarządzanych prywatnych punktów końcowych. Użytkownicy muszą określić identyfikator zasobu, który można znaleźć na stronie Ustawienia właściwości źródła danych w witrynie Azure Portal. Upewnij się, że format identyfikatora zasobu jest obserwowany, jak pokazano w poniższej tabeli.

Usługa Format identyfikatora zasobu
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 Database for MariaDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{nazwa_serwera}
Azure Database for MySQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{nazwa_serwera}
Azure Database for PostgreSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/servers/{nazwa_serwera}
Usługa Azure Cosmos DB dla bazy danych MongoDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure Cosmos DB for NoSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Zakresy usługi Azure Monitor Private Link /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft. Szczegółowe informacje/privateLinkScopes/{nazwa-zakresu}
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/{nazwa-klastra}
Azure Machine Learning /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Machine Edukacja Services/workspaces/{workspace-name}
Usługa łącza prywatnego /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/privateLinkServices/{service-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 (artefakty) /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}