Поделиться через


Руководство по использованию REST API для управления доступом на основе ролей в коллекциях Microsoft Purview

В августе 2021 г. управление доступом в Microsoft Purview переместилось из удостоверений Azure & управления доступом (IAM) (уровень управления) в коллекции Microsoft Purview (плоскость данных). Это изменение предоставляет кураторам и администраторам корпоративных данных более точный и детализированный контроль доступа к источникам данных, сканируемым с помощью Microsoft Purview. Это изменение также позволяет организациям проводить аудит правильного доступа и правильного использования своих данных.

В этом руководстве описано пошаговое использование API-интерфейсов политики метаданных Microsoft Purview, которые помогут вам добавлять пользователей, группы или субъекты-службы в коллекцию, а также управлять их ролями или удалять их в этой коллекции. REST API — это альтернативный метод использования портал Azure или портала управления Microsoft Purview для обеспечения того же детального управления доступом на основе ролей.

Дополнительные сведения о встроенных ролях в Microsoft Purview см. в руководстве по разрешениям Microsoft Purview. В этом руководстве роли сопоставляются с уровнем разрешений на доступ, предоставляемых пользователям.

Справочник по API политики метаданных

В следующей таблице приведен обзор справочника по API политики метаданных Microsoft Purview.

Примечание.

Замените {pv-acc-name} именем учетной записи Microsoft Purview перед запуском этих API. Например, если имя учетной записи Microsoft Purview — FabrikamPurviewAccount, конечные точки API станут FabrikamPurviewAccount.purview.azure.com. Параметр api-version может быть изменен. Последняя версия api и подпись API см. в документации по rest API политики метаданных Microsoft Purview .

Функция API Метод REST Конечная точка API Описание
Чтение всех ролей метаданных GET https://{pv-acc-name}.purview.azure.com /policystore/metadataroles?&api-version=2021-07-01 Считывает все роли метаданных из учетной записи Microsoft Purview.
Чтение политики метаданных по имени коллекции GET https://{pv-acc-name}.purview.azure.com /policystore/collections/{collectionName}/metadataPolicy?&api-version=2021-07-01 Считывает политику метаданных, используя указанное имя коллекции (случайное имя из шести символов, созданное Microsoft Purview при создании политики).
Чтение политики метаданных по идентификатору политики GET https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId}?&api-version=2021-07-01 Считывает политику метаданных с помощью указанного идентификатора политики. Идентификатор политики имеет формат GUID.
Чтение всех политик метаданных GET https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies?&api-version=2021-07-01 Считывает все политики метаданных из учетной записи Microsoft Purview. Вы можете выбрать определенную политику для работы из списка выходных данных JSON, созданного этим API.
Политика метаданных update/PUT PUT https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId}?&api-version=2021-07-01 Обновления политику метаданных с помощью указанного идентификатора политики. Идентификатор политики имеет формат GUID.

Справочник по API коллекций каталогов Microsoft Purview

В следующей таблице приведен обзор API коллекций Microsoft Purview. Для получения полной документации по каждому API выберите операцию API в левом столбце.

Операция Описание
Создание или обновление коллекции Создает или обновляет сущность коллекции.
Удаление коллекции Удаляет сущность коллекции.
Получение коллекции Возвращает коллекцию.
Получение пути к коллекции Возвращает родительское имя и цепочки отображаемых имен, представляющие путь к коллекции.
Вывод списка имен дочерних коллекций Списки имена дочерних коллекций в коллекции.
Перечисление коллекций Списки коллекции в учетной записи.
  • Если вы используете API, субъекту-службе, пользователю или группе, которая выполняет API, должна быть назначена роль Администратор коллекции в Microsoft Purview для успешного выполнения этого API.

  • Для всех API Microsoft Purview, которым требуется {collectionName}, необходимо использовать "name" (а не "friendlyName"). Замените {collectionName} фактическим шестизначным буквенно-цифровым именем коллекции.

    Примечание.

    Это имя отличается от понятного отображаемого имени, указанного при создании коллекции. Если у вас нет {collectionName} под рукой, используйте API списков коллекций , чтобы выбрать имя коллекции из шести символов из выходных данных JSON.

Ниже приведен пример 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"
}

Описание json политики

Ниже приведены некоторые важные идентификаторы в выходных данных JSON, полученных из API коллекции:

