Freigeben über


Erstellen und Verwenden von verwalteten privaten Endpunkten

Benutzer mit Administratorberechtigungen für einen Microsoft Fabric-Arbeitsbereich können verwaltete private Endpunkte über die Arbeitsbereichseinstellungen aus dem Fabric-Portal erstellen, anzeigen und löschen.

  • Der Benutzer kann auch den Status und den Genehmigungsprozess der verwalteten privaten Endpunkte aus dem Abschnitt Netzwerksicherheit der Arbeitsbereichseinstellungen überwachen.

  • Der Benutzer kann über die Fabric Spark-Workloads auf die Datenquellen zugreifen.

Voraussetzungen

Ein Microsoft.Network-Ressourcenanbieter muss im Azure-Abonnement registriert werden.

Erstellen eines verwalteten privaten Endpunkts

  1. Navigieren Sie in einem Fabric-Arbeitsbereich zu den Arbeitsbereichseinstellungen, wählen Sie die Registerkarte Netzwerksicherheit und dann die Option Erstellen im Abschnitt „Verwalteter privater Endpunkt“ aus.

    Screenshot der Registerkarte Netzwerksicherheit in den Arbeitsbereichseinstellungen.

    Das Dialogfeld Verwalteten privaten Endpunkt erstellen wird geöffnet.

    Screenshot der Registerkarte Netzwerksicherheit in den Arbeitsbereichseinstellungen.

  2. Geben Sie einen Namen für den privaten Endpunkt an, und kopieren Sie den Ressourcenbezeichner für die Azure-Ressource. Der Ressourcenbezeichner befindet sich auf der Registerkarte „Eigenschaften“ auf der Seite Azure-Portal.

    Hinweis

    Das Erstellen eines verwalteten privaten Endpunkts mit einem vollqualifizierten Domänennamen (FQDN) wird nicht unterstützt.

    Wählen Sie abschließend die Option Erstellen.

  3. Wenn der verwaltete private Endpunkt bereitgestellt wurde, ändert sich der Aktivierungsstatus in Erfolgreich.

    Screenshot der Erfolgsanzeige für die Bereitstellung von verwalteten privaten Endpunkten auf der Registerkarte Netzwerk.

    Darüber hinaus wird die Anforderung für den Zugriff auf private Endpunkte an die Datenquelle gesendet. Die Datenquellenadministratoren werden auf den Azure-Portal Ressourcenseiten für ihre Datenquellen benachrichtigt. Dort wird eine ausstehende Zugriffsanforderung mit der Anforderungsnachricht angezeigt.

Beispielsweise können Benutzer zum Azure-Portal navigieren und nach der SQL Server-Ressource suchen.

  1. Wählen Sie auf der Seite „Ressource“ im Navigationsmenü Netzwerk und dann die Registerkarte Privater Zugriff aus.

    Screenshot der Registerkarte Privater Zugang auf der Seite Netzwerk einer Ressource im Azure-Portal.

  2. Datenquellenadministratoren sollten in der Lage sein, die aktiven privaten Endpunktverbindungen und neue Verbindungsanforderungen anzuzeigen.

    Screenshot der ausstehenden Anfragen auf der Registerkarte Privater Zugriff.

  3. Administratoren können entweder Genehmigen oder Ablehnen, indem sie eine geschäftliche Begründung angeben.

    Screenshot des Genehmigungsformulars.

  4. Nachdem die Anforderung vom Datenquellenadministrator genehmigt oder abgelehnt wurde, wird der Status auf der Seite Fabric-Arbeitsbereichseinstellungen bei der Aktualisierung aktualisiert.

    Screenshot, der den verwalteten privaten Endpunkt im genehmigten Zustand zeigt.

  5. Wenn der Status in Genehmigt geändert wurde, kann der Endpunkt in Notebooks oder Spark-Auftragsdefinitionen verwendet werden, um auf die in der Datenquelle gespeicherten Daten aus dem Fabric-Arbeitsbereich zuzugreifen.

Verwenden von verwalteten privaten Endpunkten in Fabric

Microsoft Fabric-Notebooks unterstützen eine nahtlose Interaktion mit Datenquellen hinter gesicherten Netzwerken mithilfe von verwalteten privaten Endpunkten für die Datenerkundung und -verarbeitung. Innerhalb eines Notebooks können Benutzer schnell Daten aus ihren geschützten Datenquellen lesen (und zurückschreiben), und zwar in einer Vielzahl von Dateiformaten.

Dieses Handbuch enthält Codebeispiele, die Ihnen bei den ersten Schritten in Ihren eigenen Notebooks helfen, um auf Daten aus Datenquellen wie SQL DB über verwaltete private Endpunkte zuzugreifen.

