Белешка
Приступ овој страници захтева ауторизацију. Можете покушати да се пријавите или промените директоријуме.
Приступ овој страници захтева ауторизацију. Можете покушати да промените директоријуме.
Овај чланак даје преглед Мицрософт Ентра подешавања за позивање Повер Платформ АПИ-ја. Да бисте приступили ресурсима доступним преко Повер Платформ АПИ-ја, морате добити токен носиоца од Мицрософт Ентра и послати га као заглавље заједно са сваким захтевом. У зависности од типа идентитета који подржавате (корисник у односу на главницу услуге) постоје различити токови за добијање овог токена носиоца, као што је описано у овом чланку.
Да бисте добили носиоца токен са исправним дозволама, завршите следеће кораке:
- Креирајте регистрацију апликације у вашем Мицрософт Ентра тенанту
- Конфигуришите АПИ дозволе
- Конфигуришите платформу и преусмерите УРИ
- (Опционо) Конфигуришите сертификате и тајне
- Захтев за приступни токен
Корак 1. Креирајте регистрацију апликације у свом Microsoft Entra станару
- Идите на портал &лт;c0&гт;
Азуре &лт;/c0&гт;. - Изаберите Мицрософт Ентра ИД на врху странице. Затим изаберите + Додај > регистрацију апликације .
- Попуните страницу Региструјте апликацију :
- Име — Дајте апликацији препознатљиво име, као што је Поwер Платформ Админ СДК.
- Подржани типови налога — Изаберите Само један станар - < име > ваше компаније .
- Преусмери УРИ — Прескочите ово за сада. Конфигуришете га у кораку КСНУМКС.
- Изаберите Региструј да бисте креирали апликацију. Након што се регистрација заврши, забележите ИД апликације (клијента) и ИД директоријума (станара) са странице прегледа — касније су вам потребне обе вредности.
Такође можете креирати регистрацију помоћу Азуре ЦЛИ:
az login
az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg
Команда враћа ЈСОН објекат. Обратите пажњу на appId вредност — ова вредност је ваш ИД клијента.
2. корак Конфигурисање дозвола за API
У новој регистрацији апликације идите на картицу Управљање - АПИ дозволе . У одељку Конфигуриши дозволе изаберите Додај дозволу . У дијалогу изаберите картицу АПИ-ји које моја организација користи , а затим потражите Повер Платформ АПИ. Можда ћете видети неколико уноса са именом сличним овом, па се уверите да користите онај са ГУИД 8578e004-a5c6-46e7-913e-12f58912df43 .
Ако не видите Повер Платформ АПИ приказан на листи приликом претраживања по ГУИД-у, можда ћете и даље имати приступ њему, али видљивост се не освежава. Да бисте присилили освежавање, покрените следећу скрипту:
#Install the Microsoft Graph PowerShell SDK module
Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force
Connect-MgGraph
New-MgServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"
Одавде изаберите дозволе које су вам потребне. Ове дозволе су груписане по именским просторима . Унутар именског простора видите типове ресурса и акције, као што је АппМанагемент.АпплицатионПацкагес.Реад , који даје дозволе за читање пакета апликација. За више информација, погледајте референтни чланак о дозволама .
Белешка
Повер Платформ АПИ користи делегиране дозволе само у овом тренутку. За апликације које се покрећу са корисничким контекстом, затражите делегиране дозволе користећи параметар сцопе . Ове дозволе делегирају привилегије пријављеног корисника на вашу апликацију, тако да може да делује као корисник приликом позивања крајњих тачака Повер Платформ АПИ-ја.
За идентитете главнице услуге немојте користити дозволе апликација. Уместо тога, након што креирате регистрацију апликације, доделите јој РБАЦ улогу да бисте одобрили ограничене дозволе (као што су сарадник или читач ). За више информација, погледајте Водич: Додели РБАЦ улоге главницама сервиса .
Након што додате потребне дозволе у апликацију, изаберите Одобри сагласност администратора да бисте довршили подешавање. Давањем сагласности администратора, овлашћујете дозволе за све кориснике у закупцу, тако да се од њих не тражи интерактивни дијалог сагласности када први пут користе вашу апликацију. Ако више волите интерактивну сагласност по кориснику, пратите Мицрософт идентити платформ и ОАутх 2.0 проток ауторизацијског кода .
Такође можете дати сагласност администратора користећи Азуре ЦЛИ:
# Replace <app-id> with your application (client) ID
az ad app permission admin-consent --id <app-id>
3. корак Конфигуришите платформу и преусмерите УРИ
СДК -ови , ПоверСхелл скрипте и десктоп апликације које се аутентификују у име корисника захтевају УРИ за преусмеравање тако да Мицрософт Ентра може вратити токене назад у вашу апликацију након аутентификације.
У оквиру регистрације апликације, идите на Управљање - Аутентификација .
Изаберите Додај УРИ за преусмеравање , а затим изаберите Мобилне и десктоп апликације .
Изаберите следећи уграђени УРИ за преусмеравање:
https://login.microsoftonline.com/common/oauth2/nativeclientИзаберите Конфигуриши да бисте сачували.
Такође можете додати УРИ за преусмеравање помоћу Азуре ЦЛИ:
# Replace <app-id> with your application (client) ID
az ad app update --id <app-id> --public-client-redirect-uris https://login.microsoftonline.com/common/oauth2/nativeclient
Подешавање јавног клијента
У одељку Напредна подешавања на истој картици Аутентификација , постоји прекидач Дозволи токове јавних клијената . Подесите овај прекидач на Да само ако планирате да користите проток Ресоурце Оwнер Пассворд Цредентиалс (РОПЦ), који шаље корисничко име и лозинку директно у тело захтева за токен.
Овај ток не функционише за рачуне који имају омогућену вишефакторску аутентификацију. За интерактивне токове кода претраживача или уређаја, не морате да омогућите ову поставку.
4. корак (Опционо) Конфигуришите сертификате и тајне
Ако ваша апликација захтева ресурсе за читање и писање као сама, позната и као главни сервис , постоје два начина за аутентификацију. Да бисте користили сертификате, идите на Управљање - Сертификати и тајне . У одељку Сертификати отпремите кКСНУМКС сертификат који можете користити за аутентификацију.
Други начин је да користите одељак Тајне за генерисање тајне клијента. Сачувајте тајну на сигурном месту за употребу са вашим потребама за аутоматизацијом. Сертификат или тајне опције вам омогућавају да потврдите аутентичност са Мицрософт Ентра и примите токен за овог клијента, који прослеђујете било РЕСТ АПИ-јима или ПоверСхелл цмдлетима.
Корак 5. Затражите токен за приступ
Можете добити приступни носиоц токен на два начина: један начин је за корисничко име и лозинку, а други начин је за принципе услуга.
Ток за корисничко име и лозинку
Обавезно прочитајте одељак за јавног клијента . Затим пошаљите ПОСТ захтев преко ХТТП-а на Microsoft Entra ИД са корисничким именом и лозинком.
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://api.powerplatform.com/.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password
Претходни пример садржи држаче места која можете преузети из клијентске апликације у Мицрософт Ентра ИД-у. Добијате одговор који можете користити за накнадне позиве на Повер Платформ АПИ.
{
"token_type": "Bearer",
"scope": "https://api.powerplatform.com/AppManagement.ApplicationPackages.Install https://api.powerplatform.com/AppManagement.ApplicationPackages.Read https://api.powerplatform.com/.default",
"expires_in": 4747,
"ext_expires_in": 4747,
"access_token": "eyJ0eXAiOiJKV1QiLCJu..."
}
Користите вредност access_token у наредним позивима за Power Platform API помоћу HTTP заглавља Authorization.
Сервисни главни ток
Обавезно прочитајте Конфигуришите сертификате и тајне одељак. Затим пошаљите ПОСТ захтев преко ХТТП-а на Microsoft Entra ИД са корисним теретом тајне клијента. Овај метод аутентификације се често назива аутентификација главнице услуге.
Важно
Пре коришћења аутентификације главнице услуге, довршите кораке КСНУМКС-КСНУМКС раније у овом чланку да бисте креирали и конфигурисали регистрацију апликације са сертификатом или тајном клијента. Затим доделите главници услуге РБАЦ улогу да бисте контролисали ниво приступа. Да бисте сазнали више, погледајте Водич: Доделите РБАЦ улоге главницима услуга .
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://api.powerplatform.com/.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials
Претходни пример садржи држаче места која можете преузети из клијентске апликације у Мицрософт Ентра ИД-у. Добијате одговор који можете користити за накнадне позиве на Повер Платформ АПИ.
{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1..."
}
Користите вредност access_token у наредним позивима за Power Platform API помоћу HTTP заглавља Authorization. Ефективне дозволе главног сервиса одређују се улогом РБАЦ-а која му је додељена. Да бисте сазнали како да доделите улогу, погледајте Водич: Доделите РБАЦ улоге принципалима услуге .
Брзи почетак са Азуре ЦЛИ
Следећа скрипта креира регистрацију апликације од краја до краја. Покрените сваку команду по редоследу и замените вредности замена са својим.
# Sign in to Azure CLI
az login
# Create the app registration (single tenant)
az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg
# Save the app ID from the output, then create a service principal for it
az ad sp create --id <app-id>
# Add a delegated permission (example: AppManagement.ApplicationPackages.Read)
# The --api value is the Power Platform API app ID.
# The --api-permissions value is the permission ID and type (Scope = delegated).
# Repeat this command for each permission you need. See the Permission reference for IDs.
az ad app permission add --id <app-id> \
--api 8578e004-a5c6-46e7-913e-12f58912df43 \
--api-permissions <permission-id>=Scope
# Grant admin consent so users aren't prompted individually
az ad app permission admin-consent --id <app-id>
# Add the native client redirect URI for interactive auth
az ad app update --id <app-id> \
--public-client-redirect-uris https://login.microsoftonline.com/common/oauth2/nativeclient
Након покретања ових команди, можете користити регистрацију апликације са СДК-овима, ПоверСхелл-ом или директним РЕСТ позивима. Да бисте потражили ИД дозвола за --api-permissions параметар, погледајте референцу дозволе .
Решавање уобичајених проблема
Грешке "Потребна је сагласност" или "потребно је одобрење администратора"
Ова грешка се јавља када администратор није пристао на АПИ дозволе за регистрацију апликације. Идите на Регистрације > апликација > апликације и изаберите Одобри сагласност администратора .
Алтернативно, покрените:
az ad app permission admin-consent --id <app-id>
"Корисник није додељен улози за апликацију" грешке
Ова грешка значи да је апликација предузећа повезана са регистрацијом ваше апликације имала потребан задатак корисника подешен на Да . Када је ово подешавање омогућено, само корисници или групе експлицитно додељене апликацији могу да се пријаве. Да бисте поправили ову грешку, предузмите једну од следећих радњи:
- Идите на Мицрософт Ентра ИД > Ентерприсе апликације >> ваше апликације и подесите Задатак потребан на Не .
- Додајте релевантне кориснике или безбедносне групе под Корисници и групе .
Политике условног приступа блокирају приступ
Ако ваша организација примењује политике условног приступа, они могу блокирати стицање токена за регистрацију апликације. Уобичајени узроци укључују захтеве за усаглашеност уређаја, ограничења локације или политике засноване на ризику. Радите са својим Мицрософт Ентра администратором да бисте искључили регистрацију апликације из политике или осигурали да клијенти испуњавају захтеве политике.
"Повер Платформ АПИ" није пронађен у АПИ бирачу
Ако тражите Повер Платформ АПИ по имену или ГУИД-у у дијалогу АПИ дозвола не враћа резултате, главни сервис није креиран у вашем клијенту. Пратите кораке за освежавање силе у кораку КСНУМКС да бисте га креирали.
Потврдите аутентичност помоћу Повер Платформ СДК-ова и ПоверСхелл-а
Следећи примери показују како да потврдите аутентичност и направите узорак АПИ позива користећи сваки СДК и ПоверСхелл. Пре него што покренете ове примере, завршите кораке КСНУМКС-КСНУМКС раније у овом чланку да бисте креирали и конфигурисали регистрацију апликације.
Интерактивна аутентификација (делегирани корисник)
Интерактивна аутентификација отвара прозор претраживача за корисника да се пријави. Овај ток најбоље функционише за скрипте за програмере, администраторске алате и било који сценарио у којем је корисник присутан.
# Sign in interactively (opens a browser)
Connect-AzAccount
# Get an access token for the Power Platform API
$token = Get-AzAccessToken -ResourceUrl "https://api.powerplatform.com"
# Call the List Environments endpoint as an example
$headers = @{ Authorization = "Bearer $($token.Token)" }
$environments = Invoke-RestMethod -Uri "https://api.powerplatform.com/environmentmanagement/environments?api-version=2024-10-01" -Headers $headers
$environments.value | Format-Table name, properties.displayName
Поверљиви клијент (главни сервис)
Поверљива аутентификација клијента користи тајну клијента или сертификат и не захтева интеракцију корисника. Овај ток аутентификације је најбољи за позадинске услуге, цевоводе и аутоматизацију.
Важно
Пре коришћења аутентификације главнице услуге, завршите кораке КСНУМКС-КСНУМКС изнад да бисте креирали и конфигурисали регистрацију апликације са сертификатом или тајном клијента. Затим доделите главници услуге РБАЦ улогу да бисте контролисали ниво приступа. За више информација, погледајте Водич: Доделите РБАЦ улоге главницама услуга .
$tenantId = "YOUR_TENANT_ID"
$clientId = "YOUR_CLIENT_ID"
$clientSecret = "YOUR_CLIENT_SECRET"
# Request a token using client credentials
$body = @{
client_id = $clientId
scope = "https://api.powerplatform.com/.default"
client_secret = $clientSecret
grant_type = "client_credentials"
}
$tokenResponse = Invoke-RestMethod -Method Post `
-Uri "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" `
-ContentType "application/x-www-form-urlencoded" `
-Body $body
# Call the List Environments endpoint as an example
$headers = @{ Authorization = "Bearer $($tokenResponse.access_token)" }
$environments = Invoke-RestMethod -Uri "https://api.powerplatform.com/environmentmanagement/environments?api-version=2024-10-01" -Headers $headers
$environments.value | Format-Table name, properties.displayName
Повезани садржај
Водич : Доделите РБАЦ улоге главницама услуга
Контрола приступа заснована на улози за Повер Платформ админ центар
Референца дозволе