Имя: имя политики.

Идентификатор: уникальный идентификатор политики.

Версия: номер последней версии политики.

Важно!

Номер версии увеличивается при каждом вызове API Update-Metadata-Policy. Не забудьте получить последнюю копию политики, вызвав API Get-Policy-by-Policy-ID. Выполняйте это обновление каждый раз перед вызовом API политики обновления (PUT), чтобы всегда иметь последнюю версию JSON-файла.

DecisionRules: перечисление правил и последствий этой политики. Для политик метаданных результат всегда имеет значение "Разрешить".

Добавление или удаление пользователей из коллекции или роли

Используйте ИНТЕРФЕЙСы REST API Microsoft Purview, чтобы добавить или удалить пользователя, группу или субъект-службу из коллекции или роли. Подробное использование API предоставляется вместе с примерами выходных данных JSON. Настоятельно рекомендуется последовательно следовать инструкциям в следующих разделах, чтобы лучше понять API политики метаданных Microsoft Purview.

Получение всех ролей метаданных

Чтобы получить список всех доступных ролей разрешений на доступ к метаданным, выполните одну из следующих команд в зависимости от используемого портала:

Классический портал управления Microsoft Purview:

GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataroles?api-version=2021-07-01

Новый портал Microsoft Purview:

GET https://api.purview-service.microsoft.com/policystore/metadataroles?api-version=2021-07-01

Выходные данные JSON описывают роли и связанные с ними разрешения в этом формате.

Роли метаданных по умолчанию перечислены в следующей таблице:

Идентификатор роли Разрешения Описание роли
purviewmetadatarole_builtin_data-source-administrator Microsoft.Purview/accounts/scan/read Microsoft.Purview/accounts/scan/write Microsoft.Purview/accounts/collection/read Предоставляет другим пользователям доступ для чтения, записи сбора, регистрации источников данных и активации проверок.
администратор purviewmetadatarole_builtin_collection Microsoft.Purview/accounts/collection/read Microsoft.Purview/accounts/collection/write Полный доступ на уровне администратора ко всей коллекции, включая добавление или удаление пользователей и имен субъектов-служб (SPN) из коллекции, права управления, а также предоставление или отзыв доступа. В некоторых случаях администратор коллекции может отличаться от создателя коллекции.
purviewmetadatarole_builtin_purview-читатель Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/collection/read Предоставляет доступ только на чтение к обработке данных и всем метаданным, включая классификации, метки конфиденциальности, аналитические сведения и ресурсы чтения в коллекции, за исключением привязок сканирования.
purviewmetadatarole_builtin_data-куратор Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/data/write Microsoft.Purview/accounts/collection/read Предоставляет полный доступ к обработке данных и всем метаданным, включая классификации, метки конфиденциальности, аналитические сведения и ресурсы чтения в коллекции, за исключением привязок сканирования.
purviewmetadatarole_builtin_data-share-участник Microsoft.Purview/accounts/share/read Microsoft.Purview/accounts/share/write Предоставляет доступ к общим ресурсам данных в качестве участник.
{
  "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
      }
    }
  ]
}

Получение всех политик метаданных

Классический портал управления Microsoft Purview:

GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies?api-version=2021-07-01

Новый портал Microsoft Purview:

GET https://api.purview-service.microsoft.com/policystore/metadataPolicies?api-version=2021-07-01

Предыдущая команда перечисляет все доступные политики метаданных во всей иерархии коллекций в формате дерева, от корневой коллекции в верхней части до всех ее дочерних политик. Каждая дочерняя коллекция содержит каждый из дочерних элементов следующего уровня.

Пример:

{
  "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"
      }
    }
  ]
}

Получение выбранной политики метаданных

Вы можете использовать любой из двух API для получения структуры JSON политики метаданных определенной коллекции, указав {collectionName} или {PolicyID}.

Как описано в следующих двух разделах, оба API служат одной и той же цели, и выходные данные JSON для обоих являются совершенно одинаковыми.

Получение политики метаданных коллекции с помощью имени коллекции

Классический портал управления Microsoft Purview:

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

Новый портал Microsoft Purview:

GET https://api.purview-service.microsoft.com/policystore/collections/{collectionName}/metadataPolicy?api-version=2021-07-01
  1. Имя учетной записи Microsoft Purview — {your_purview_account_name}. Замените его именем учетной записи Microsoft Purview.

  2. В выходных данных JSON предыдущего API "Получить все политики метаданных" найдите следующий раздел:

    { "type": "CollectionReference", "referenceName": "7xkdg2"}

  3. Замените "{collectionName}" в URL-адресе API значением referenceName: "{6-char-collection-name}". Например, если имя коллекции из шести символов — "7xkdg2", URL-адрес API будет отформатирован следующим образом:

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

  4. Выполните следующий API:

    {
      "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"
      }
    }
    

Получение политики метаданных коллекции с помощью идентификатора политики

Классический портал управления Microsoft Purview:

GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01

Новый портал Microsoft Purview:

GET https://api.purview-service.microsoft.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01
  1. Имя учетной записи Microsoft Purview — {your_purview_account_name}. Замените его именем учетной записи Microsoft Purview.

  2. В выходных данных JSON предыдущего API "Получить все политики метаданных" найдите следующий раздел:

    {.... "name": "policy_qu45fs", "id": "{policy-guid}", "version": N ....}

  3. Замените "{policyId}" в URL-адресе API значением "id". Например, если "{policy-guid}" имеет значение "c6639bb2-9c41-4be0-912b-775750e725de", URL-адрес API будет иметь следующий формат:

    https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/c6639bb2-9c41-4be0-912b-775750e725de?api-version=2021-07-01

  4. Теперь выполните следующий API:

    Примечание.

    Выходные данные этого вызова API и предыдущего вызова API совпадают. Как упоминалось ранее, можно выбрать любой из них.

{
  "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"
  }
}

Обновление политики сбора

PUT https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01

В этом разделе вы обновите json политики, полученный на предыдущем шаге, добавив или удалив пользователя, группу или субъект-службу из коллекции. Затем вы отправляете его в службу Microsoft Purview с помощью метода REST PUT.

Независимо от того, добавляете или удаляете пользователя, группу или субъект-службу, вы будете следовать тому же процессу API.

  1. Укажите идентификатор объекта пользователя, группы или субъекта-службы {guid} в массиве attributeValueIncludedIn json.

  2. Выполните поиск в выходных данных JSON API Get-Policy-by-ID для массива attributeValueIncludedIn на предыдущем шаге и добавьте или удалите идентификатор объекта пользователя, группы или субъекта-службы в массиве. Если вы не знаете, как получить идентификатор объекта пользователя, группы или субъекта-службы, см. раздел Get-MgUser.

  3. Существует несколько разделов в сопоставлении JSON для каждой из четырех ролей. Для роли "Разрешения администратора коллекции" используйте раздел с идентификатором "purviewmetadatarole_builtin_collection-administrator". Аналогичным образом используйте соответствующий раздел для других ролей.

  4. Чтобы лучше понять операцию добавления и удаления, внимательно изучите разницу между выходными данными JSON из предыдущего API и следующими выходными данными. В приведенных ниже выходных данных JSON мы добавили идентификатор пользователя "3a3a3a3a3a-2c2c-4b4b-1c1c-2a3b4c5d6e7f" в качестве администратора коллекции.

{
  "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"
  }
}

Добавление роли администратора корневой коллекции

По умолчанию пользователь, создавший учетную запись Microsoft Purview, является администратором корневой коллекции (то есть администратором верхнего уровня иерархии коллекции). Однако в некоторых случаях организации может потребоваться изменить администратора корневой коллекции с помощью API.

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/addRootCollectionAdmin?api-version=2021-07-01

Чтобы выполнить предыдущую команду, необходимо только передать идентификатор объекта нового администратора корневой коллекции. Как мы уже упоминали ранее, идентификатором объекта может быть любой пользователь, группа или субъект-служба.

{"objectId": "{guid}"}

Примечание.

Пользователи, которые вызывают этот API, должны иметь разрешения владельца или учетной записи пользователя и проверки подлинности (UAA) в учетной записи Microsoft Purview для выполнения действия записи в учетной записи.

Дополнительные ресурсы

Вы можете выполнить REST API Microsoft Purview с помощью служебной программы PowerShell. Его можно легко установить из коллекция PowerShell. С помощью этой программы можно выполнять все те же команды, но из Windows PowerShell.

Дальнейшие действия