Partager via


Créer et utiliser des points de terminaison privés gérés

Tout utilisateur disposant d’autorisations d’administrateur pour un espace de travail Microsoft Fabric peut créer, afficher et supprimer des points de terminaison privés gérés à partir du portail Fabric par le biais des paramètres de l’espace de travail.

  • L’utilisateur peut également surveiller le statut et le processus d’approbation des points de terminaison privés gérés dans la section Sécurité réseau des paramètres de l’espace de travail.

  • L’utilisateur peut accéder aux sources de données à l’aide du nom de point de terminaison privé à partir des charges de travail Fabric Spark.

Prérequis

Un fournisseur de ressources Microsoft.Network doit être inscrit dans l’abonnement Azure

Créer un point de terminaison privé géré

  1. Dans un espace de travail Fabric, accédez aux paramètres de l’espace de travail, sélectionnez l’onglet Sécurité réseau, puis sélectionnez l’option Créer dans la section Point de terminaison privé géré.

    Capture d’écran de l’onglet Sécurité des réseaux dans les paramètres de l’espace de travail.

    La boîte de dialogue Créer un point de terminaison privé géré s’ouvre.

    Capture d’écran de l’onglet Sécurité du réseau dans les paramètres de l’espace de travail.

  2. Donnez un nom au point de terminaison privé et copiez-le dans l’identificateur de ressource de la ressource Azure. L’identificateur de ressource se trouve sous l’onglet Propriétés de la page du portail Azure.

    Remarque

    La création d’un point de terminaison privé managé avec un nom de domaine complet (FQDN) n’est pas prise en charge.

    Quand vous avez terminé, sélectionnez Créer.

  3. Une fois que le point de terminaison privé géré a été approvisionné, le statut d’activation passe à Réussi.

    Capture d’écran de l’indication de réussite de l’approvisionnement du point de terminaison privé managé sous l’onglet Mise en réseau.

    En outre, la demande d’accès au point de terminaison privé est envoyée à la source de données. Les administrateurs de sources de données reçoivent une notification sur les pages de ressources du portail Azure concernant leurs sources de données. Ils y trouveront une demande d’accès en attente avec le message de la demande.

Par exemple, pour SQL Server, les utilisateurs peuvent accéder au portail Azure et rechercher la ressource « SQL Server ».

  1. Sur la page Ressource, sélectionnez Mise en réseau dans le menu de navigation, puis sélectionnez l’onglet Accès privé.

    Capture d’écran montrant l’onglet Accès privé dans la page Mise en réseau d’une ressource dans le Portail Azure.

  2. Les administrateurs de sources de données doivent être en mesure d’afficher les connexions de point de terminaison privé actives et les nouvelles demandes de connexion.

    Capture d’écran montrant les demandes en attente sous l’onglet Accès privé.

  3. Les administrateurs peuvent Approuver ou Rejeter les demandes en fournissant une justification métier.

    Capture d’écran montrant le formulaire d’approbation.

  4. Une fois la demande approuvée ou rejetée par l’administrateur de la source de données, le statut est mis à jour dans la page des paramètres de l’espace de travail Fabric après actualisation.

    Capture d’écran montrant le point de terminaison privé managé dans l’état approuvé.

  5. Une fois que le statut est passé à approuvé, l’utilisateur peut se servir du point de terminaison dans des notebooks ou des définitions de tâches Spark pour accéder aux données stockées dans la source de données à partir de l’espace de travail Fabric.

Utiliser des points de terminaison privés gérés dans Fabric

Les notebooks Microsoft Fabric prennent en charge l’interaction transparente avec les sources de données derrière des réseaux sécurisés à l’aide de points de terminaison privés gérés pour l’exploration et le traitement des données. Dans un notebook, les utilisateurs peuvent rapidement lire les données de leurs sources de données protégées (et les écrire dans leurs lakehouses) dans divers formats de fichiers.

Ce guide fournit des exemples de code pour vous aider à bien démarrer dans vos propres notebooks et vous permettre d’accéder aux données provenant de sources de données telles que SQL DB via des points de terminaison privés gérés.

