Создание ресурсов с помощью REST API
В этом руководстве вы узнаете, как создавать ресурсы в Схема данных Microsoft Purview, чтобы пользователи могли искать и просматривать в Каталог данных Microsoft Purview.
Примечание
Если вы используете бесплатную версию Microsoft Purview, доступ к этим ресурсам смогут получить только пользователи в группе ролей куратора данных .
Если у вас уже есть субъект-служба и маркер проверки подлинности, можно перейти непосредственно к шагам по созданию ресурсов с помощью REST API. В противном случае следуйте этому руководству, чтобы вызвать REST API.
- Если у вас нет подписки Azure, создайте бесплатную учетную запись перед началом работы.
- У вас должна быть существующая учетная запись Microsoft Purview. В противном случае проверка, если у вашей организации есть доступ к бесплатной версии Microsoft Purview, или используйте это краткое руководство для создания учетной записи Microsoft Purview.
Чтобы клиент REST API получить доступ к Microsoft Purview для создания сущностей, он должен иметь субъект-службу (приложение) и удостоверение, которое Распознает Microsoft Purview и настроено на доверие.
Клиенты, которые использовали существующие субъекты-службы (идентификаторы приложений), имели высокий уровень сбоев. Поэтому рекомендуется создать субъект-службу для вызова API.
Чтобы создать субъект-службу, выполните приведенные далее действия.
Войдите на портал Azure.
На портале найдите и выберите Azure Active Directory.
На странице Azure Active Directory выберите Регистрация приложений в области слева.
Выберите Новая регистрация.
На странице Регистрация приложения выполните следующие действия.
- Введите имя приложения (имя субъекта-службы).
- Выберите Учетные записи только в этом каталоге организации (<только имя> клиента — Один клиент).
- В поле URI перенаправления (необязательно) выберите Интернет и введите значение. Это значение не обязательно должно быть допустимой конечной точкой.
https://exampleURI.com
Сделать. - Нажмите Зарегистрировать.
На новой странице субъекта-службы скопируйте значения отображаемого имени и идентификатора приложения (клиента), чтобы сохранить их для дальнейшего использования.
Идентификатор приложения — это
client_id
значение в примере кода.
Чтобы использовать субъект-службу (приложение), необходимо знать пароль субъекта-службы:
- Выберите субъект-службу (приложение) в списке Регистрация приложений.
- Выберите Секреты сертификатов & в области слева.
- Щелкните Создать секрет клиента.
- На странице Добавление секрета клиента введите описание, выберите срок действия в разделе Срок действия и нажмите кнопку Добавить.
- На странице Секреты клиента строка в столбце Значение нового секрета — это ваш пароль. Сохраните это значение.
После создания нового субъекта-службы необходимо назначить разрешения, чтобы субъект-служба могла получить доступ к учетной записи Microsoft Purview. Разрешения, которые необходимо назначить, зависят от того, используете ли вы классический интерфейс Microsoft Purview или новый портал Microsoft Purview.
Выберите вкладку для используемого интерфейса.
Перейдите на портал управления Microsoft Purview.
Выберите Карту данных в меню слева.
Выберите Коллекции.
Выберите корневую коллекцию в меню коллекции. Это верхняя коллекция в списке и будет иметь то же имя, что и ваша учетная запись Microsoft Purview.
Примечание
Вы также можете назначить разрешение субъекта-службы любым вложенным коллекциям, а не корневой коллекции. Однако все API-интерфейсы будут ограничены этой коллекцией (и вложенными коллекциями, наследующими разрешения), и пользователи, пытающиеся вызвать API для другой коллекции, получат ошибки.
Перейдите на вкладку Назначения ролей .
Назначьте роль куратора данных субъекту-службе, созданному ранее. Подробные инструкции см. в статье Назначение ролей Azure с помощью портала управления Microsoft Purview.
После назначения разрешений необходимо собрать маркер проверки подлинности.
Отправьте запрос POST по следующему URL-адресу, чтобы получить маркер доступа:
https://login.microsoftonline.com/{your-tenant-id}/oauth2/token
Идентификатор клиента можно найти, выполнив поиск по запросу Свойства клиента в портал Azure. Идентификатор доступен на странице свойств клиента.
В указанный выше URL-адрес необходимо передать следующие параметры:
- client_id: идентификатор клиента приложения, зарегистрированного в Azure Active Directory и назначенного роли плоскости данных для учетной записи Microsoft Purview.
- client_secret: секрет клиента, созданный для указанного выше приложения.
- grant_type: это должно быть "client_credentials".
- ресурс: это должно быть "https://purview.azure.net"
Ниже приведен пример запроса POST в PowerShell:
$tenantID = "12a345bc-67d1-ef89-abcd-efg12345abcde" $url = "https://login.microsoftonline.com/$tenantID/oauth2/token" $params = @{ client_id = "a1234bcd-5678-9012-abcd-abcd1234abcd"; client_secret = "abcd~a1234bcd56789012abcdabcd1234abcd"; grant_type = "client_credentials"; resource = ‘https://purview.azure.net’ } Invoke-WebRequest $url -Method Post -Body $params -UseBasicParsing | ConvertFrom-Json
Пример маркера ответа:
{ "token_type": "Bearer", "expires_in": "86399", "ext_expires_in": "86399", "expires_on": "1621038348", "not_before": "1620951648", "resource": "https://purview.azure.net", "access_token": "<<access token>>" }
Совет
Если появляется сообщение об ошибке: Активация маркера между источниками разрешена только для типа клиента "Одностраничное приложение".
- Проверьте заголовки запроса и убедитесь, что запрос не содержит заголовок origin.
- Убедитесь, что для URI перенаправления задано значение Web в субъекте-службе.
- Если вы используете такое приложение, как Postman, убедитесь, что ваше программное обеспечение обновлено.
Используйте указанный выше маркер доступа для вызова API плоскости данных.
Теперь, когда у вас есть маркер и вы можете пройти проверку подлинности, вы можете создать ресурсы.
Важно!
Конечные точки URL-адреса запроса зависят от используемого интерфейса Microsoft Purview: классического интерфейса Microsoft Purview или нового портала Microsoft Purview.
Ниже приведен пример, который можно использовать для создания сущностей для ресурсов Azure. В этом примере рассматривается учетная запись хранения Azure, но ее можно использовать для любых других источников Azure.
Важно!
Чтобы использовать этот пример для ресурсов Azure, замените следующие значения в полезных данных:
- Typename
- Владелец
- qualifiedName
- name
- Идентификатор эксперта
- Информация эксперта
- Идентификатор владельца
- Сведения о владельце
- Createdby
- Обновлено
URL-адрес запроса: https://{accountName}.purview.azure.com/catalog/api/atlas/v2/entity
Метод: POST
Проверка подлинности. Используйте маркер из предыдущего шага в качестве маркера носителя.
Пример полезных данных:
{
"referredEntities": {},
"entity": {
"typeName": "azure_storage_account",
"attributes": {
"owner": "ExampleOwner",
"modifiedTime": 0,
"createTime": 0,
"qualifiedName": "https://exampleaccount.core.windows.net",
"name": "ExampleStorageAccount",
"description": null,
"publicAccessLevel": null
},
"contacts": {
"Expert": [
{
"id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2d2",
"info": "Example Expert Info"
}
],
"Owner": [
{
"id": " 30435ff9-9b96-44af-a5a9-e05c8b1ae2d2",
"info": "Example Owner Info"
}
]
},
"status": "ACTIVE",
"createdBy": "ExampleCreator",
"updatedBy": "ExampleUpdator",
"version": 0
}
}
Ниже приведен пример, который можно использовать для создания сущностей для многооблачных ресурсов. В этом примере создается ресурс Snowflake, но его можно использовать для любых других источников.
Важно!
Чтобы использовать этот пример для ресурсов Azure, замените следующие значения в полезных данных:
- Typename
- Владелец
- qualifiedName
- name
- type
- Идентификатор эксперта
- Информация эксперта
- Идентификатор владельца
- Сведения о владельце
- Createdby
- Обновлено
URL-адрес запроса: https://{accountName}.purview.azure.com/catalog/api/atlas/v2/entity
Метод: POST
Проверка подлинности. Используйте маркер из предыдущего шага в качестве маркера носителя.
Пример полезных данных:
{
"referredEntities": {},
"entity": {
"typeName": "snowflake_table",
"attributes": {
"owner": "ExampleOwner",
"modifiedTime": 0,
"createTime": 0,
"qualifiedName": "snowflake://microsoft_partner.east-us-2.azure.snowflakecomputing.com/databases/AZUREPURVIEW_TESTDB/schemas/COMPANY/tables/PROJECT_INFO",
"name": "PROJECT_INFO",
"description": null,
"type": "TABLE"
},
"contacts": {
"Expert": [
{
"id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2d2",
"info": "Example Expert Info"
}
],
"Owner": [
{
"id": "4b27e65f-6a15-4925-a4ef-2e640445079b",
"info": "Example Owner Info"
}
]
},
"status": "ACTIVE",
"createdBy": "ExampleCreator",
"updatedBy": "ExampleUpdator",
"version": 0
}
}