Tutoriel : Utiliser des API REST pour gérer le contrôle d’accès en fonction du rôle sur les collections Microsoft Purview
En août 2021, le contrôle d’accès dans Microsoft Purview est passé d’Azure Identity & Access Management (IAM) (plan de contrôle) aux collections Microsoft Purview (plan de données). Cette modification offre aux administrateurs et aux conservateurs de données d’entreprise un contrôle d’accès plus précis et plus précis sur leurs sources de données analysées par Microsoft Purview. La modification permet également aux organisations d’auditer le droit d’accès et l’utilisation appropriée de leurs données.
Ce tutoriel vous guide tout au long de l’utilisation pas à pas des API de stratégie de métadonnées Microsoft Purview pour vous aider à ajouter des utilisateurs, des groupes ou des principaux de service à une collection, et à gérer ou supprimer leurs rôles au sein de cette collection. Les API REST sont une méthode alternative à l’utilisation du Portail Azure ou du portail de gouvernance Microsoft Purview pour obtenir le même contrôle d’accès granulaire en fonction du rôle.
Pour plus d’informations sur les rôles intégrés dans Microsoft Purview, consultez le guide des autorisations Microsoft Purview. Le guide mappe les rôles au niveau des autorisations d’accès accordées aux utilisateurs.
Résumé des informations de référence sur l’API de stratégie de métadonnées
Le tableau suivant fournit une vue d’ensemble de la référence de l’API de stratégie de métadonnées Microsoft Purview.
Remarque
Remplacez {pv-acc-name} par le nom de votre compte Microsoft Purview avant d’exécuter ces API. Par instance, si le nom de votre compte Microsoft Purview est FabrikamPurviewAccount, vos points de terminaison d’API seront FabrikamPurviewAccount.purview.azure.com. Le paramètre « api-version » est susceptible d’être modifié. Reportez-vous à la documentation de l’API REST de stratégie de métadonnées Microsoft Purview pour connaître la dernière « version de l’api » et la signature d’API.
Fonction d’API | Méthode REST | Point de terminaison de l’API | Description |
---|---|---|---|
Lire tous les rôles de métadonnées | GET | https://{pv-acc-name}.purview.azure.com /policystore/metadataroles ?&api-version=2021-07-01 | Lit tous les rôles de métadonnées à partir de votre compte Microsoft Purview. |
Lire la stratégie de métadonnées par nom de collection | GET | https://{pv-acc-name}.purview.azure.com /policystore/collections/{collectionName}/metadataPolicy ?&api-version=2021-07-01 | Lit la stratégie de métadonnées à l’aide d’un nom de collection spécifié (le nom aléatoire à six caractères généré par Microsoft Purview lors de la création de la stratégie). |
Lire la stratégie de métadonnées par PolicyID | GET | https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId} ?&api-version=2021-07-01 | Lit la stratégie de métadonnées à l’aide d’un ID de stratégie spécifié. L’ID de stratégie est au format GUID. |
Lire toutes les stratégies de métadonnées | GET | https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies ?&api-version=2021-07-01 | Lit toutes les stratégies de métadonnées à partir de votre compte Microsoft Purview. Vous pouvez choisir une certaine stratégie à utiliser dans la liste de sortie JSON générée par cette API. |
Update/PUT Metadata Policy | PUT | https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId} ?&api-version=2021-07-01 | Mises à jour la stratégie de métadonnées à l’aide d’un ID de stratégie spécifié. L’ID de stratégie est au format GUID. |
Résumé des informations de référence sur l’API des collections de catalogues Microsoft Purview
Le tableau suivant donne une vue d’ensemble des API de collections Microsoft Purview. Pour obtenir une documentation complète sur chaque API, sélectionnez l’opération d’API dans la colonne de gauche.
Opération | Description |
---|---|
Créer ou mettre à jour une collection | Crée ou met à jour une entité de collection. |
Supprimer une collection | Supprime une entité de collection. |
Obtenir la collection | Obtient une collection. |
Obtenir le chemin d’accès à la collection | Obtient le nom parent et les chaînes de noms d’affichage qui représentent le chemin d’accès à la collection. |
Répertorier les noms des collections enfants | Listes les noms des collections enfants dans la collection. |
Répertorier les collections | Listes les collections dans le compte. |
Si vous utilisez l’API, le principal de service, l’utilisateur ou le groupe qui exécute l’API doit avoir un rôle Collection Administration attribué dans Microsoft Purview pour exécuter correctement cette API.
Pour toutes les API Microsoft Purview qui nécessitent {collectionName}, vous devez utiliser « name » (et non « friendlyName »). Remplacez {collectionName} par la chaîne réelle de nom de collection alphanumérique à six caractères.
Remarque
Ce nom est différent du nom d’affichage convivial que vous avez fourni lors de la création de la collection. Si vous n’avez pas {collectionName} à portée de main, utilisez l’API Répertorier les collections pour sélectionner le nom de la collection à six caractères dans la sortie JSON.
Voici un exemple de fichier JSON :
{
"name": "74dhe7",
"friendlyName": "Friendly Name",
"parentCollection": {
"type": "CollectionReference",
"referenceName": "{your_purview_account_name}"
},
"systemData": {
"createdBy": "{guid}",
"createdByType": "Application",
"createdAt": "2021-08-26T21:21:51.2646627Z",
"lastModifiedBy": "7f8d47e2-330c-42f0-8744-fcfb1ecb3ea0",
"lastModifiedByType": "Application",
"lastModifiedAt": "2021-08-26T21:21:51.2646628Z"
},
"collectionProvisioningState": "Succeeded"
}
Description JSON de la stratégie
Voici quelques-uns des identificateurs importants dans la sortie JSON reçue des API de collection :
Nom : nom de la stratégie.
ID : identificateur unique de la stratégie.
Version : numéro de version le plus récent de la stratégie.
Importante
Le numéro de version est incrémenté chaque fois que l’API Update-Metadata-Policy est appelée. Veillez à récupérer la dernière copie de la stratégie en appelant l’API Get-Policy-by-Policy-ID. Effectuez cette actualisation chaque fois avant d’appeler l’API PUT (Update Policy), afin de toujours disposer de la dernière version du fichier JSON.
DecisionRules : répertorie les règles et l’effet de cette stratégie. Pour les stratégies de métadonnées, l’effet est toujours « Autoriser ».
Ajouter ou supprimer des utilisateurs d’une collection ou d’un rôle
Utilisez les API REST Microsoft Purview pour ajouter ou supprimer un utilisateur, un groupe ou un principal de service d’une collection ou d’un rôle. L’utilisation détaillée de l’API est fournie avec des exemples de sorties JSON. Nous vous recommandons vivement de suivre les instructions des sections suivantes de manière séquentielle pour une meilleure compréhension des API de stratégie de métadonnées Microsoft Purview.
Obtenir tous les rôles de métadonnées
Pour répertorier tous les rôles d’autorisation d’accès aux métadonnées disponibles, exécutez l’une des commandes suivantes, en fonction du portail que vous utilisez :
Portail de gouvernance Microsoft Purview classique :
GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataroles?api-version=2021-07-01
Nouveau portail Microsoft Purview :
GET https://api.purview-service.microsoft.com/policystore/metadataroles?api-version=2021-07-01
Le json de sortie décrit les rôles et leurs autorisations associées dans ce format.
Les rôles de métadonnées par défaut sont répertoriés dans le tableau suivant :
ID de rôle | Autorisations | Description du rôle |
---|---|---|
purviewmetadatarole_builtin_data-source-administrator | Microsoft.Purview/accounts/scan/read Microsoft.Purview/accounts/scan/write Microsoft.Purview/accounts/collection/read | Accorde l’accès à d’autres personnes pour lire, écrire une collection, inscrire des sources de données et déclencher des analyses. |
purviewmetadatarole_builtin_collection-administrator | Microsoft.Purview/accounts/collection/read Microsoft.Purview/accounts/collection/write | Accès complet au niveau de l’administrateur à l’ensemble de la collection, y compris l’ajout ou la suppression d’utilisateurs et de noms de principal de service (SPN) de la collection, les droits de gestion et l’octroi ou la révocation de l’accès. Dans certains cas, l’administrateur de collection peut être différent du créateur de la collection. |
purviewmetadatarole_builtin_purview-reader | Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/collection/read | Accorde uniquement l’accès en lecture à la gestion des données et à toutes les métadonnées, y compris les classifications, les étiquettes de confidentialité, les insights et les ressources de lecture dans une collection, à l’exception des liaisons d’analyse. |
purviewmetadatarole_builtin_data-curator | Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/data/write Microsoft.Purview/accounts/collection/read | Accorde un accès total à la gestion des données et à toutes les métadonnées, y compris les classifications, les étiquettes de confidentialité, les insights et les ressources de lecture dans une collection, à l’exception des liaisons d’analyse. |
purviewmetadatarole_builtin_data-share-contributeur | Microsoft.Purview/accounts/share/read Microsoft.Purview/accounts/share/write | Accorde l’accès aux partages de données en tant que contributeur. |
{
"values": [
{
"id": "purviewmetadatarole_builtin_data-curator",
"name": "data-curator",
"type": "Microsoft.Purview/role",
"properties": {
"provisioningState": "Provisioned",
"roleType": "BuiltIn",
"friendlyName": "Data Curator",
"cnfCondition": [
[
{
"attributeName": "request.azure.dataAction",
"attributeValueIncludedIn": [
"Microsoft.Purview/accounts/data/read",
"Microsoft.Purview/accounts/data/write",
"Microsoft.Purview/accounts/collection/read"
]
}
]
],
"version": 1
}
},
{
"id": "purviewmetadatarole_builtin_data-source-administrator",
"name": "data-source-administrator",
"type": "Microsoft.Purview/role",
"properties": {
"provisioningState": "Provisioned",
"roleType": "BuiltIn",
"friendlyName": "Data Source Administrator",
"cnfCondition": [
[
{
"attributeName": "request.azure.dataAction",
"attributeValueIncludedIn": [
"Microsoft.Purview/accounts/scan/read",
"Microsoft.Purview/accounts/scan/write",
"Microsoft.Purview/accounts/collection/read"
]
}
]
],
"version": 1
}
},
{
"id": "purviewmetadatarole_builtin_collection-administrator",
"name": "collection-administrator",
"type": "Microsoft.Purview/role",
"properties": {
"provisioningState": "Provisioned",
"roleType": "BuiltIn",
"friendlyName": "Collection Administrator",
"cnfCondition": [
[
{
"attributeName": "request.azure.dataAction",
"attributeValueIncludedIn": [
"Microsoft.Purview/accounts/collection/read",
"Microsoft.Purview/accounts/collection/write"
]
}
]
],
"version": 1
}
},
{
"id": "purviewmetadatarole_builtin_purview-reader",
"name": "purview-reader",
"type": "Microsoft.Purview/role",
"properties": {
"provisioningState": "Provisioned",
"roleType": "BuiltIn",
"friendlyName": "Microsoft Purview Reader",
"cnfCondition": [
[
{
"attributeName": "request.azure.dataAction",
"attributeValueIncludedIn": [
"Microsoft.Purview/accounts/data/read",
"Microsoft.Purview/accounts/collection/read"
]
}
]
],
"version": 1
}
},
{
"id": "purviewmetadatarole_builtin_data-share-contributor",
"name": "data-share-contributor",
"type": "Microsoft.Purview/role",
"properties": {
"provisioningState": "Provisioned",
"roleType": "BuiltIn",
"friendlyName": "Data share contributor",
"cnfCondition": [
[
{
"attributeName": "request.azure.dataAction",
"attributeValueIncludedIn": [
"Microsoft.Purview/accounts/share/read",
"Microsoft.Purview/accounts/share/write"
]
}
]
],
"version": 1
}
}
]
}
Obtenir toutes les stratégies de métadonnées
Portail de gouvernance Microsoft Purview classique :
GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies?api-version=2021-07-01
Nouveau portail Microsoft Purview :
GET https://api.purview-service.microsoft.com/policystore/metadataPolicies?api-version=2021-07-01
La commande précédente répertorie toutes les stratégies de métadonnées disponibles dans l’ensemble de la hiérarchie des collections au format d’arborescence, de la collection racine en haut à toutes ses stratégies enfants. Chaque collection enfant contient chacun de ses enfants de niveau suivant.
Exemple :
{
"values": [
{
"name": "policy_FabrikamPurview",
"id": "9b2f1cb9-584c-4a16-811e-9232884b5cac",
"version": 30,
"properties": {
"description": "",
"decisionRules": [
{
"kind": "decisionrule",
"effect": "Permit",
"dnfCondition": [
[
{
"attributeName": "resource.purview.collection",
"attributeValueIncludes": "fabrikampurview"
},
{
"fromRule": "permission:fabrikampurview",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "permission:fabrikampurview"
}
]
]
}
],
"attributeRules": [
{
"kind": "attributerule",
"id": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
"name": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
"dnfCondition": [
[
{
"attributeName": "principal.microsoft.id",
"attributeValueIncludedIn": [
"2f656762-e440-4b62-9eb6-a991d17d64b0",
"04314867-60a4-4e5a-ae16-8e5856f415d9",
"8988fe5c-5736-4179-9435-0a64c273b90b",
"6d563253-1d5b-48f2-baaa-5489f22ddce9",
"26f98046-5b02-4fa9-b709-e0519c658891",
"73fc02dc-becd-468b-a2a3-82238e722dae"
]
},
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
},
{
"attributeName": "principal.microsoft.groups",
"attributeValueIncludedIn": [
"ffd851fa-86ec-431b-95ea-8b84d5012383",
"cf84b126-4384-4952-91f1-7f705b25e569",
"5046aba1-5b81-411c-8fec-b84600f3f08b",
"b055a5c6-a04e-4d1a-8524-001ad81bfb28",
"cc194892-92fa-4ce3-96ae-1f98bef8211c"
]
}
]
]
},
{
"kind": "attributerule",
"id": "purviewmetadatarole_builtin_data-curator:fabrikampurview",
"name": "purviewmetadatarole_builtin_data-curator:fabrikampurview",
"dnfCondition": [
[
{
"attributeName": "principal.microsoft.id",
"attributeValueIncludedIn": [
"2f656762-e440-4b62-9eb6-a991d17d64b0",
"649f56ab-2dd2-40de-a731-3d3f28e7af92",
"c29a5809-f9ec-49fd-b762-2d4d64abb93e",
"04314867-60a4-4e5a-ae16-8e5856f415d9",
"73fc02dc-becd-468b-a2a3-82238e722dae",
"517a27d2-39ba-4c91-a032-dd9ecf8ad6f1",
"6d563253-1d5b-48f2-baaa-5489f22ddce9"
]
},
{
"fromRule": "purviewmetadatarole_builtin_data-curator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_data-curator"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_data-curator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_data-curator"
},
{
"attributeName": "principal.microsoft.groups",
"attributeValueIncludedIn": [
"b055a5c6-a04e-4d1a-8524-001ad81bfb28",
"cc194892-92fa-4ce3-96ae-1f98bef8211c",
"5046aba1-5b81-411c-8fec-b84600f3f08b"
]
}
]
]
},
{
"kind": "attributerule",
"id": "purviewmetadatarole_builtin_data-source-administrator:fabrikampurview",
"name": "purviewmetadatarole_builtin_data-source-administrator:fabrikampurview",
"dnfCondition": [
[
{
"attributeName": "principal.microsoft.id",
"attributeValueIncludedIn": [
"2f656762-e440-4b62-9eb6-a991d17d64b0",
"04314867-60a4-4e5a-ae16-8e5856f415d9",
"517a27d2-39ba-4c91-a032-dd9ecf8ad6f1",
"6d563253-1d5b-48f2-baaa-5489f22ddce9"
]
},
{
"fromRule": "purviewmetadatarole_builtin_data-source-administrator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_data-source-administrator"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_data-source-administrator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_data-source-administrator"
},
{
"attributeName": "principal.microsoft.groups",
"attributeValueIncludedIn": [
"b055a5c6-a04e-4d1a-8524-001ad81bfb28",
"cc194892-92fa-4ce3-96ae-1f98bef8211c",
"d34eb741-be5e-4098-90d7-eca8d4a5153f",
"664ec992-9af0-4773-88f2-dc39edc46f6f",
"5046aba1-5b81-411c-8fec-b84600f3f08b"
]
}
]
]
},
{
"kind": "attributerule",
"id": "permission:fabrikampurview",
"name": "permission:fabrikampurview",
"dnfCondition": [
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_purview-reader:fabrikampurview",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_purview-reader:fabrikampurview"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_data-curator:fabrikampurview",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_data-curator:fabrikampurview"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_data-source-administrator:fabrikampurview",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_data-source-administrator:fabrikampurview"
}
]
]
}
],
"collection": {
"type": "CollectionReference",
"referenceName": "fabrikampurview"
}
}
},
{
"name": "policy_b2zpf1",
"id": "12b0bb28-2acc-413e-8fe1-179ff9cc54c3",
"version": 0,
"properties": {
"description": "",
"decisionRules": [
{
"kind": "decisionrule",
"effect": "Permit",
"dnfCondition": [
[
{
"attributeName": "resource.purview.collection",
"attributeValueIncludes": "b2zpf1"
},
{
"fromRule": "permission:b2zpf1",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "permission:b2zpf1"
}
]
]
}
],
"attributeRules": [
{
"kind": "attributerule",
"id": "purviewmetadatarole_builtin_collection-administrator:b2zpf1",
"name": "purviewmetadatarole_builtin_collection-administrator:b2zpf1",
"dnfCondition": [
[
{
"attributeName": "principal.microsoft.id",
"attributeValueIncludedIn": [
"2f656762-e440-4b62-9eb6-a991d17d64b0"
]
},
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator:ukx7pq",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:ukx7pq"
}
]
]
},
{
"kind": "attributerule",
"id": "permission:b2zpf1",
"name": "permission:b2zpf1",
"dnfCondition": [
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator:b2zpf1",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:b2zpf1"
}
],
[
{
"fromRule": "permission:ukx7pq",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "permission:ukx7pq"
}
]
]
}
],
"collection": {
"type": "CollectionReference",
"referenceName": "b2zpf1"
},
"parentCollectionName": "ukx7pq"
}
},
{
"name": "policy_7wte2n",
"id": "a72084e4-ccab-4aec-a364-08ab001e4999",
"version": 0,
"properties": {
"description": "",
"decisionRules": [
{
"kind": "decisionrule",
"effect": "Permit",
"dnfCondition": [
[
{
"attributeName": "resource.purview.collection",
"attributeValueIncludes": "7wte2n"
},
{
"fromRule": "permission:7wte2n",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "permission:7wte2n"
}
]
]
}
],
"attributeRules": [
{
"kind": "attributerule",
"id": "purviewmetadatarole_builtin_collection-administrator:7wte2n",
"name": "purviewmetadatarole_builtin_collection-administrator:7wte2n",
"dnfCondition": [
[
{
"attributeName": "principal.microsoft.id",
"attributeValueIncludedIn": [
"2f656762-e440-4b62-9eb6-a991d17d64b0"
]
},
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator:ukx7pq",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:ukx7pq"
}
]
]
},
{
"kind": "attributerule",
"id": "permission:7wte2n",
"name": "permission:7wte2n",
"dnfCondition": [
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator:7wte2n",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:7wte2n"
}
],
[
{
"fromRule": "permission:ukx7pq",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "permission:ukx7pq"
}
]
]
}
],
"collection": {
"type": "CollectionReference",
"referenceName": "7wte2n"
},
"parentCollectionName": "ukx7pq"
}
}
]
}
Obtenir la stratégie de métadonnées sélectionnée
Vous pouvez utiliser l’une des deux API pour extraire la structure JSON de stratégie de métadonnées d’une collection particulière en fournissant {collectionName} ou {PolicyID}.
Comme décrit dans les deux sections suivantes, les deux API ont le même objectif, et les sorties JSON des deux sont exactement les mêmes.
Obtenir la stratégie de métadonnées de la collection à l’aide du nom de la collection
Portail de gouvernance Microsoft Purview classique :
GET https://{your_purview_account_name}.purview.azure.com/policystore/collections/{collectionName}/metadataPolicy?api-version=2021-07-01
Nouveau portail Microsoft Purview :
GET https://api.purview-service.microsoft.com/policystore/collections/{collectionName}/metadataPolicy?api-version=2021-07-01
Le nom du compte Microsoft Purview est {your_purview_account_name}. Remplacez-le par le nom de votre compte Microsoft Purview.
Dans la sortie JSON de l’API précédente, « Obtenir toutes les stratégies de métadonnées », recherchez la section suivante :
{ « type » : « CollectionReference », « referenceName » : « 7xkdg2"}
Remplacez « {collectionName} » dans l’URL de l’API par la valeur « referenceName » : « {6-char-collection-name} ». Par exemple, si le nom de votre collection de six caractères est « 7xkdg2 », l’URL de l’API sera mise en forme comme suit :
https://{your_purview_account_name}.purview.azure.com/policystore/collections/7xkdg2/metadataPolicy?api-version=2021-07-01
Exécutez l’API suivante :
{ "name": "policy_qu45fs", "id": "c6639bb2-9c41-4be0-912b-775750e725de", "version": 0, "properties": { "description": "", "decisionRules": [ { "kind": "decisionrule", "effect": "Permit", "dnfCondition": [ [ { "attributeName": "resource.purview.collection", "attributeValueIncludes": "qu45fs" }, { "fromRule": "permission:qu45fs", "attributeName": "derived.purview.permission", "attributeValueIncludes": "permission:qu45fs" } ] ] } ], "attributeRules": [ { "kind": "attributerule", "id": "purviewmetadatarole_builtin_collection-administrator:qu45fs", "name": "purviewmetadatarole_builtin_collection-administrator:qu45fs", "dnfCondition": [ [ { "attributeName": "principal.microsoft.id", "attributeValueIncludedIn": [ "2f656762-e440-4b62-9eb6-a991d17d64b0" ] }, { "fromRule": "purviewmetadatarole_builtin_collection-administrator", "attributeName": "derived.purview.role", "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator" } ], [ { "fromRule": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview", "attributeName": "derived.purview.permission", "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview" } ] ] }, { "kind": "attributerule", "id": "permission:qu45fs", "name": "permission:qu45fs", "dnfCondition": [ [ { "fromRule": "purviewmetadatarole_builtin_collection-administrator:qu45fs", "attributeName": "derived.purview.permission", "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:qu45fs" } ], [ { "fromRule": "permission:fabrikampurview", "attributeName": "derived.purview.permission", "attributeValueIncludes": "permission:fabrikampurview" } ] ] } ], "collection": { "type": "CollectionReference", "referenceName": "qu45fs" }, "parentCollectionName": "fabrikampurview" } }
Obtenir la stratégie de métadonnées de la collection à l’aide de l’ID de stratégie
Portail de gouvernance Microsoft Purview classique :
GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01
Nouveau portail Microsoft Purview :
GET https://api.purview-service.microsoft.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01
Le nom du compte Microsoft Purview est {your_purview_account_name}. Remplacez-le par le nom de votre compte Microsoft Purview.
Dans la sortie JSON de l’API précédente, « Obtenir toutes les stratégies de métadonnées », recherchez la section suivante :
{.... « name » : « policy_qu45fs », « id » : « {policy-guid} », « version » : N ....}
Remplacez « {policyId} » dans l’URL de l’API par la valeur « id ». Par exemple, si votre « {policy-guid} » est « c6639bb2-9c41-4be0-912b-775750e725de », l’URL de l’API sera mise en forme comme suit :
https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/c6639bb2-9c41-4be0-912b-775750e725de?api-version=2021-07-01
Exécutez maintenant l’API suivante :
Remarque
La sortie de cet appel d’API et de l’appel d’API précédent est identique. Comme mentionné précédemment, vous pouvez choisir l’un ou l’autre.
{
"name": "policy_qu45fs",
"id": "c6639bb2-9c41-4be0-912b-775750e725de",
"version": 0,
"properties": {
"description": "",
"decisionRules": [
{
"kind": "decisionrule",
"effect": "Permit",
"dnfCondition": [
[
{
"attributeName": "resource.purview.collection",
"attributeValueIncludes": "qu45fs"
},
{
"fromRule": "permission:qu45fs",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "permission:qu45fs"
}
]
]
}
],
"attributeRules": [
{
"kind": "attributerule",
"id": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
"name": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
"dnfCondition": [
[
{
"attributeName": "principal.microsoft.id",
"attributeValueIncludedIn": [
"2f656762-e440-4b62-9eb6-a991d17d64b0"
]
},
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview"
}
]
]
},
{
"kind": "attributerule",
"id": "permission:qu45fs",
"name": "permission:qu45fs",
"dnfCondition": [
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:qu45fs"
}
],
[
{
"fromRule": "permission:fabrikampurview",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "permission:fabrikampurview"
}
]
]
}
],
"collection": {
"type": "CollectionReference",
"referenceName": "qu45fs"
},
"parentCollectionName": "fabrikampurview"
}
}
Mettre à jour la stratégie de regroupement
PUT https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01
Dans cette section, vous mettez à jour la stratégie JSON que vous avez obtenue à l’étape précédente en ajoutant ou en supprimant un utilisateur, un groupe ou un principal de service de la collection. Vous l’envoyez ensuite au service Microsoft Purview à l’aide d’une méthode REST PUT.
Que vous ajoutiez ou supprimiez un utilisateur, un groupe ou un principal de service, vous suivrez le même processus d’API.
Fournissez l’ID d’objet utilisateur, groupe ou principal de service {guid} dans le tableau « attributeValueIncludedIn » du JSON.
Recherchez dans la sortie JSON de l’API Get-Policy-by-ID le tableau « attributeValueIncludedIn » à l’étape précédente, puis ajoutez ou supprimez l’ID d’objet utilisateur, groupe ou principal de service dans le tableau. Si vous ne savez pas comment extraire l’ID d’objet de l’utilisateur, du groupe ou du principal de service, consultez Get-MgUser.
Il existe plusieurs sections dans le mappage JSON pour chacun des quatre rôles. Pour le rôle d’autorisations Administrateur de regroupement, utilisez la section portant l’ID appelé « purviewmetadatarole_builtin_collection-administrateur ». De même, utilisez la section correspondante pour les autres rôles.
Pour mieux comprendre l’opération d’ajout/suppression, examinez attentivement la différence entre la sortie JSON de l’API précédente et la sortie suivante. Dans la sortie JSON suivante, nous avons ajouté l’ID utilisateur « 3a3a3a3a-2c2c-4b4b-1c1c-2a3b4c5d6e7f » en tant qu’administrateur de collection.
{
"name": "policy_qu45fs",
"id": "c6639bb2-9c41-4be0-912b-775750e725de",
"version": 0,
"properties": {
"description": "",
"decisionRules": [
{
"kind": "decisionrule",
"effect": "Permit",
"dnfCondition": [
[
{
"attributeName": "resource.purview.collection",
"attributeValueIncludes": "qu45fs"
},
{
"fromRule": "permission:qu45fs",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "permission:qu45fs"
}
]
]
}
],
"attributeRules": [
{
"kind": "attributerule",
"id": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
"name": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
"dnfCondition": [
[
{
"attributeName": "principal.microsoft.id",
"attributeValueIncludedIn": [
"2f656762-e440-4b62-9eb6-a991d17d64b0",
"3a3a3a3a-2c2c-4b4b-1c1c-2a3b4c5d6e7f"
]
},
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator",
"attributeName": "derived.purview.role",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
}
],
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview"
}
]
]
},
{
"kind": "attributerule",
"id": "permission:qu45fs",
"name": "permission:qu45fs",
"dnfCondition": [
[
{
"fromRule": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:qu45fs"
}
],
[
{
"fromRule": "permission:fabrikampurview",
"attributeName": "derived.purview.permission",
"attributeValueIncludes": "permission:fabrikampurview"
}
]
]
}
],
"collection": {
"type": "CollectionReference",
"referenceName": "qu45fs"
},
"parentCollectionName": "fabrikampurview"
}
}
Ajouter le rôle Administrateur de collection racine
Par défaut, l’utilisateur qui a créé le compte Microsoft Purview est l’administrateur de collection racine (autrement dit, l’administrateur du niveau le plus élevé de la hiérarchie de collection). Toutefois, dans certains cas, un organization peut vouloir modifier l’administrateur de collection racine à l’aide de l’API.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/addRootCollectionAdmin?api-version=2021-07-01
Pour exécuter la commande précédente, vous devez uniquement passer l’ID d’objet du nouvel administrateur de collection racine. Comme nous l’avons mentionné précédemment, l’ID d’objet peut être celui de n’importe quel utilisateur, groupe ou principal de service.
{"objectId": "{guid}"}
Remarque
Les utilisateurs qui appellent cette API doivent disposer des autorisations Propriétaire ou Compte d’utilisateur et authentification (UAA) sur le compte Microsoft Purview pour exécuter une action d’écriture sur le compte.
Plus de ressources
Vous pouvez choisir d’exécuter des API REST Microsoft Purview à l’aide de l’utilitaire PowerShell. Il peut être facilement installé à partir de PowerShell Gallery. Avec cet utilitaire, vous pouvez exécuter toutes les mêmes commandes, mais à partir de Windows PowerShell.