Créer des ressources à l’aide de l’API REST
Dans ce tutoriel, vous allez apprendre à créer des ressources dans le Mappage de données Microsoft Purview que les utilisateurs peuvent rechercher et parcourir dans le Catalogue de données Microsoft Purview.
Remarque
Si vous utilisez la version gratuite de Microsoft Purview, seuls les utilisateurs du groupe de rôles conservateur de données pourront accéder à ces ressources.
Si vous avez déjà votre principal de service et votre jeton d’authentification, vous pouvez passer directement aux étapes de création de ressources à l’aide de l’API REST. Sinon, suivez ce guide pour appeler l’API REST.
Configuration requise
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Vous devez disposer d’un compte Microsoft Purview existant. Si ce n’est pas le cas, case activée si votre organization a accès à la version gratuite de Microsoft Purview, ou utilisez ce guide de démarrage rapide pour créer un compte Microsoft Purview.
Créer un principal de service (application)
Pour qu’un client d’API REST accède à Microsoft Purview afin de créer des entités, le client doit disposer d’un principal de service (application) et d’une identité que Microsoft Purview reconnaît et qui est configurée pour approuver.
Les clients qui ont utilisé des principaux de service existants (ID d’application) ont connu un taux élevé de défaillances. Par conséquent, nous vous recommandons de créer un principal de service pour appeler des API.
Pour créer un principal de service :
Connectez-vous au Portail Azure.
Dans le portail, recherchez et sélectionnez Azure Active Directory.
Dans la page Azure Active Directory, sélectionnez inscriptions d'applications dans le volet gauche.
Sélectionnez Nouvelle inscription.
Dans la page Inscrire une application :
- Entrez un Nom pour l’application (le nom du principal de service).
- Sélectionnez Comptes dans cet annuaire organisationnel uniquement (<nom> de votre locataire uniquement - Locataire unique).
- Pour URI de redirection (facultatif), sélectionnez Web et entrez une valeur. Cette valeur n’a pas besoin d’être un point de terminaison valide.
https://exampleURI.com
Je vais le faire. - Sélectionner Inscription.
Dans la page nouveau principal de service, copiez les valeurs du Nom d’affichage et de l’ID d’application (client) à enregistrer ultérieurement.
L’ID d’application est la
client_id
valeur de l’exemple de code.
Pour utiliser le principal de service (application), vous devez connaître le mot de passe du principal de service :
- Sélectionnez votre principal de service (application) dans la liste inscriptions d'applications.
- Sélectionnez Certificats & secrets dans le volet gauche.
- Sélectionnez Nouvelle clé secrète client.
- Dans la page Ajouter une clé secrète client , entrez une Description, sélectionnez un délai d’expiration sous Expire, puis sélectionnez Ajouter.
- Dans la page Secrets client , la chaîne dans la colonne Valeur de votre nouveau secret est votre mot de passe. Enregistrez cette valeur.
Configurer l’authentification à l’aide du principal de service
Une fois le nouveau principal de service créé, vous devez attribuer des autorisations pour que votre principal de service puisse accéder à votre compte Microsoft Purview. Les autorisations que vous devez attribuer varient selon que vous utilisez l’expérience Microsoft Purview classique ou le nouveau portail Microsoft Purview.
Sélectionnez l’onglet correspondant à l’expérience que vous utilisez.
Accédez à votre portail de gouvernance Microsoft Purview.
Sélectionnez Data Map dans le menu de gauche.
Sélectionnez Collections.
Sélectionnez la collection racine dans le menu collections. Il s’agit de la première collection de la liste et aura le même nom que votre compte Microsoft Purview.
Remarque
Vous pouvez également attribuer l’autorisation de principal de service à n’importe quelle sous-collection, au lieu de la collection racine. Toutefois, toutes les API seront limitées à cette collection (et aux sous-collections qui héritent des autorisations), et les utilisateurs qui tentent d’appeler l’API pour une autre collection recevront des erreurs.
Sélectionnez l’onglet Attributions de rôles .
Attribuez le rôle Conservateur de données au principal de service créé précédemment. Pour obtenir des instructions détaillées, consultez Attribuer des rôles Azure à l’aide du portail de gouvernance Microsoft Purview.
Une fois que vous avez affecté des autorisations, vous devez collecter votre jeton d’authentification.
Envoyez une requête POST à l’URL suivante pour obtenir le jeton d’accès :
https://login.microsoftonline.com/{your-tenant-id}/oauth2/token
Vous pouvez trouver votre ID de locataire en recherchant Propriétés du locataire dans le Portail Azure. L’ID est disponible sur la page des propriétés du locataire.
Les paramètres suivants doivent être passés à l’URL ci-dessus :
- client_id : ID client de l’application inscrite dans Azure Active Directory et affectée à un rôle de plan de données pour le compte Microsoft Purview.
- client_secret : clé secrète client créée pour l’application ci-dessus.
- grant_type : il doit s’agir de « client_credentials ».
- ressource : il doit s’agir de «https://purview.azure.net »
Voici un exemple de requête POST dans PowerShell :
$tenantID = "12a345bc-67d1-ef89-abcd-efg12345abcde" $url = "https://login.microsoftonline.com/$tenantID/oauth2/token" $params = @{ client_id = "a1234bcd-5678-9012-abcd-abcd1234abcd"; client_secret = "abcd~a1234bcd56789012abcdabcd1234abcd"; grant_type = "client_credentials"; resource = ‘https://purview.azure.net’ } Invoke-WebRequest $url -Method Post -Body $params -UseBasicParsing | ConvertFrom-Json
Exemple de jeton de réponse :
{ "token_type": "Bearer", "expires_in": "86399", "ext_expires_in": "86399", "expires_on": "1621038348", "not_before": "1620951648", "resource": "https://purview.azure.net", "access_token": "<<access token>>" }
Conseil
Si vous recevez un message d’erreur indiquant : L’échange de jetons cross-origin est autorisé uniquement pour le type client « Application monopage ».
- Vérifiez vos en-têtes de requête et vérifiez que votre demande ne contient pas l’en-tête « origin ».
- Vérifiez que votre URI de redirection est défini sur web dans votre principal de service.
- Si vous utilisez une application comme Postman, assurez-vous que votre logiciel est à jour.
Utilisez le jeton d’accès ci-dessus pour appeler les API du plan de données.
Créer des ressources à l’aide de l’API REST
Maintenant que vous disposez d’un jeton et que vous pouvez vous authentifier, vous êtes prêt à créer vos ressources.
Importante
Les points de terminaison d’URL de votre demande dépendent de l’expérience Microsoft Purview que vous utilisez : l’expérience Microsoft Purview classique ou le nouveau portail Microsoft Purview
Créer des ressources Azure
Voici un exemple que vous pouvez utiliser pour créer vos entités pour les ressources Azure. Cet exemple couvre un compte de stockage Azure, mais vous pouvez l’utiliser pour n’importe quelle autre source Azure.
Importante
Pour utiliser cet exemple pour vos ressources Azure, remplacez ces valeurs dans la charge utile :
- Typename
- Propriétaire
- qualifiedName
- nom
- ID d’expert
- Informations d’expert
- ID de propriétaire
- Informations sur le propriétaire
- Créé par
- Mis à jour par
URL de la demande : https://{accountName}.purview.azure.com/catalog/api/atlas/v2/entity
Method : PUBLIER
Authentification : utilisez le jeton de l’étape précédente comme jeton du porteur.
Exemple de charge utile :
{
"referredEntities": {},
"entity": {
"typeName": "azure_storage_account",
"attributes": {
"owner": "ExampleOwner",
"modifiedTime": 0,
"createTime": 0,
"qualifiedName": "https://exampleaccount.core.windows.net",
"name": "ExampleStorageAccount",
"description": null,
"publicAccessLevel": null
},
"contacts": {
"Expert": [
{
"id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2d2",
"info": "Example Expert Info"
}
],
"Owner": [
{
"id": " 30435ff9-9b96-44af-a5a9-e05c8b1ae2d2",
"info": "Example Owner Info"
}
]
},
"status": "ACTIVE",
"createdBy": "ExampleCreator",
"updatedBy": "ExampleUpdator",
"version": 0
}
}
Créer des ressources multicloud
Voici un exemple que vous pouvez utiliser pour créer vos entités pour des ressources multiclouds. Cet exemple crée une ressource Snowflake, mais vous pouvez l’utiliser pour n’importe quelle autre source
Importante
Pour utiliser cet exemple pour vos ressources Azure, remplacez ces valeurs dans la charge utile :
- Typename
- Propriétaire
- qualifiedName
- nom
- type
- ID d’expert
- Informations d’expert
- ID de propriétaire
- Informations sur le propriétaire
- Créé par
- Mis à jour par
URL de la demande : https://{accountName}.purview.azure.com/catalog/api/atlas/v2/entity
Method : PUBLIER
Authentification : utilisez le jeton de l’étape précédente comme jeton du porteur.
Exemple de charge utile :
{
"referredEntities": {},
"entity": {
"typeName": "snowflake_table",
"attributes": {
"owner": "ExampleOwner",
"modifiedTime": 0,
"createTime": 0,
"qualifiedName": "snowflake://microsoft_partner.east-us-2.azure.snowflakecomputing.com/databases/AZUREPURVIEW_TESTDB/schemas/COMPANY/tables/PROJECT_INFO",
"name": "PROJECT_INFO",
"description": null,
"type": "TABLE"
},
"contacts": {
"Expert": [
{
"id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2d2",
"info": "Example Expert Info"
}
],
"Owner": [
{
"id": "4b27e65f-6a15-4925-a4ef-2e640445079b",
"info": "Example Owner Info"
}
]
},
"status": "ACTIVE",
"createdBy": "ExampleCreator",
"updatedBy": "ExampleUpdator",
"version": 0
}
}