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. Weitere Informationen finden Sie unter: So erhalten Sie Ihre Azure-Ressourcen-ID

    Hinweis

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

    Wählen Sie abschließend die Option Erstellen.

  3. Wenn der verwaltete private Endpunkt bereitgestellt wird, ä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 sehen sie eine ausstehende Zugriffsanforderung mit der Anforderungsnachricht.

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 sich der Status in genehmigt ändert, kann der Endpunkt in Notizbüchern 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 Notizbuchs können Benutzer schnell Daten aus ihren geschützten Datenquellen lesen und Daten in ihre Data-Lakehouses in verschiedenen Dateiformaten zurückschreiben.

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. Sobald der Datenquellenadministrator des SQL-Servers die neue anforderung für die 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.

  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. Jetzt im Notizbuch, indem Sie den Namen der SQL-Datenbank und ihre Verbindungseigenschaften spezifizieren, können Sie eine Verbindung über die verwaltete private Endpunktverbindung herstellen, die eingerichtet ist, um die Tabellen in der Datenbank zu lesen und sie 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.

Dienstleistung Ressourcen-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-Datenbank für MySQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/flexibleServers/{server-name}
Azure-Datenbank für PostgreSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name}
Azure Cosmos DB for MongoDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure Cosmos DB für NoSQL-Datenbanklösungen /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure Monitor Private Link Scopes /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Insights/privateLinkScopes/{scope-name}
Azure Key Vault (ein Dienst zur sicheren Verwaltung kryptografischer Schlüssel) /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-Datenbank /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}
Azure SQL-Datenbank (Azure SQL Managed Instance) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{instance-name}
Azure Blob Storage (Speicherdienst von Azure für unstrukturierte Daten) /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 (Warteschlangenspeicher) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Tabellenspeicher /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 (Artefakte) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name}
Azure-Funktionen /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}
Azure Data Manager for Energy (ADME) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Open EnergyPlatform/energyServices/{service-name}

Beachten Sie, dass das Erstellen verwalteter privater Endpunkte für einen privaten Linkdienst für Ihren Fabric-Mandanten nicht unterstützt wird.