Didacticiel : Utiliser les API REST pour gérer le contrôle d’accès en fonction du rôle dans les collections Microsoft Purview

Remarque

Le catalogue de données Microsoft Purview (classique), Data Health Insights (classique) et le flux de travail Purview (classique) ne prennent plus de nouveaux clients et ces services, anciennement Azure Purview, sont désormais en mode support client.

En août 2021, le contrôle d’accès dans Microsoft Purview est passé de Azure Gestion des identités & des accès (IAM) (plan de contrôle) aux collections Microsoft Purview (plan de données). Cette modification offre aux conservateurs de données d’entreprise et aux administrateurs un contrôle d’accès plus précis et granulaire sur leurs sources de données analysées par Microsoft Purview. La modification permet également aux organisations de vérifier les droits d’accès et d’utilisation de leurs données.

Ce tutoriel vous guide pas à pas dans l’utilisation 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 constituent 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 basé sur les rôles.

Pour plus d’informations sur les rôles intégrés dans Microsoft Purview, consultez le guide des autorisations Microsoft Purview. Le guide met en correspondance les rôles au niveau des autorisations d’accès accordées aux utilisateurs.

Résumé de la référence de l’API de stratégie de métadonnées

Le tableau suivant donne un aperçu 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 de l’API.

Fonction 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 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 des 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 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.
Stratégie de métadonnées Update/PUT 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é de la référence de l’API des collections de catalogue Microsoft Purview

Le tableau suivant donne un aperçu des API de collections Microsoft Purview. Pour obtenir la 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 de la collection Obtient le nom parent et les chaînes de nom d’affichage qui représentent le chemin d’accès de la collection.
Liste des noms de collection enfants Répertorie les noms de collections enfants dans la collection.
Collections de listes Répertorie les collections du compte.
  • Si vous utilisez l’API, le principal de service, l’utilisateur ou le groupe qui exécute l’API doit disposer d’un rôle de Administration de collection attribué dans Microsoft Purview pour exécuter cette API avec succès.

  • Pour toutes les API Microsoft Purview qui nécessitent {collectionName}, vous devez utiliser « name » (et non « friendlyName »). Remplacez {collectionName} par la chaîne 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 List Collections pour sélectionner le nom de 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 de stratégie de mise à jour (PUT), 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 de Microsoft Purview pour ajouter ou supprimer un utilisateur, un groupe ou un principal de service d’une collection ou d’un rôle. Une utilisation détaillée de l’API est fournie avec des exemples de sortie 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écrira 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 utilisateurs pour lire, écrire la collection, inscrire des sources de données et déclencher des analyses.
purviewmetadatarole_builtin_collection-administrateur Microsoft.Purview/accounts/collection/read Microsoft.Purview/accounts/collection/write Accès total de niveau administrateur à l’ensemble de la collection, y compris l’ajout ou la suppression d’utilisateurs et de noms de principaux 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 la collection peut être différent du créateur de la collection.
purviewmetadatarole_builtin_purview-lecteur 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 d’une collection, à l’exception des liaisons d’analyse.
purviewmetadatarole_builtin_data-commissaire d’exposition Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/data/write Microsoft.Purview/accounts/collection/read Accorde un accès complet à 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 Octroie 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 toute 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 soit {collectionName}, soit {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 en utilisant le 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
  1. Le nom du compte Microsoft Purview est {your_purview_account_name}. Remplacez-le par le nom de votre compte Microsoft Purview.

  2. 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"}

  3. 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 au format suivant :

    https://{your_purview_account_name}.purview.azure.com/policystore/collections/7xkdg2/metadataPolicy?api-version=2021-07-01

  4. Exécutez l’API suivante :

    {
      "name": "policy_qu45fs",
      "id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
      "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
  1. Le nom du compte Microsoft Purview est {your_purview_account_name}. Remplacez-le par le nom de votre compte Microsoft Purview.

  2. 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 ....}

  3. Remplacez « {policyId} » dans l’URL de l’API par la valeur « id ». Par exemple, si votre « {policy-guid} » est « aaaabbbb-0000-cccc-1111-dddd222eeee », l’URL de l’API sera au format suivant :

    https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/aaaabbbb-0000-cccc-1111-dddd2222eeee?api-version=2021-07-01

  4. 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’une ou l’autre.

{
  "name": "policy_qu45fs",
  "id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
  "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 collecte

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.

  1. Indiquez l’ID d’objet principal de l’utilisateur, du groupe ou du service {guid} dans le tableau « attributeValueIncludedIn » du JSON.

  2. Recherchez le tableau « attributeValueIncludedIn » dans la sortie JSON de l’API Get-Policy-by-ID à l’étape précédente, puis ajoutez ou supprimez l’ID d’utilisateur, de groupe ou d’objet principal du service dans le tableau. Si vous ne savez pas comment récupérer l’ID d’objet d’utilisateur, de groupe ou de principal du service, consultez Get-MgUser.

  3. Le mappage JSON comporte plusieurs sections pour chacun des quatre rôles. Pour le rôle des autorisations Administrateur de la collection, utilisez la section portant l’ID intitulée « purviewmetadatarole_builtin_collection-administrateur ». De même, utilisez la section correspondante pour les autres rôles.

  4. 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 « aaaabbbb-0000-cccc-1111-dddd222eeee » en tant qu’administrateur de collection.

{
  "name": "policy_qu45fs",
  "id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
  "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",
                "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
              ]
            },
            {
              "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 d’administrateur de collection racine

Par défaut, l’utilisateur qui a créé le compte Microsoft Purview est l’administrateur de collection racine (c’est-à-dire l’administrateur du niveau le plus élevé de la hiérarchie de collection). Toutefois, dans certains cas, une organisation peut souhaiter modifier l’administrateur de la 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, il vous suffit de transmettre l’ID d’objet de la nouvelle collection racine. Comme nous l’avons déjà indiqué, l’ID d’objet peut être celui d’un utilisateur, d’un groupe ou d’un principal de service.

{"objectId": "{guid}"}

Remarque

Les utilisateurs qui appellent cette API doivent disposer des autorisations de propriétaire ou de compte d’utilisateur et d’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 les API REST de Microsoft Purview à l’aide de l’utilitaire PowerShell. Il peut être facilement installé à partir de la PowerShell Gallery. Avec cet utilitaire, vous pouvez exécuter toutes les mêmes commandes, mais à partir de Windows PowerShell.

Étapes suivantes