Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera omówienie konfiguracji usługi Microsoft Entra na potrzeby wywoływania interfejsu API platformy Power Platform. Aby uzyskać dostęp do zasobów dostępnych za pośrednictwem interfejsu API platformy Power Platform, musisz uzyskać token elementu nośnego od firmy Microsoft Entra i wysłać go jako nagłówek wraz z każdym żądaniem. W zależności od obsługiwanego typu tożsamości (użytkownika a jednostki usługi) istnieją różne przepływy umożliwiające uzyskanie tego tokenu elementu nośnego zgodnie z opisem w tym artykule.
Aby uzyskać token elementu nośnego z odpowiednimi uprawnieniami, wykonaj następujące kroki:
- Tworzenie rejestracji aplikacji w dzierżawie firmy Microsoft Entra
- Konfigurowanie uprawnień interfejsu API
- Konfigurowanie identyfikatora URI platformy i przekierowania
- (Opcjonalnie) Konfigurowanie certyfikatów i wpisów tajnych
- Żądanie tokenu dostępu
Krok 1. Utwórz rejestrację aplikacji w dzierżawie Microsoft Entra
- Przejdź do portalu Azure.
- Wybierz pozycję Microsoft Entra ID w górnej części strony. Następnie wybierz pozycję + Dodaj>rejestrację aplikacji.
- Wypełnij stronę Rejestrowanie aplikacji :
- Nazwa — nadaj aplikacji rozpoznawalną nazwę, taką jak zestaw SDK administratora platformy Power Platform.
- Obsługiwane typy kont — wybierz tylko jedną dzierżawę — <nazwę> firmy.
- Identyfikator URI przekierowania — pomiń go na razie. Należy go skonfigurować w kroku 3.
- Wybierz pozycję Zarejestruj, aby utworzyć aplikację. Po zakończeniu rejestracji zanotuj identyfikator aplikacji (klienta) i identyfikator katalogu (dzierżawy) ze strony przeglądu — obie wartości będą potrzebne później.
Rejestrację można również utworzyć przy użyciu interfejsu wiersza polecenia platformy Azure:
az login
az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg
Polecenie zwraca obiekt JSON. Zanotuj appId wartość — ta wartość to identyfikator klienta.
Krok 2. Konfiguracja uprawnień API
W nowej rejestracji aplikacji przejdź do karty Zarządzanie — uprawnienia interfejsu API . W sekcji Konfigurowanie uprawnień wybierz pozycję Dodaj uprawnienie. W oknie dialogowym wybierz kartę Interfejsy API używane przez moją organizację , a następnie wyszukaj interfejs API platformy Power Platform. Może zostać wyświetlonych kilka wpisów o nazwie podobnej do tej, dlatego upewnij się, że używasz go z identyfikatorem GUID 8578e004-a5c6-46e7-913e-12f58912df43.
Jeśli nie widzisz interfejsu API platformy Power Platform wyświetlanego na liście podczas wyszukiwania według identyfikatora GUID, nadal możesz mieć do niego dostęp, ale widoczność nie jest odświeżona. Aby wymusić odświeżenie, uruchom następujący skrypt:
#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"
W tym miejscu wybierz potrzebne uprawnienia. Te uprawnienia są grupowane według przestrzeni nazw. W przestrzeni nazw są widoczne typy zasobów i akcje, takie jak AppManagement.ApplicationPackages.Read, które dają uprawnienia do odczytu dla pakietów aplikacji. Aby uzyskać więcej informacji, zobacz artykuł Dokumentacja uprawnień .
Uwaga
Interfejs API platformy Power Platform używa uprawnień delegowanych tylko w tej chwili. W przypadku aplikacji uruchamianych z kontekstem użytkownika zażądaj delegowanych uprawnień przy użyciu parametru zakresu . Te uprawnienia delegują uprawnienia zalogowanego użytkownika do aplikacji, aby mógł działać jako użytkownik podczas wywoływania punktów końcowych interfejsu API platformy Power Platform.
W przypadku tożsamości jednostki usługi nie używaj uprawnień aplikacji. Zamiast tego po utworzeniu rejestracji aplikacji przypisz jej rolę RBAC, aby udzielić uprawnień o określonym zakresie (takich jak Współautor lub Czytelnik). Aby uzyskać więcej informacji, zobacz Samouczek: przypisywanie ról RBAC do jednostek usługi.
Po dodaniu wymaganych uprawnień do aplikacji wybierz pozycję Udziel zgody administratora , aby ukończyć instalację. Udzielając zgody administratora, autoryzujesz uprawnienia dla wszystkich użytkowników w dzierżawie, aby nie były monitowane za pomocą interakcyjnego okna dialogowego zgody przy pierwszym użyciu aplikacji. Jeśli wolisz interaktywną zgodę na użytkownika, postępuj zgodnie z procedurą platformy tożsamości firmy Microsoft i przepływem kodu autoryzacji OAuth 2.0.
Możesz również udzielić zgody administratora przy użyciu interfejsu wiersza polecenia platformy Azure:
# Replace <app-id> with your application (client) ID
az ad app permission admin-consent --id <app-id>
Krok 3. Konfigurowanie identyfikatora URI platformy i przekierowania
Zestawy SDK, skrypty programu PowerShell i aplikacje klasyczne uwierzytelniające się w imieniu użytkownika wymagają identyfikatora URI przekierowania, aby firma Microsoft Entra mogła zwracać tokeny z powrotem do aplikacji po uwierzytelnieniu.
W ramach rejestracji aplikacji przejdź do obszaru Zarządzanie — uwierzytelnianie.
Wybierz pozycję Dodaj identyfikator URI przekierowania, a następnie wybierz pozycję Aplikacje mobilne i klasyczne.
Wybierz następujący wbudowany identyfikator URI przekierowania:
https://login.microsoftonline.com/common/oauth2/nativeclientWybierz pozycję Konfiguruj , aby zapisać.
Możesz również dodać identyfikator URI przekierowania przy użyciu interfejsu wiersza polecenia platformy Azure:
# 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
Ustawienie klienta publicznego
W sekcji Ustawienia zaawansowane na tej samej karcie Uwierzytelnianie znajduje się przełącznik Zezwalaj na przepływy klientów publicznych . Ustaw ten przełącznik na Wartość Tak tylko wtedy, gdy planujesz użyć przepływu Poświadczeń hasła właściciela zasobu (ROPC), który wysyła nazwę użytkownika i hasło bezpośrednio w treści żądania tokenu.
Ten przepływ nie działa w przypadku kont z włączonym uwierzytelnianiem wieloskładnikowego. W przypadku przepływów kodu przeglądarki interaktywnej lub urządzenia nie trzeba włączać tego ustawienia.
Krok 4. (Opcjonalnie) Konfigurowanie certyfikatów i wpisów tajnych
Jeśli aplikacja wymaga samodzielnego odczytywania i zapisywania zasobów, nazywanych również jednostką usługi, istnieją dwa sposoby uwierzytelniania. Aby użyć certyfikatów, przejdź do pozycji Zarządzanie — certyfikaty i wpisy tajne. W sekcji Certyfikaty przekaż certyfikat x509, którego można użyć do uwierzytelniania.
Innym sposobem jest użycie sekcji Klucze tajne do wygenerowania klucza tajnego klienta. Zapisz dane w bezpiecznej lokalizacji, aby można je było używać w ramach potrzeb automatyzacji. Opcje certyfikatu lub wpisu tajnego umożliwiają uwierzytelnianie w usłudze Microsoft Entra i odbieranie tokenu dla tego klienta, który jest przekazywany do interfejsów API REST lub poleceń cmdlet programu PowerShell.
Krok 5. Poproś o token dostępu
Token elementu nośnego dostępu można uzyskać na dwa sposoby: jeden ze sposobów dotyczy nazwy użytkownika i hasła, a drugi jest przeznaczony dla jednostek usługi.
Przepływ nazwy użytkownika i hasła
Pamiętaj, aby przeczytać sekcję klienta publicznego. Następnie wyślij żądanie POST przez HTTP do Microsoft Entra ID z nazwą użytkownika i hasłem.
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
Powyższy przykład zawiera symbole zastępcze, które można pobrać z aplikacji klienckiej w usłudze Microsoft Entra ID. Otrzymasz odpowiedź, której można użyć do wykonania kolejnych wywołań interfejsu API platformy Power Platform.
{
"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..."
}
Użyj wartości access_token w kolejnych wywołaniach interfejsu API Power Platform, używając nagłówka autoryzacji protokołu HTTP.
Przepływ nazwy głównej usługi
Pamiętaj, aby przeczytać sekcję Konfigurowanie certyfikatów i wpisów tajnych . Następnie wyślij żądanie POST przez HTTP do Microsoft Entra ID z kluczem tajnym klienta. Ta metoda uwierzytelniania jest często nazywana uwierzytelnianiem jednostki usługi.
Ważne
Przed rozpoczęciem korzystania z uwierzytelniania jednostki usługi wykonaj kroki 1–4 wcześniej w tym artykule, aby utworzyć i skonfigurować rejestrację aplikacji przy użyciu certyfikatu lub klucza tajnego klienta. Następnie przypisz jednostce usługi rolę RBAC, aby kontrolować jej poziom dostępu. Aby dowiedzieć się więcej, zobacz Samouczek: przypisywanie ról RBAC do jednostek usługi.
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
Powyższy przykład zawiera symbole zastępcze, które można pobrać z aplikacji klienckiej w usłudze Microsoft Entra ID. Otrzymasz odpowiedź, której można użyć do wykonania kolejnych wywołań interfejsu API platformy Power Platform.
{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1..."
}
Użyj wartości access_token w kolejnych wywołaniach interfejsu API Power Platform, używając nagłówka autoryzacji protokołu HTTP. Obowiązujące uprawnienia jednostki usługi są określane przez przypisaną do niej rolę RBAC. Aby dowiedzieć się, jak przypisać rolę, zobacz Samouczek: przypisywanie ról RBAC do jednostek usługi.
Szybki start z interfejsem wiersza polecenia platformy Azure
Poniższy skrypt tworzy kompleksową rejestrację aplikacji. Uruchom każde polecenie w kolejności i zastąp wartości symboli zastępczych własnymi.
# 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
Po uruchomieniu tych poleceń możesz użyć rejestracji aplikacji z zestawami SDK, programem PowerShell lub bezpośrednimi wywołaniami REST. Aby wyszukać identyfikatory uprawnień dla parametru --api-permissions , zobacz informacje o uprawnieniach.
Rozwiązywanie typowych problemów
Błędy "Wymagana zgoda" lub "wymaga zatwierdzenia przez administratora"
Ten błąd występuje, gdy administrator nie wyraził zgody na uprawnienia interfejsu API do rejestracji aplikacji. Przejdź do pozycji Rejestracje> aplikacji Uprawnienia interfejsu API aplikacji > i wybierz pozycję Udziel zgody administratora.
Możesz również uruchomić:
az ad app permission admin-consent --id <app-id>
Błędy "Użytkownik nie jest przypisany do roli aplikacji"
Ten błąd oznacza, że aplikacja dla przedsiębiorstw skojarzona z rejestracją aplikacji ma ustawienie Wymagane przypisanie użytkownika ma wartość Tak. Po włączeniu tego ustawienia tylko użytkownicy lub grupy jawnie przypisane do aplikacji mogą się zalogować. Aby naprawić ten błąd, wykonaj jedną z następujących czynności:
- Przejdź do pozycji Microsoft Entra ID>Enterprise applications> your app Properties (Właściwości aplikacji>) i ustaw pozycję Przypisanie wymagane do wartości Nie.
- Dodaj odpowiednich użytkowników lub grupy zabezpieczeń w obszarze Użytkownicy i grupy.
Zasady dostępu warunkowego blokujące dostęp
Jeśli Twoja organizacja stosuje zasady dostępu warunkowego, może zablokować pozyskiwanie tokenów na potrzeby rejestracji aplikacji. Typowe przyczyny obejmują wymagania dotyczące zgodności urządzeń, ograniczenia lokalizacji lub zasady oparte na ryzyku. Skontaktuj się z administratorem firmy Microsoft Entra, aby wykluczyć rejestrację aplikacji z zasad lub upewnić się, że klienci spełniają wymagania zasad.
Nie można odnaleźć interfejsu API platformy Power Platform w selektorze interfejsu API
Jeśli wyszukiwanie interfejsu API platformy Power Platform według nazwy lub identyfikatora GUID w oknie dialogowym uprawnień interfejsu API nie zwraca żadnych wyników, jednostka usługi nie jest tworzona w dzierżawie. Wykonaj kroki wymuszania odświeżania w kroku 2 , aby go utworzyć.
Uwierzytelnianie przy użyciu zestawów SDK platformy Power Platform i programu PowerShell
W poniższych przykładach pokazano, jak uwierzytelniać się i wykonywać przykładowe wywołanie interfejsu API przy użyciu każdego zestawu SDK i programu PowerShell. Przed uruchomieniem tych przykładów wykonaj kroki 1–3 wcześniej w tym artykule, aby utworzyć i skonfigurować rejestrację aplikacji.
Uwierzytelnianie interakcyjne (delegowany użytkownik)
Uwierzytelnianie interakcyjne otwiera okno przeglądarki umożliwiające użytkownikowi zalogowanie się. Ten przepływ działa najlepiej w przypadku skryptów deweloperskich, narzędzi administracyjnych i dowolnego scenariusza, w którym użytkownik jest obecny.
# 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
Poufny klient (jednostka usługi)
Poufne uwierzytelnianie klienta używa klucza tajnego lub certyfikatu klienta i nie wymaga interakcji z użytkownikiem. Ten przepływ uwierzytelniania jest najlepszy w przypadku usług w tle, potoków i automatyzacji.
Ważne
Przed rozpoczęciem korzystania z uwierzytelniania jednostki usługi wykonaj kroki 1–4 powyżej, aby utworzyć i skonfigurować rejestrację aplikacji przy użyciu certyfikatu lub klucza tajnego klienta. Następnie przypisz jednostce usługi rolę RBAC, aby kontrolować jej poziom dostępu. Aby uzyskać więcej informacji, zobacz Samouczek: przypisywanie ról RBAC do jednostek usługi.
$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
Treści powiązane
Samouczek: przypisywanie ról RBAC do jednostek usługi
Kontrola dostępu oparta na rolach dla centrum administracyjnego platformy Power Platform
Dokumentacja uprawnień