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


Створення програми принципала служби за допомогою API (підготовча версія)

[Ця стаття стосується попередньої версії, і її буде змінено.]

Автентифікація за допомогою імені користувача та паролю часто не є ідеальною, особливо з поширенням багатофакторної автентифікації. У таких випадках бажано використовувати автентифікацію принципалу служби (або циклу облікових даних клієнта). Ви можете автентифікуватися за допомогою принципала служби, зареєструвавши нову програму в своєму Microsoft Entra клієнті, а потім зареєструвавши цю ж програму за допомогою Power Platform.

Нотатка

Інтерфейс Power Platform командного рядка забезпечує простіший спосіб. Дізнайтеся більше про створення програми керівника служби за допомогою PAC CLI.

Реєстрація програми для керування адміністраторами

По-перше, заявка клієнта повинна бути зареєстрована у вашого Microsoft Entra орендаря. Перегляньте статтю про автентифікацію для Power Platform API, щоб дізнатися, як це зробити.

Після того, як ваш клієнтський додаток зареєстрований в Microsoft Entra ID, його також потрібно зареєструвати в Microsoft Power Platform ID. Зараз це не можна зробити в центрі адміністрування Power Platform, це необхідно зробити за допомогою програмного налаштування в Power Platform API або PowerShell для адміністраторів Power Platform. Керівник служби не може зареєструватися. За задумом, адміністратор, використовуючи контекст імені користувача та пароля, повинен зареєструвати програму. Це обмеження гарантує, що лише той, хто є адміністратором заявки орендаря, реєструє програму.

Щоб зареєструвати нову програму керування, скористайтеся наведеним запитом із маркером на пред'явника, отриманим з використанням автентифікації за іменем та паролем.

PUT https://api.bap.microsoft.com/providers/Microsoft.BusinessAppPlatform/adminApplications/{CLIENT_ID_FROM_AZURE_APP}?api-version=2020-10-01
Host: api.bap.microsoft.com
Accept: application/json
Authorization: Bearer eyJ0eXAiOi...

Створіть запит як принципал служби

Тепер, коли керівника служби зареєстровано Microsoft Power Platform, ви можете пройти автентифікацію як самого керівника служби. Використовуйте наведений запит щоб подати запит на ваш список програм вашого керування. Цей запит може використовувати токен на пред’явника, отриманий за допомогою потоку автентифікації облікових даних клієнта:

GET https://api.bap.microsoft.com/providers/Microsoft.BusinessAppPlatform/adminApplications?api-version=2020-10-01
Host: api.bap.microsoft.com
Accept: application/json
Authorization: Bearer eyJ0eXAiOi...

Створення застосунку принципала служби за допомогою PAC CLI

Використовуйте Microsoft Power Platform CLI (PAC CLI) для додавання Microsoft Entra ідентифікатора програми (SPN) і пов’язаного користувача програми до Dataverse середовища. Команда admin create-service-principal створює Microsoft Entra ID application (SPN), а також реєструє його за допомогою Microsoft Power Platform.

pac admin create-service-principal  --environment <environment id>

Дізнайтеся більше про команду pac admin create-service-principal і про те, як встановити PAC CLI.

Обмеження принципалів служби

Наразі автентифікація принципалів служби працює для керування середовищем, настройок клієнта та керування Power Apps. API, пов’язані з Flow, підтримуються для автентифікації керівника служби в ситуаціях, коли ліцензія не потрібна, оскільки неможливо призначити ліцензії профілям керівника служби в Microsoft Entra ID.

Основні програми служб обробляються так само Power Platform , як звичайні користувачі з Power Platform призначеною роллю адміністратора. Не можна призначати детальні ролі та дозволи, щоб обмежити їхні можливості. Застосунок не отримує жодної спеціальної ролі, призначеної в Microsoft Entra ID, оскільки саме так сервіси платформи обробляють запити, зроблені керівниками сервісів.