Prérequis

  1. Accès à la source de données. Cet exemple s’intéresse à Azure SQL Server et à Azure SQL Database.

  2. Connectez-vous à Microsoft Fabric et au portail Azure.

  3. Accédez à la page de ressources d’Azure SQL Server dans le portail Azure, puis sélectionnez le menu Propriétés. Copiez l’ID de ressource du serveur SQL Server auquel vous souhaitez vous connecter à partir de Microsoft Fabric.

  4. Suivez les étapes décrites dans Créer un point de terminaison privé géré pour créer le point de terminaison privé géré à partir de la page des paramètres de sécurité réseau Fabric.

  5. Une fois que l’administrateur de la source de données du serveur SQL Server a approuvé la nouvelle demande de connexion au point de terminaison privé, vous devriez être en mesure d’utiliser le nouveau point de terminaison privé géré.

Se connecter à la source de données de notebooks

  1. Connectez-vous au portail Microsoft Fabric.

  2. Utilisez le sélecteur d’expérience à gauche de votre page d’accueil pour accéder à l’expérience Développeur.

    Capture d’écran montrant comment accéder à l’expérience d’ingénieur des données dans Fabric.

  3. Accédez à l'espace de travail souhaité ou créez-en un nouveau si nécessaire.

  4. Pour créer un notebook, sélectionnez Nouvel élément dans l’espace de travail, puis choisissez Notebook.

  5. Dans le notebook, vous pouvez spécifier le nom de la SQL Database et ses propriétés de connexion pour vous connecter via la connexion de point de terminaison privé géré configurée pour lire les tables de la base de données et les écrire dans votre lakehouse dans Microsoft Fabric.

  6. Le code PySpark suivant montre comment se connecter à une SQL Database.

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

Mainclient que la connexion a été établie, l’étape suivante consiste à créer une trame de données pour lire la table dans la SQL Database.

Sources de données prises en charge

Microsoft Fabric prend en charge la connexion à plus de 26 sources de données à l’aide de points de terminaison privés gérés. Les utilisateurs doivent spécifier l’identificateur de ressource, qui se trouve à la page de paramètres Propriétés de leur source de données dans le portail Azure. Vérifiez que le format de l’ID de ressource est suivi comme indiqué dans le tableau suivant.

Service Format d’ID de ressource
Cognitive Services /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.CognitiveServices/accounts/{nom-de-la-ressource}
Azure Databricks /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Databricks/workspaces/{nom-de-l’espace-de-travail}
Azure Database for MariaDB /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.DBforMariaDB/servers/{nom-du-serveur}
Azure Database pour MySQL /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.DBforMySQL/servers/{nom-du-serveur}
Azure Database pour PostgreSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name}
Azure Cosmos DB for MongoDB /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.DocumentDB/databaseAccounts/{nom-du-compte}
Azure Cosmos DB pour NoSQL /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.DocumentDB/databaseAccounts/{nom-du-compte}
Étendues de liaison privée Azure Monitor /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Insights/privateLinkScopes/{nom-de-l’étendue}
Azure Key Vault /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.KeyVault/vaults/{nom-du-coffre}
Azure Data Explorer (Kusto) /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Kusto/clusters/{nom-du-cluster}
Azure Machine Learning /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.MachineLearningServices/workspaces/{nom-de-l’espace-de-travail}
Microsoft Purview /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Purview/accounts/{nom-du-compte}
Recherche Azure /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Search/searchServices/{nom-du-service}
Azure SQL Database /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Sql/servers/{nom-du-serveur}
Azure SQL Database (Azure SQL Managed Instance) /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Sql/managedInstances/{nom-de-l’instance}
Stockage Blob Azure /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Storage/storageAccounts/{nom-du-compte-de-stockage}
Azure Data Lake Storage Gen2 /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Storage/storageAccounts/{nom-du-compte-de-stockage}
Stockage Fichier Azure /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Storage/storageAccounts/{nom-du-compte-de-stockage}
Stockage File d’attente Azure /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Storage/storageAccounts/{nom-du-compte-de-stockage}
Stockage Table Azure /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Storage/storageAccounts/{nom-du-compte-de-stockage}
Azure Synapse Analytics /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Synapse/workspaces/{nom-de-l’espace-de-travail}
Azure Synapse Analytics (Artifacts) /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Synapse/workspaces/{nom-de-l’espace-de-travail}
Azure Functions /subscriptions/{id-abonnement}/resourceGroups/{nom-du-groupe-de-ressources}/providers/Microsoft.Web/sites/{nom-de-l’application-de-fonction}
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}