Voraussetzungen

  1. Zugreifen auf die Datenquelle. Dieses Beispiel betrachtet Azure SQL Server und Azure SQL-Datenbank.

  2. Melden Sie sich bei Microsoft Fabric und im Azure-Portal an.

  3. Navigieren Sie im Azure-Portal zur Ressourcenseite von Azure SQL Server, und wählen Sie das Menü Eigenschaften aus. Kopieren Sie die Ressourcen-ID für den SQL Server, mit dem Sie eine Verbindung von Microsoft Fabric herstellen möchten.

  4. Erstellen Sie mithilfe der unter Erstellen eines verwalteten privaten Endpunkts aufgeführten Schritte den verwalteten privaten Endpunkt auf der Seite „Fabric Network-Sicherheitseinstellungen“.

  5. Nachdem der Datenquellenadministrator des SQL-Servers die neue Anforderung für private Endpunktverbindung genehmigt hat, sollten Sie in der Lage sein, den neu erstellten verwalteten privaten Endpunkt zu verwenden.

Herstellen einer Verbindung mit der Datenquelle aus Notebooks

  1. Melden Sie sich beim Microsoft Fabric-Portal an.

  2. Verwenden Sie den Benutzeroberflächenschalter auf der linken Seite Ihrer Startseite, um die Entwickler-Erfahrung zu wechseln.

    Screenshot, der zeigt, wie Sie in die Datentechnik in Fabric einsteigen.

  3. Navigieren Sie zu Ihrem gewünschten Arbeitsbereich, oder erstellen Sie bei Bedarf einen neuen Arbeitsbereich.

  4. Um ein Notebook zu erstellen, wählen Sie Neues Element aus dem Arbeitsbereich aus, und wählen Sie Notizbuch aus.

  5. Nachdem Sie nun im Notebook den Namen der SQL-Datenbank und seiner Verbindungseigenschaften angegeben haben, können Sie eine Verbindung über die verwaltete private Endpunktverbindung herstellen, die eingerichtet wurde, um die Tabellen in der Datenbank zu lesen und in Ihr Lakehouse in Microsoft Fabric zu schreiben.

  6. Der folgende PySpark-Code veranschaulicht das Verbinden mit einer SQL-Datenbank.

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

Nachdem die Verbindung hergestellt wurde, besteht der nächste Schritt darin, einen Datenrahmen zu erstellen, um die Tabelle in der SQL-Datenbank zu lesen.

Unterstützte Datenquellen

Microsoft Fabric unterstützt mehr als 26 Datenquellen, um eine Verbindung mit verwalteten privaten Endpunkten herzustellen. Benutzer müssen den Ressourcenbezeichner angeben, der auf der Seite Eigenschaften-Einstellungen ihrer Datenquelle im Azure-Portal zu finden ist. Stellen Sie sicher, dass das Format der Ressourcen-ID wie in der folgenden Tabelle angegeben eingehalten wird.

Dienst Format der Ressourcen-ID
Cognitive Services /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.CognitiveServices/Konten/{resource-name}
Azure Databricks /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Databricks/Arbeitsbereiche/{workspace-name}
Azure Database for MariaDB /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.DBforMariaDB/servers/{server-name}
Azure Database for MySQL /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/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 for MongoDB /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure Cosmos DB for NoSQL /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure Monitor-Private Link-Bereiche /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Insights/privateLinkScopes/{scope-name}
Azure Key Vault /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.KeyVault/vaults/{vault-name}
Azure Data Explorer (Kusto) /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Kusto/clusters/{cluster-name}
Azure Machine Learning /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.MachineLearningServices/workspaces/{workspace-name}
Microsoft Purview /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Purview/accounts/{account-name}
Azure Search /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Search/searchServices/{service-name}
Azure SQL-Datenbank /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Sql/servers/{server-name}
Azure SQL Database (Azure SQL Managed Instance) /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Sql/managedInstances/{instance-name}
Azure Blob Storage /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Data Lake Storage Gen2 /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure File Storage /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Queue Storage /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Table Storage /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Synapse Analytics /Abonnements/{subscriptionId}/resourceGroups/{resourceGroupName}/Anbieter/Microsoft.OperationalInsights/workspaces/{Workspace name}
Azure Synapse Analytics (Artefakte) /Abonnements/{subscriptionId}/resourceGroups/{resourceGroupName}/Anbieter/Microsoft.OperationalInsights/workspaces/{Workspace name}
Azure-Funktionen /Abonnements/{subscription-id}/resourceGroups/{resource-group-name}/Anbieter/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}