Tutoriel : Configurer un lot de produits de données
Dans ce tutoriel, découvrez comment configurer les services de produits de données déjà déployés. Utilisez Azure Data Factory pour intégrer et orchestrer vos données et utiliser Microsoft Purview pour découvrir, gérer et régir les ressources de données.
Découvrez comment :
- Création et déploiement des ressources nécessaires
- Attribuer des rôles et des autorisations aux utilisateurs
- Connecter des ressources pour l’intégration de données
Ce tutoriel vous aide à vous familiariser avec les services déployés dans l’exemple <DMLZ-prefix>-dev-dp001
de groupe de ressources de produit de données. Découvrez comment les services Azure s’interfacent entre eux et quelles mesures de sécurité sont en place.
Lorsque vous déployez les nouveaux composants, vous aurez la possibilité d’examiner la façon dont Purview connecte la gouvernance des services pour créer une carte holistique et à jour de votre paysage de données. Le résultat est une découverte automatisée des données, une classification des données sensibles et une traçabilité des données de bout en bout.
Prérequis
Avant de commencer à configurer votre lot de produits de données, vérifiez que vous remplissez les conditions préalables suivantes :
Abonnement Azure. Si vous n’avez pas d’abonnement Azure, vous pouvez créer un compte Azure gratuit.
Autorisations sur l’abonnement Azure. Pour configurer Purview et Azure Synapse Analytics pour le déploiement, vous devez disposer du rôle Administrateur de l’accès utilisateur ou du rôle Propriétaire dans l’abonnement Azure. Vous allez définir d’autres attributions de rôles pour les services et les principaux de service dans le tutoriel.
Ressources déployées. Pour suivre le tutoriel, ces ressources doivent déjà être déployées dans votre abonnement Azure :
- Zone d’atterrissage de gestion de données. Pour plus d’informations, consultez le référentiel GitHub de la zone d’atterrissage de gestion des données.
- Zone d’atterrissage de données. Pour plus d’informations, consultez le référentiel GitHub de la zone d’atterrissage des données.
- Lot de produits de données. Pour plus d’informations, consultez le référentiel GitHub de la zone d’atterrissage des données.
Compte Microsoft Purview. Le compte est créé dans le cadre du déploiement de votre zone d’atterrissage de gestion des données.
Runtime d’intégration auto-hébergé. Le runtime est créé dans le cadre du déploiement de votre zone d’atterrissage de données.
Notes
Dans ce tutoriel, les espaces réservés font référence aux ressources requises que vous déployez avant de commencer le tutoriel :
<DMLZ-prefix>
fait référence au préfixe que vous avez entré lors de la création de votre déploiement de zone d’atterrissage de gestion des données.<DLZ-prefix>
fait référence au préfixe que vous avez entré lors de la création de votre déploiement de zone d’atterrissage des données.<DP-prefix>
fait référence au préfixe que vous avez entré lors de la création de votre déploiement de lot de produits de données.
Créer les instance Azure SQL Database
Pour commencer ce tutoriel, créez deux exemples d’instances SQL Database. Vous allez utiliser les bases de données pour simuler des sources de données CRM et ERP dans les sections ultérieures.
Dans le Portail Azure, dans les contrôles globaux du portail, sélectionnez l’icône Cloud Shell pour ouvrir un terminal Azure Cloud Shell. Sélectionnez Bash comme le type de terminal.
Dans Cloud Shell, exécutez le script suivant. Ce script recherche le groupe de ressources
<DLZ-prefix>-dev-dp001
et le serveur Azure SQL<DP-prefix>-dev-sqlserver001
qui se trouve dans le groupe de ressources. Ensuite, le script crée les deux instances SQL Database sur le serveur<DP-prefix>-dev-sqlserver001
. Les bases de données sont préremplies avec des exemples de données AdventureWorks. Les données incluent les tables que vous utilisez dans ce tutoriel.Veillez à remplacer la valeur de l’espace réservé du paramètre
subscription
par votre propre ID d’abonnement Azure.# Azure SQL Database instances setup # Create the AdatumCRM and AdatumERP databases to simulate customer and sales data. # Use the ID for the Azure subscription you used to deployed the data product. az account set --subscription "<your-subscription-ID>" # Get the resource group for the data product. resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, 'dp001')==\`true\`].name") # Get the existing Azure SQL Database server name. sqlServerName=$(az sql server list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'sqlserver001')==\`true\`].name") # Create the first SQL Database instance, AdatumCRM, to create the customer's data source. az sql db create --resource-group $resourceGroupName --server $sqlServerName --name AdatumCRM --service-objective Basic --sample-name AdventureWorksLT # Create the second SQL Database instance, AdatumERP, to create the sales data source. az sql db create --resource-group $resourceGroupName --server $sqlServerName --name AdatumERP --service-objective Basic --sample-name AdventureWorksLT
Une fois le script en cours d’exécution, sur le serveur Azure SQL <DP-prefix>-dev-sqlserver001
, vous disposez de deux nouvelles instances de SQL Database, AdatumCRM
et AdatumERP
. Les deux bases de données se trouvent sur le niveau de calcul de base. Les bases de données se trouvent dans le même groupe de ressources <DLZ-prefix>-dev-dp001
que celui utilisé pour déployer le lot de produits de données.
Configurer Purview pour cataloguer le lot de produits de données
Ensuite, effectuez les étapes de configuration de Purview pour cataloguer le lot de produits de données. Vous commencez par créer un principal de service. Ensuite, vous configurez les ressources requises et attribuez des rôles et des autorisations d’accès.
Créer un principal du service
Dans le Portail Azure, dans les contrôles globaux du portail, sélectionnez l’icône Cloud Shell pour ouvrir un terminal Azure Cloud Shell. Sélectionnez Bash comme le type de terminal.
Révisez le script suivant :
- Remplacez la valeur de l’espace réservé du paramètre
subscriptionId
par votre propre ID d’abonnement Azure. - Remplacez la valeur de l’espace réservé du paramètre
spname
par le nom que vous souhaitez utiliser pour votre principal de service. Le nom du principal de service doit être unique dans l’abonnement.
Après avoir mis à jour les valeurs de paramètre, exécutez le script dans Cloud Shell.
# Replace the parameter values with the name you want to use for your service principal name and your Azure subscription ID. spname="<your-service-principal-name>" subscriptionId="<your-subscription-id>" # Set the scope to the subscription. scope="/subscriptions/$subscriptionId" # Create the service principal. az ad sp create-for-rbac \ --name $spname \ --role "Contributor" \ --scope $scope
- Remplacez la valeur de l’espace réservé du paramètre
Vérifiez si la sortie JSON ressemble au résultat de l’exemple suivant. Notez ou copiez les valeurs de la sortie à utiliser dans les étapes ultérieures.
{ "appId": "<your-app-id>", "displayName": "<service-principal-display-name>", "name": "<your-service-principal-name>", "password": "<your-service-principal-password>", "tenant": "<your-tenant>" }
Configurer l’accès et les autorisations du principal de service
À partir de la sortie JSON générée à l’étape précédente, obtenez les valeurs retournées suivantes :
- ID principal de service (
appId
) - Clé principale de service (
password
)
Le principal de service doit disposer des autorisations suivantes :
- Rôle Lecteur de données Blob de stockage sur les comptes de stockage.
- Autorisations lecteur de données sur les instances SQL Database.
Pour configurer le principal de service avec le rôle et les autorisations requis, procédez comme suit.
Autorisations du compte de stockage Azure
Dans le portail Azure, accédez à votre compte de stockage Azure
<DLZ-prefix>devraw
. Dans le menu des ressources, sélectionnez Contrôle d’accès (IAM).Sélectionnez Ajouter>Ajouter une attribution de rôle.
Dans Ajouter une attribution de rôle, sous l’onglet Rôle, recherchez et sélectionnez Lecteur de données Blob de stockage. Ensuite, sélectionnez Suivant.
Dans Membres, choisissez Sélectionner les membres.
Dans Sélectionner des membres, recherchez le nom du principal de service que vous avez créé.
Dans les résultats de la recherche, sélectionnez le principal de service, puis sélectionnez Sélectionner.
Pour terminer le processus d’attribution de rôle, sélectionnez Vérifier+attribuer deux fois.
Répétez les étapes décrites dans cette section pour les comptes de stockage restants :
<DLZ-prefix>devencur
<DLZ-prefix>devwork
Autorisations de la base de données SQL
Pour définir les autorisations SQL Database, vous vous connectez à la machine virtuelle Azure SQL à l’aide de l’éditeur de requête. Étant donné que toutes les ressources se trouvent derrière un point de terminaison privé, vous devez d’abord vous connecter au Portail Azure à l’aide d’une machine virtuelle hôte Azure Bastion.
Dans le Portail Azure, connectez-vous à la machine virtuelle déployée dans le groupe de ressources <DMLZ-prefix>-dev-bastion
. Si vous ne savez pas comment vous connecter à la machine virtuelle à l’aide du service hôte Bastion, consultez Se connecter à une machine virtuelle.
Pour ajouter le principal de service en tant qu’utilisateur dans la base de données, vous devrez commencer par vous ajouter en tant qu’administrateur Microsoft Entra. Dans les étapes 1 et 2, vous vous ajoutez en tant qu’administrateur Microsoft Entra. Dans les étapes 3 à 5, vous donnez au principal de service des droits sur une base de données. Lorsque vous êtes connecté au portail à partir de la machine virtuelle hôte Bastion, recherchez machines virtuelles Azure SQL dans le Portail Azure.
Accédez à Machine virtuelle Azure SQL
<DP-prefix>-dev-sqlserver001
. Dans le menu de la ressource, sous Paramètres, sélectionnez Microsoft Entra ID.Dans la barre de commandes, sélectionnez Définir l’administrateur. Recherchez et sélectionnez votre propre compte. Choisissez Sélectionner.
Dans le menu des ressources, sélectionnez Bases de données SQL, puis sélectionnez la base de données
AdatumCRM
.Dans le menu AdatumCRM, sélectionnez Éditeur de requête (préversion). Sous Authentification Active Directory, sélectionnez le bouton Continuer comme pour vous connecter.
Dans l’éditeur de requête, modifiez les instructions suivantes pour remplacer
<service principal name>
par le nom du principal de service que vous avez créé (par exemplepurview-service-principal
). Ensuite, exécutez les instructions.CREATE USER [<service principal name>] FROM EXTERNAL PROVIDER GO EXEC sp_addrolemember 'db_datareader', [<service principal name>] GO
Répétez les étapes 3 à 5 pour la base de données AdatumERP
.
Configurer le coffre de clés
Purview lit la clé du principal de service à partir d’une instance d’Azure Key Vault. Le coffre de clés est créé dans le déploiement de votre zone d’atterrissage de gestion des données. Les étapes suivantes sont requises pour configurer le coffre de clés :
Ajoutez la clé du principal de service comme secret dans le coffre de clés.
Accordez les autorisations lecteur des secrets MSI Purview dans le coffre de clés.
Ajoutez le coffre de clés à Purview en tant que connexion de coffre de clés.
Créez des informations d’identification dans Purview qui pointent vers le secret du coffre de clés.
Ajouter des autorisations pour ajouter un secret au coffre de clés
Dans le portail Azure, accédez au service Azure Key Vault. Recherchez le coffre de clés
<DMLZ-prefix>-dev-vault001
.Dans le menu des ressources, sélectionnez Contrôle d’accès (IAM). Dans la barre de commandes, sélectionnez Ajouter, puis sélectionnez Ajouter une attribution de rôle.
Sous l’onglet Rôle, recherchez, puis sélectionnez Administrateur Key Vault. Sélectionnez Suivant.
Dans Membres, choisissez Sélectionner des membres pour ajouter le compte actuellement connecté.
Dans Sélectionner des membres, recherchez le compte actuellement connecté. Sélectionnez le compte, puis choisissez Sélectionner.
Pour terminer le processus d’attribution de rôle, sélectionnez Vérifier+attribuer deux fois.
Ajouter un secret au coffre de clés
Effectuez les étapes suivantes pour vous connecter au Portail Azure à partir de la machine virtuelle hôte Bastion.
Dans le menu de ressources du coffre de clés
<DMLZ-prefix>-dev-vault001
, sélectionnez Secrets. Dans la barre de commandes, sélectionnez Générer/Importer pour créer un secret.Dans le volet Créer un secret, sélectionnez ou entrez les valeurs suivantes :
Paramètre Action Options de chargement Sélectionnez Manuel. Nom Entrez le secret du principal du service. Valeur Entrez le mot de passe du principal de service que vous avez créé précédemment. Notes
Cette étape crée un secret nommé
service-principal-secret
dans le coffre de clés à l’aide de la clé de mot de passe du principal de service. Purview utilise ce secret pour se connecter aux sources de données et les analyser. Si vous entrez un mot de passe incorrect, vous ne pourrez pas effectuer les sections suivantes.Sélectionnez Create (Créer).
Configurer des autorisations Purview dans le coffre de clés
Pour que l’instance Purview lise les secrets stockés dans le coffre de clés, vous devez affecter à Purview les autorisations appropriées dans le coffre de clés. Pour définir les autorisations, vous ajoutez l’identité managée Purview au rôle Lecteur des secrets du coffre de clés.
Dans le menu des ressources
<DMLZ-prefix>-dev-vault001
, sélectionnez Contrôle d’accès (IAM).Dans la barre de commandes, sélectionnez Ajouter, puis sélectionnez Ajouter une attribution de rôle.
Dans Rôle, recherchez et sélectionnez Utilisateur des secrets Key Vault. Sélectionnez Suivant.
Dans Membres, choisissez Sélectionner les membres.
Recherchez l’instance
<DMLZ-prefix>-dev-purview001
Purview. Sélectionnez l’instance pour ajouter le compte approprié. Ensuite, choisissez Sélectionner.Pour terminer le processus d’attribution de rôle, sélectionnez Vérifier+attribuer deux fois.
Configurer une connexion de coffre de clés dans Purview
Pour configurer une connexion de coffre de clés dans Purview, vous devez vous connecter au Portail Azure à l’aide d’une machine virtuelle hôte Azure Bastion.
Accédez à la page comptes Purview
<DMLZ-prefix>-dev-purview001
dans le portail Azure. Sous Bien démarrer, dans Ouvrir le portail de gouvernance Microsoft Purview, sélectionnez Ouvrir.Dans Purview Studio, sélectionnez Informations d’identification>de gestion. Sur la barre de commandes Informations d’identification, sélectionnez Gérer les connexions Key Vault, puis sélectionnez Nouveau.
Dans Nouvelle connexion de coffre de clés, sélectionnez ou entrez les informations suivantes :
Paramètre Action Nom Entrez <DMLZ-prefix>-dev-vault001. Abonnement Azure Sélectionnez l’abonnement qui héberge le coffre de clés. Nom Key Vault Sélectionnez le coffre de clés <DMLZ-prefix>-dev-vault001. Sélectionnez Create (Créer).
Dans Confirmer l’octroi de l’accès, sélectionnez Confirmer.
Créer des informations d’identification dans Purview
La dernière étape de configuration du coffre de clés consiste à créer des informations d’identification dans Purview qui pointe vers le secret que vous avez créé dans le coffre de clés pour le principal de service.
Dans Purview Studio, sélectionnez Informations d’identification>de gestion. Dans la barre de commandes Informations d’identification, sélectionnez Nouveau.
Dans Nouvelles informations d’identification, sélectionnez ou entrez les informations suivantes :
Paramètre Action Nom Entrez purviewServicePrincipal. Méthode d’authentification Sélectionner Principal de service. Tenant ID La valeur est enregistrée automatiquement. ID de principal de service Entrez l’ID client ou ID d’application du principal de service. Connexion Key Vault Sélectionnez le compte du coffre de clés que vous avez créée dans la section précédente. Nom du secret Entrez le nom du secret dans le coffre de clés (service-principal-secret). Sélectionnez Create (Créer).
Inscription des sources de données
À ce stade, Purview peut se connecter au principal de service. Vous pouvez maintenant inscrire et configurer les sources de données.
Inscrire la source de données Azure Data Lake Storage Gen2
Les étapes suivantes décrivent le processus d’inscription d’un compte de stockage Azure Data Lake Storage Gen2.
Dans Purview Studio, sélectionnez l’icône de carte de données, sélectionnez Sources, puis Inscrivez-vous.
Dans Enregistrer les sources, sélectionnez Azure Data Lake Storage Gen2, puis sélectionnez Continuer.
Dans Inscrire des sources (Azure Data Lake Storage Gen2), sélectionnez ou entrez les informations suivantes :
Paramètre Action Nom Entrez <DLZ-prefix>dldevraw. Abonnement Azure Sélectionnez l’abonnement qui héberge le compte de stockage. Nom du compte de stockage Sélectionnez le partage avec le compte de stockage adéquat. Point de terminaison La valeur est automatiquement renseignée en fonction du compte de stockage sélectionné. Sélectionner une collection Sélectionnez la collection racine. Sélectionnez Inscrire pour inscrire la source de données.
Répétez ces étapes pour les comptes de stockage suivants :
<DMLZ-prefix>devencur
<DMLZ-prefix>devwork
Inscrire l’instance SQL Database en tant que source de données
Dans Purview Studio, sélectionnez l’icône de carte de données, sélectionnez Sources, puis Inscrivez-vous.
Dans Inscrire les sources, sélectionnez Azure SQL Database, puis sélectionnez Continuer.
Dans Inscrire des sources (Azure SQL Base de données), sélectionnez ou entrez les informations suivantes :
Paramètre Action Nom Entrez SQLDatabase (nom de la base de données créée dans Créer les instances Azure SQL Database). Abonnement Sélectionnez l’abonnement qui héberge la base de données. Nom du serveur Entrez <DP-prefix>-dev-sqlserver001. Sélectionnez Inscription.
Configurer des analyses
Ensuite, configurez les analyses pour les sources de données.
Analyser la source de données Data Lake Storage Gen2
Dans Purview Studio, accédez à la carte de données. Dans la source de données, sélectionnez l’icône Nouvelle analyse.
Dans le nouveau volet d’analyse, sélectionnez ou entrez les informations suivantes :
Paramètre Action Nom Entrez Scan_<DLZ-prefix>devraw. Se connecter via le runtime d’intégration Sélectionnez le runtime d’intégration auto-hébergé qui a été déployé avec la zone d’atterrissage des données. Informations d'identification Sélectionnez le principal de service que vous avez configuré pour Purview. Sélectionnez Tester la connexion pour vérifier la connectivité et vérifier que les autorisations sont en place. Sélectionnez Continuer.
Dans Étendue de votre analyse, sélectionnez l’intégralité du compte de stockage comme étendue de l’analyse, puis sélectionnez Continuer.
Dans Sélectionner un ensemble de règles d’analyse, sélectionnez AdlsGen2, puis Continuer.
Dans Définir un déclencheur d’analyse, sélectionnez Une fois, puis Continuer.
Dans Passer en revue votre analyse, passez en revue les paramètres d’analyse. Sélectionnez Enregistrer et exécuter pour effectuer l’analyse.
Répétez ces étapes pour les comptes de stockage suivants :
<DMLZ-prefix>devencur
<DMLZ-prefix>devwork
Analyser la source de données SQL Database
Dans la source de données Azure SQL Database, sélectionnez Nouvelle analyse.
Dans le nouveau volet d’analyse, sélectionnez ou entrez les informations suivantes :
Paramètre Action Nom Entrez Scan_Database001. Se connecter via le runtime d’intégration Sélectionnez Purview-SHIR. Nom de la base de données Sélectionnez le nom de la base de données. Informations d'identification Sélectionnez les informations d’identification du coffre de clés que vous avez créées dans Purview. Extraction de traçabilité (préversion) sélectionnez Désactivé. Sélectionnez Tester la connexion pour vérifier la connectivité et vérifier que les autorisations sont en place. Sélectionnez Continuer.
Sélectionnez l’étendue de l’analyse. Pour analyser l’intégralité de la base de données, utilisez la valeur par défaut.
Dans Sélectionner un ensemble de règles d’analyse, sélectionnez AzureSqlDatabase, puis Continuer.
Dans Définir un déclencheur d’analyse, sélectionnez Une fois, puis Continuer.
Dans Passer en revue votre analyse, passez en revue les paramètres d’analyse. Sélectionnez Enregistrer et exécuter pour effectuer l’analyse.
Répétez ces étapes pour la base de données AdatumERP
.
Purview est maintenant configuré pour la gouvernance des données pour les sources de données inscrites.
Copier des données SQL Database dans Data Lake Storage Gen2
Dans les étapes suivantes, vous utilisez l’outil Copier des données dans Data Factory pour créer un pipeline pour copier les tables à partir des instances SQL Database AdatumCRM
et AdatumERP
vers des fichiers CSV dans le compte <DLZ-prefix>devraw
Data Lake Storage Gen2.
L’environnement est verrouillé pour l’accès public. Vous devez donc d’abord configurer des points de terminaison privés. Pour utiliser les points de terminaison privés, vous allez vous connecter au Portail Azure dans votre navigateur local, puis vous connecter à la machine virtuelle hôte Bastion pour accéder aux services Azure requis.
Créer des points de terminaison privés
Pour configurer des points de terminaison privés pour les ressources requises :
Dans le groupe de ressources
<DMLZ-prefix>-dev-bastion
, sélectionnez<DMLZ-prefix>-dev-vm001
.Dans la barre commandes, sélectionnez Se connecter, puis sélectionnez Bastion.
Entrez le nom d’utilisateur et le mot de passe de la machine virtuelle, puis sélectionnez Se connecter.
Dans le navigateur de la machine virtuelle, accédez au Portail Azure. Accédez au groupe de ressources
<DLZ-prefix>-dev-shared-integration
et ouvrez la fabrique de données<DLZ-prefix>-dev-integration-datafactory001
.Sous Mise en route, dans la zone Ouvrir Azure Data Factory Studio, sélectionnez Ouvrir.
Dans le menu Data Factory Studio, sélectionnez l’icône Gérer (l’icône ressemble à une boîte à outils carrée avec une clé tamponnée sur celle-ci). Dans le menu de ressources, sélectionnez Points de terminaison privés managés pour créer les points de terminaison privés requis pour connecter Data Factory à d’autres services Azure sécurisés.
L’approbation des demandes d’accès pour les points de terminaison privés est abordée dans une section ultérieure. Après avoir approuvé les demandes d’accès au point de terminaison privé, leur état d’approbation est Approuvé, comme dans l’exemple suivant du compte de stockage
<DLZ-prefix>devencur
.Avant d’approuver les connexions de point de terminaison privé, sélectionnez Nouveau. Entrez Azure SQL pour rechercher le connecteur de base de données Azure SQL que vous utilisez pour créer un point de terminaison privé managé pour la
<DP-prefix>-dev-sqlserver001
machine virtuelle Azure SQL. La machine virtuelle contient les bases de donnéesAdatumCRM
etAdatumERP
que vous avez créées précédemment.Dans le nouveau point de terminaison privé managé (base de données Azure SQL), dans Nom, entrez data-product-dev-sqlserver001. Entrez l’abonnement Azure que vous avez utilisé pour créer les ressources. Pour le nom du serveur, sélectionnez
<DP-prefix>-dev-sqlserver001
pour pouvoir vous y connecter à partir de cette fabrique de données dans les sections suivantes.
Approuver les demandes d’accès au point de terminaison privé
Pour accorder à Data Factory l’accès aux points de terminaison privés pour les services requis, vous avez différentes possibilités :
Option 1 : Dans chaque service auquel vous demandez l’accès, dans le Portail Azure, accédez à l’option de connexion réseau ou de point de terminaison privé du service et approuvez les demandes d’accès au point de terminaison privé.
Option 2 : Exécutez les scripts suivants dans Azure Cloud Shell en mode Bash pour approuver toutes les demandes d’accès aux points de terminaison privés requis à la fois.
# Storage managed private endpoint approval # devencur resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, '-dev-storage')==\`true\`].name") storageAcctName=$(az storage account list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'devencur')==\`true\`].name") endPointConnectionName=$(az network private-endpoint-connection list -g $resourceGroupName -n $storageAcctName --type Microsoft.Storage/storageAccounts -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name") az network private-endpoint-connection approve -g $resourceGroupName -n $endPointConnectionName --resource-name $storageAcctName --type Microsoft.Storage/storageAccounts --description "Approved" # devraw resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, '-dev-storage')==\`true\`].name") storageAcctName=$(az storage account list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'devraw')==\`true\`].name") endPointConnectionName=$(az network private-endpoint-connection list -g $resourceGroupName -n $storageAcctName --type Microsoft.Storage/storageAccounts -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name") az network private-endpoint-connection approve -g $resourceGroupName -n $endPointConnectionName --resource-name $storageAcctName --type Microsoft.Storage/storageAccounts --description "Approved" # SQL Database managed private endpoint approval resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, '-dev-dp001')==\`true\`].name") sqlServerName=$(az sql server list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'sqlserver001')==\`true\`].name") endPointConnectionName=$(az network private-endpoint-connection list -g $resourceGroupName -n $sqlServerName --type Microsoft.Sql/servers -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name") az network private-endpoint-connection approve -g $resourceGroupName -n $endPointConnectionName --resource-name $sqlServerName --type Microsoft.Sql/servers --description "Approved" # Key Vault private endpoint approval resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, '-dev-metadata')==\`true\`].name") keyVaultName=$(az keyvault list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'dev-vault001')==\`true\`].name") endPointConnectionID=$(az network private-endpoint-connection list -g $resourceGroupName -n $keyVaultName --type Microsoft.Keyvault/vaults -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].id") az network private-endpoint-connection approve -g $resourceGroupName --id $endPointConnectionID --resource-name $keyVaultName --type Microsoft.Keyvault/vaults --description "Approved" # Purview private endpoint approval resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, 'dev-governance')==\`true\`].name") purviewAcctName=$(az purview account list -g $resourceGroupName -o tsv --query "[?contains(@.name, '-dev-purview001')==\`true\`].name") for epn in $(az network private-endpoint-connection list -g $resourceGroupName -n $purviewAcctName --type Microsoft.Purview/accounts -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name") do az network private-endpoint-connection approve -g $resourceGroupName -n $epn --resource-name $purviewAcctName --type Microsoft.Purview/accounts --description "Approved" done
L’exemple suivant montre comment le compte de stockage <DLZ-prefix>devraw
gère les demandes d’accès au point de terminaison privé. Dans le menu de ressources du compte de stockage, sélectionnez Mise en réseau. Dans la barre de commandes, sélectionnez Connexions de point de terminaison privé.
Pour certaines ressources Azure, sélectionnez les connexions de point de terminaison privé dans le menu des ressources. Un exemple pour le serveur Azure SQL est illustré dans la capture d’écran suivante.
Pour approuver une demande d’accès de point de terminaison privé, dans les connexions de point de terminaison privé, sélectionnez la demande d’accès en attente, puis sélectionnez Approuver :
Une fois que vous avez approuvé la demande d’accès dans chaque service requis, il peut s’écouler quelques minutes avant que la demande s’affiche comme approuvée dans les points de terminaison privés gérés dans Data Factory Studio. Même si vous sélectionnez Actualiser dans la barre de commandes, l’état d’approbation peut être obsolète pendant quelques minutes.
Lorsque vous avez terminé d’approuver toutes les demandes d’accès pour les services requis, dans les points de terminaison privés gérés, la valeur d’état d’approbation pour tous les services est approuvée :
Affectations de rôles
Lorsque vous avez terminé d’approuver les demandes d’accès au point de terminaison privé, ajoutez les autorisations de rôle appropriées pour Data Factory pour accéder à ces ressources :
- Instances SQL Database
AdatumCRM
etAdatumERP
dans le<DP-prefix>-dev-sqlserver001
serveur Azure SQL - Comptes de stockage
<DLZ-prefix>devraw
,<DLZ-prefix>devencur
et<DLZ-prefix>devwork
- Compte Purview
<DMLZ-prefix>-dev-purview001
Machine virtuelle Azure SQL
Pour ajouter des attributions de rôles, commencez par la machine virtuelle Azure SQL. Dans le groupe de ressources
<DMLZ-prefix>-dev-dp001
, accédez à<DP-prefix>-dev-sqlserver001
.Dans le menu des ressources, sélectionnez Contrôle d’accès (IAM). Dans la barre de commandes, sélectionnez Ajouter une>attribution de rôle.
Dans l’onglet Rôle, sélectionnez Contributeur, puis Suivant.
Dans Membres, pour Attribuer l’accès à, sélectionnez Identité managée. Dans Membres, choisissez Sélectionner les membres.
Dans Sélectionner des identités managées, sélectionnez votre abonnement Azure. Pour l’identité managée, sélectionnez Data Factory (V2) pour voir les fabriques de données disponibles. Dans la liste des fabriques de données, sélectionnez Azure Data Factory <DLZ-prefix>-dev-integration-datafactory001. Choisissez Sélectionner.
Sélectionnez Vérifier + Affecter deux fois pour terminer le processus.
Comptes de stockage
Ensuite, affectez les rôles requis aux comptes de stockage <DLZ-prefix>devraw
, <DLZ-prefix>devencur
et <DLZ-prefix>devwork
aux comptes de stockage.
Pour attribuer les rôles, effectuez les mêmes étapes que celles que vous avez utilisées pour créer l’attribution de rôle serveur Azure SQL. Toutefois, pour le rôle, sélectionnez Contributeur de données de stockage blob au lieu de Contributeur.
Après avoir attribué des rôles aux trois comptes de stockage, Data Factory peut se connecter et accéder aux comptes de stockage.
Microsoft Purview
La dernière étape pour ajouter des attributions de rôles consiste à ajouter le rôle de conservateur de données Purview dans Microsoft Purview au compte d’identité managé de la fabrique de données <DLZ-prefix>-dev-integration-datafactory001
. Effectuez les étapes suivantes pour que Data Factory puisse envoyer des informations sur les ressources du catalogue de données à partir de plusieurs sources de données vers le compte Purview.
Dans le groupe de ressources
<DMLZ-prefix>-dev-governance
, accédez au compte Purview<DMLZ-prefix>-dev-purview001
.Dans Purview Studio, sélectionnez l’icône Mappage de données, puis sélectionnez Collections.
Ensuite, sélectionnez l’onglet Attributions de rôles pour la collection. Sous Conservateurs de données, ajoutez l’identité managée pour
<DLZ-prefix>-dev-integration-datafactory001
:
Connecter Data Factory à Azure Purview
Les autorisations sont définies et Purview peut maintenant voir la fabrique de données. L’étape suivante consiste à connecter <DMLZ-prefix>-dev-purview001
à <DLZ-prefix>-dev-integration-datafactory001
.
Dans Purview Studio, sélectionnez l’icône Gestion, puis sélectionnez Data Factory. Sélectionnez Nouveau pour créer une connexion Data Factory.
Dans le volet Nouvelles connexions Data Factory, entrez votre abonnement Azure et sélectionnez la fabrique de données
<DLZ-prefix>-dev-integration-datafactory001
. Sélectionnez OK.Dans l’instance Data Factory Studio
<DLZ-prefix>-dev-integration-datafactory001
, sous Gérer>Azure Purview, actualisez le compte Azure Purview.L’intégration
Data Lineage - Pipeline
affiche désormais l’icône connectée verte.
Créer un pipeline ETL
Maintenant que le <DLZ-prefix>-dev-integration-datafactory001
dispose des autorisations d’accès requises, créez une activité de copie dans Data Factory pour déplacer des données des instances SQL Database vers le compte <DLZ-prefix>devraw
de stockage brut.
Utiliser l’outil Copier des données avec AdatumCRM
Ce processus extrait les données client de l’instance AdatumCRM
SQL Database et les copie dans le stockage Data Lake Storage Gen2.
Dans Data Factory Studio, sélectionnez l’icône Auteur, puis sélectionnez Ressources d’usine. Sélectionnez le signe plus (+) et sélectionnez l’outil Copier les données.
Effectuez chaque étape de l’Assistant Copier des données :
Pour créer un déclencheur pour exécuter le pipeline toutes les 24 heures, sélectionnez Planifier.
Pour créer un service lié pour connecter cette fabrique de données à l’instance
AdatumCRM
SQL Database sur le serveur<DP-prefix>-dev-sqlserver001
(source), sélectionnez Nouvelle connexion.Notes
Si vous rencontrez des erreurs de connexion ou d’accès aux données dans les instances SQL Database ou les comptes de stockage, passez en revue vos autorisations dans l’abonnement Azure. Assurez-vous que la fabrique de données dispose des informations d’identification requises et des autorisations d’accès à toute ressource problématique.
Sélectionnez ces trois tables :
SalesLT.Address
SalesLT.Customer
SalesLT.CustomerAddress
Créez un nouveau service lié pour accéder au stockage Azure Data Lake Storage Gen2
<DLZ-prefix>devraw
(destination).Parcourez les dossiers du stockage
<DLZ-prefix>devraw
et sélectionnez Données comme destination.Modifiez le suffixe de nom de fichier en .csv et utilisez les autres options par défaut.
Accédez au volet suivant et sélectionnez Ajouter un en-tête au fichier.
Lorsque vous avez terminé l’Assistant, le volet Déploiement terminé ressemble à cet exemple :
Le nouveau pipeline est répertorié dans Pipelines.
Exécuter le pipeline
Ce processus crée trois fichiers .csv dans le dossier Data\CRM, un pour chacune des tables sélectionnées dans la base de données AdatumCRM
.
Renommez le pipeline
CopyPipeline_CRM_to_Raw
.Renommez les jeux de données
CRM_Raw_Storage
etCRM_DB
.Dans la barre de commandes Ressources d’usine, sélectionnez Publier tout.
Sélectionnez le pipeline
CopyPipeline_CRM_to_Raw
, puis, dans la barre de commandes du pipeline, sélectionnez Déclencheur pour copier les trois tables de SQL Database vers Data Lake Storage Gen2.
Utiliser l’outil Copier des données avec AdatumERP
Ensuite, extrayez les données de la base de données AdatumERP
. Les données représentent les données de ventes provenant du système ERP.
Toujours dans Data Factory Studio, créez un pipeline à l’aide de l’outil Copier des données. Cette fois, vous envoyez les données de vente de
AdatumERP
vers le<DLZ-prefix>devraw
dossier de données du compte de stockage, de la même façon que vous l’avez fait avec les données CRM. Effectuez les mêmes étapes, mais utilisez la base de donnéesAdatumERP
comme source.Créez la planification à déclencher toutes les heures.
Créez un service lié à l’instance SQL Database
AdatumERP
.Sélectionnez ces sept tables :
SalesLT.Product
SalesLT.ProductCategory
SalesLT.ProductDescription
SalesLT.ProductModel
SalesLT.ProductModelProductDescription
SalesLT.SalesOrderDetail
SalesLT.SalesOrderHeader
Utilisez le service lié existant pour le compte de stockage
<DLZ-prefix>devraw
et définissez l’extension de fichier sur.csv.Sélectionnez Ajouter un en-tête au fichier.
Terminez à nouveau l’Assistant et renommez le pipeline
CopyPipeline_ERP_to_DevRaw
. Ensuite, dans la barre de commandes, sélectionnez Publier tout. Enfin, exécutez le déclencheur sur ce pipeline nouvellement créé pour copier les sept tables sélectionnées de SQL Database vers Data Lake Storage Gen2.
Lorsque vous avez terminé ces étapes, 10 fichiers CSV se trouvent dans le stockage Data Lake Storage Gen2 <DLZ-prefix>devraw
. Dans la section suivante, vous organisez les fichiers dans le stockage Data Lake Storage Gen2 <DLZ-prefix>devencur
.
Préservation des données dans Data Lake Storage Gen2
Lorsque vous avez fini de créer les 10 fichiers CSV dans le stockage brut Data Lake Storage Gen2 <DLZ-prefix>devraw
, transformez ces fichiers en fonction des besoins lorsque vous les copiez dans le stockage organisé Data Lake Storage Gen2 <DLZ-prefix>devencur
.
Continuez à utiliser Azure Data Factory pour créer ces nouveaux pipelines afin d’orchestrer le déplacement des données.
Organiser CRM pour les données client
Créez un flux de données qui obtient les fichiers CSV dans le dossier Data\CRM dans <DLZ-prefix>devraw
. Transformez les fichiers et copiez les fichiers transformés au format de fichier .parquet dans le dossier Data\Customer dans <DLZ-prefix>devencur
.
Dans Azure Data Factory, accédez à la fabrique de données et sélectionnez Orchestrer.
Dans Général, nommez le pipeline
Pipeline_transform_CRM
.Dans le volet Activités, développez Déplacer et transformer. Faites glisser l’activité de flux de données et déposez-la dans le canevas du pipeline.
Dans Ajout de Data Flow, sélectionnez Créer un flux de données et nommez le flux de données
CRM_to_Customer
. Sélectionnez Terminer.Notes
Dans la barre de commandes du canevas du pipeline, activez le débogage du flux de données. En mode débogage, vous pouvez tester de manière interactive la logique de transformation sur un cluster Apache Spark actif. Le préchauffage des clusters de flux de données prend 5 à 7 minutes. Nous vous recommandons d’activer le débogage avant de commencer le développement du flux de données.
Lorsque vous avez terminé de sélectionner les options dans le flux de données
CRM_to_Customer
, le pipelinePipeline_transform_CRM
ressemble à cet exemple :Le flux de données ressemble à cet exemple :
Ensuite, modifiez ces paramètres dans le flux de données de la source
CRMAddress
:Créez un jeu de données à partir de Data Lake Storage Gen2. Utilisez le format DelimitedText. Nommez le jeu de données
DevRaw_CRM_Address
.Connectez le service lié à
<DLZ-prefix>devraw
.Sélectionnez le fichier
Data\CRM\SalesLTAddress.csv
comme source.
Modifiez ces paramètres dans le flux de données du récepteur
CustAddress
associé :Créez un jeu de données appelé
DevEncur_Cust_Address
.Sélectionnez le dossier Data\Customer dans
<DLZ-prefix>devencur
comme récepteur.Sous Settings\Output to single file, convertissez le fichier en Address.parquet.
Pour le reste de la configuration du flux de données, utilisez les informations contenues dans les tableaux suivants pour chaque composant. Notez que CRMAddress
et CustAddress
sont les deux premières lignes. Utilisez-les comme exemples pour les autres objets.
Un élément qui n’est pas dans l’un des tableaux suivants est le modificateur de schéma RemovePasswords
. La capture d’écran précédente montre que cet élément passe entre CRMCustomer
et CustCustomer
. Pour ajouter ce modificateur de schéma, accédez à Sélectionner les paramètres et supprimez PasswordHash et PasswordSalt.
CRMCustomer
retourne un schéma de 15 colonnes à partir du fichier .crv. CustCustomer
écrit seulement 13 colonnes après que le modificateur de schéma supprime les deux colonnes de mot de passe.
Tableau complet
Nom | Type d’objet | Nom du jeu de données | Banque de données | Type de format | Service lié | Fichier ou dossier |
---|---|---|---|---|---|---|
CRMAddress |
Source | DevRaw_CRM_Address |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\CRM\SalesLTAddress.csv |
CustAddress |
Section sink | DevEncur_Cust_Address |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Customer\Address.parquet |
CRMCustomer |
Source | DevRaw_CRM_Customer |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\CRM\SalesLTCustomer.csv |
CustCustomer |
Section sink | DevEncur_Cust_Customer |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Customer\Customer.parquet |
CRMCustomerAddress |
Source | DevRaw_CRM_CustomerAddress |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\CRM\SalesLTCustomerAddress.csv |
CustCustomerAddress |
Section sink | DevEncur_Cust_CustomerAddress |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Customer\CustomerAddress.parquet |
La table ERP to Sales
Répétez maintenant les mêmes étapes pour créer un pipeline Pipeline_transform_ERP
, créez un flux de données ERP_to_Sales
pour transformer les fichiers .csv dans le dossier Data\ERP dans <DLZ-prefix>devraw
, puis copiez les fichiers transformés dans le dossier Data\Sales dans <DLZ-prefix>devencur
.
Dans le tableau suivant, vous trouverez les objets à créer dans le flux de données ERP_to_Sales
et les paramètres que vous devez modifier pour chaque objet. Chaque fichier .csv est mappé à un récepteur .parquet.
Nom | Type d’objet | Nom du jeu de données | Banque de données | Type de format | Service lié | Fichier ou dossier |
---|---|---|---|---|---|---|
ERPProduct |
Source | DevRaw_ERP_Product |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\ERP\SalesLTProduct.csv |
SalesProduct |
Section sink | DevEncur_Sales_Product |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\Product.parquet |
ERPProductCategory |
Source | DevRaw_ERP_ProductCategory |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\ERP\SalesLTProductCategory.csv |
SalesProductCategory |
Section sink | DevEncur_Sales_ProductCategory |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductCategory.parquet |
ERPProductDescription |
Source | DevRaw_ERP_ProductDescription |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\ERP\SalesLTProductDescription.csv |
SalesProductDescription |
Section sink | DevEncur_Sales_ProductDescription |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductDescription.parquet |
ERPProductModel |
Source | DevRaw_ERP_ProductModel |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\ERP\SalesLTProductModel.csv |
SalesProductModel |
Section sink | DevEncur_Sales_ProductModel |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductModel.parquet |
ERPProductModelProductDescription |
Source | DevRaw_ERP_ProductModelProductDescription |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\ERP\SalesLTProductModelProductDescription.csv |
SalesProductModelProductDescription |
Section sink | DevEncur_Sales_ProductModelProductDescription |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductModelProductDescription.parquet |
ERPProductSalesOrderDetail |
Source | DevRaw_ERP_ProductSalesOrderDetail |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\ERP\SalesLTProductSalesOrderDetail.csv |
SalesProductSalesOrderDetail |
Section sink | DevEncur_Sales_ProductSalesOrderDetail |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductSalesOrderDetail.parquet |
ERPProductSalesOrderHeader |
Source | DevRaw_ERP_ProductSalesOrderHeader |
Azure Data Lake Storage Gen2 | DelimitedText | devraw |
Data\ERP\SalesLTProductSalesOrderHeader.csv |
SalesProductSalesOrderHeader |
Section sink | DevEncur_Sales_ProductSalesOrderHeader |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductSalesOrderHeader.parquet |