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


Автентифікація

У цій статті наведено огляд настроювання автентифікації для різноманітних засобів програмування.

Зареєструвати клієнтську заявку в Microsoft Entra ID

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

Додаткові параметри автентифікації

На порталі Azure перейдіть до нещодавно створеної клієнтської програми і виберіть вкладку Керування — автентифікація. У розділі Додаткові налаштування встановіть для параметру Загальнодоступний клієнт значення Так. Це гарантуватиме, що ви можете отримати JSON Web Token (JWT) за допомогою простої автентифікації за іменем та паролем користувача. Цей тип автентифікації є обов'язковим для інтерактивних програм, які можна створювати, а також для реєстрації запису принципала служби в Microsoft Power Platform.

Дозволи API

На порталі Azure перейдіть до вкладки Керування — дозволи API. У розділі Налаштування дозволів виберіть Додати дозвіл. У діалоговому вікні, що відкриється, виберіть API, що використовує моя організація і виконайте пошук Служба Power Apps (або служба PowerApps). Можна переглянути кілька записів з іменем, подібним до цього, тому слід використовувати один із GUID 475226c6-020e-4fb2-8a90-7a972cbfc1d4. Додайте всі делеговані дозволи, наприклад параметр Дозволи користувача – доступ до API служби Power Apps.

Після додавання цього до клієнтської програми виберіть Надати згоду адміністратора на завершення встановлення. Це необхідно для екземплярів, де ви хочете почати користуватися засобом, наприклад REST APIs, які не мають графічного інтерфейсу користувача (GUI), який може запитувати згоду для кожного використання.

Сертифікати та секретні ключі

На порталі Azure перейдіть на вкладку Керування — сертифікати та секретні ключі. У розділі Сертифікати завантажте сертифікат x509, який можна використовувати для автентифікації. Крім того, за допомогою розділу Секретні ключі можна створити секретний ключ клієнта. Збережіть секретний ключ у безпечному місці для використання для потреб автоматизації. Параметри сертифіката або секрету дозволять вам пройти автентифікацію та Microsoft Entra отримати токен для цього клієнта, який ви передасте або до API REST, або до командлетів PowerShell.

Отримання маркера для автентифікації за іменем і паролем користувача

Надішліть запит POST через HTTP to Microsoft Entra ID з набором корисних даних імені користувача та пароля.

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://service.powerapps.com//.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password

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

{
  "token_type": "Bearer",
  "scope": "https://service.powerapps.com//User https://service.powerapps.com//.default",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOi...UBkeW5hbWljc2F4ZGVtby5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiI1Q1Fnb25PR0dreWlTc1I2SzR4TEFBIiwidmVyIjoiMS4wIn0.N_oCJiEz2tRU9Ls9nTmbZF914MyU_u7q6bIUJdhXd9AQM2ZK-OijiKtMGfvvVmTYZp4C6sgkxSt0mOGcpmvTSagSRDY92M2__p-pEuKqva5zxXXXmpC-t9lKYDlXRcKq1m5xv-q6buntnLrvZIdd6ReD3n3_pnGAa6OxU0s82f7DqAjSQgXR3hwq_NZOa0quCUN9X-TvpIYrJfVgQfVu0R189hWmUzbYpuoPrUMj2vQI_19gEHz_FryXolM4RMStugYrC0Z72ND5vFlGgvYhZfbWJRC6hGvQQin_eAASmmjLwhRBGMJd6IdbgEXAkFF2rFITFFtFY_4hrN3bvHsveg"
}

Використовуйте значення access_token у наступних викликах Power Platform API з використанням заголовку HTTP Авторизація.

Отримання маркера для автентифікації клієнта

Надішліть запит POST через HTTP на Microsoft Entra ідентифікатор із секретним набором корисних даних клієнта. Це часто називають автентифікацією принципала служби.

Важливо

Цим можна скористатися лише після того, як ви зареєстрували цей ідентифікатор клієнтської програми за допомогою Microsoft Power Platform відповідної документації PowerShell або REST .

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://service.powerapps.com//.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials

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

{
  "token_type": "Bearer",
  "scope": "https://service.powerapps.com//User https://service.powerapps.com//.default",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOi...UBkeW5hbWljc2F4ZGVtby5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiI1Q1Fnb25PR0dreWlTc1I2SzR4TEFBIiwidmVyIjoiMS4wIn0.N_oCJiEz2tRU9Ls9nTmbZF914MyU_u7q6bIUJdhXd9AQM2ZK-OijiKtMGfvvVmTYZp4C6sgkxSt0mOGcpmvTSagSRDY92M2__p-pEuKqva5zxXXXmpC-t9lKYDlXRcKq1m5xv-q6buntnLrvZIdd6ReD3n3_pnGAa6OxU0s82f7DqAjSQgXR3hwq_NZOa0quCUN9X-TvpIYrJfVgQfVu0R189hWmUzbYpuoPrUMj2vQI_19gEHz_FryXolM4RMStugYrC0Z72ND5vFlGgvYhZfbWJRC6hGvQQin_eAASmmjLwhRBGMJd6IdbgEXAkFF2rFITFFtFY_4hrN3bvHsveg"
}

Використовуйте значення access_token у наступних викликах Power Platform API з використанням заголовку HTTP Авторизація.

Див. також

Підготовча версія: створення програми принципала служби через API