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é
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é.
La boîte de dialogue Créer un point de terminaison privé géré s’ouvre.
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.
Une fois que le point de terminaison privé géré a été approvisionné, le statut d’activation passe à Réussi.
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 ».
Sur la page Ressource, sélectionnez Mise en réseau dans le menu de navigation, puis sélectionnez l’onglet Accès privé.
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.
Les administrateurs peuvent Approuver ou Rejeter les demandes en fournissant une justification métier.
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.
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
Accès à la source de données. Cet exemple s’intéresse à Azure SQL Server et à Azure SQL Database.
Connectez-vous à Microsoft Fabric et au portail Azure.
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.
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.
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
Connectez-vous au portail Microsoft Fabric.
Utilisez le sélecteur d’expérience à gauche de votre page d’accueil pour accéder à l’expérience Développeur.
Accédez à l'espace de travail souhaité ou créez-en un nouveau si nécessaire.
Pour créer un notebook, sélectionnez Nouvel élément dans l’espace de travail, puis choisissez Notebook.
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.
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} |