Partager via


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) à des 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 Répertorie les noms des collections enfants dans la collection.
Répertorier les collections Répertorie 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
  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 mise en forme comme suit :

    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": "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
  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 « 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

  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’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.

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

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

  3. 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.

  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 « 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.

Prochaines étapes