Uwierzytelnianie (wersja zapoznawcza)
Ten artykuł zawiera przegląd uprawnień granularnych API Microsoft Entra do połączeń Power Platform (wersja zapoznawcza). Aby uzyskać dostęp do zasobów dostępnych przez API Power Platform, musisz uzyskać token na okaziciela z Microsoft Entra i wysłać go jako nagłówek wraz z każdym żądaniem. W zależności od typu tożsamości, który jest obsługiwany (użytkownik a nazwa główna usługi) istnieją różne przepływy, które można uzyskać dla tego tokenu, zgodnie z opisem w tym artykule.
Aby uzyskać token na okaziciela z odpowiednimi uprawnieniami, należy wykonać następujące kroki:
- Utwórz rejestrację aplikacji w dzierżawie Microsoft Entra
- Konfiguracja uprawnień API
- Konfigurowanie klienta publicznego (opcjonalnie)
- Konfigurowanie certyfikatów i kluczy tajnych (opcjonalnie)
- Poproś o token dostępu
Krok 1. Utwórz rejestrację aplikacji
Przejdź na stronę Rejestracja aplikacji Microsoft Entra i utwórz nową rejestrację. Nadaj aplikacji nazwę i upewnij się, że wybrana jest opcja Pojedyncza dzierżawa. Możesz pominąć konfigurację URI przekierowania.
Krok 2. Konfiguracja uprawnień API
Podczas rejestracji nowej aplikacji przejdź do zakładki Zarządzanie – Uprawnienia API. W sekcji Konfiguruj uprawnienia wybierz Dodaj uprawnienie. W otwartym oknie dialogowym wybierz zakładkę API, których używa moja organizacja, a następnie wyszukaj API Power Platform. Może się pojawić kilka wpisów o nazwie podobnej do tej, więc należy się upewnić, że wybrane zostaną odpowiednie dane z identyfikatorem GUID 8578e004-a5c6-46e7-913e-12f58912df43.
Jeśli podczas wyszukiwania według identyfikatora GUID nie jest widoczny na liście interfejs API Power Platform, możliwe jest, że nadal masz do niego dostęp, ale widoczność nie jest odświeżana. Aby wymusić odświeżenie, wykonaj poniższy skrypt PowerShell:
#Install the Microsoft Entra the module
Install-Module AzureAD
Connect-AzureAD
New-AzureADServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"
Z tego miejsca musisz wybrać uprawnienia, których potrzebujesz. Są one pogrupowane według obszarów nazw. W obszarze nazw są dostępne typy zasobów i akcje, na przykład AppManagement.ApplicationPackages.Read, którym należy nadać uprawnienia do odczytu pakietów aplikacji. Więcej informacji można znaleźć w artykule Odwołania do uprawnień.
Uwaga
API Power Platform korzysta na razie tylko z uprawnień delegowanych. W aplikacjach, które działają w kontekście użytkownika, żądasz uprawnień delegowanych, używając parametru Zakres. Uprawnienia te delegują uprawnienia zalogowanego użytkownika do twojej aplikacji, pozwalając jej działać jako użytkownik podczas wywoływania punktów końcowych API Power Platform.
Dla tożsamości jednostki usługi nie są używane uprawnienia aplikacji. Zamiast tego jednostki usługi są dziś traktowane jak administratorzy Power Platform i muszą być zarejestrowane przez PowerShell – Utwórz jednostkę usługi.
Po dodaniu wymaganych uprawnień do aplikacji wybierz Udziel zgody administratora, aby zakończyć konfigurację. Jest to konieczne w przypadkach, gdy chcesz umożliwić użytkownikom natychmiastowy dostęp do swojej aplikacji, zamiast wymagać interaktywnej zgody. Jeśli możesz obsługiwać zgodę interaktywną, zalecamy skorzystanie z platformy tożsamości i Microsoft przepływu kodu autoryzacji OAuth 2.0.
Krok 3. Konfigurowanie klienta publicznego (opcjonalnie)
Jeśli aplikacja wymaga odczytu i zapisu zasobów w imieniu użytkownika, musisz włączyć ustawienie Klient publiczny. Jest to jedyny sposób akceptowania właściwości nazwy użytkownika i hasła Microsoft Entra ID w treści żądania tokenu. Należy również zauważyć, że jeśli planujesz używanie tej funkcji, nie będzie ona działać w przypadku klientów, dla których włączono uwierzytelnianie wieloetapowe.
Aby włączyć tę funkcję, odwiedź zakładkę Zarządzanie – Uwierzytelnianie. W sekcji Zaawansowane ustawienia ustaw przełącznik Klient publiczny na Tak.
Krok 4. Konfigurowanie certyfikatów i kluczy tajnych (opcjonalnie)
Jeśli aplikacja wymaga odczytu i zapisu zasobów jako własnych — nazywanych również podmiotem usługi — istnieją dwa sposoby uwierzytelniania. Aby użyć certyfikatów, przejdź do zakładki Zarządzanie – Certyfikaty i sekrety. W sekcji Certyfikaty załaduj certyfikat x509, którego będziesz mógł używać 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 tokenu umożliwiają uwierzytelnienie w programie Microsoft Entra i odbieranie tokenu dla tego klienta, który jest przekazany dalej do interfejsów API REST lub programu PowerShell cmdlets.
Krok 5. Poproś o token dostępu
Istnieją dwa sposoby uzyskania tokena na okaziciela dostępu. Jeden z nich jest przeznaczony dla nazwy użytkownika i hasła, a drugi dla jednostki usługi.
Przepływ nazwy użytkownika i hasła
Koniecznie przeczytaj powyższą sekcję klient publiczny. 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 klienta w programie Microsoft Entra ID. Otrzymasz odpowiedź, która może służyć do kolejnych wywołań interfejsu API 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
Koniecznie przeczytaj powyższą sekcję Certyfikaty i klucze tajne. Następnie wyślij żądanie POST przez HTTP do Microsoft Entra ID z kluczem tajnym klienta. Jest często nazywany uwierzytelnianiem głównym usługi.
Ważne
Można go używać tylko po zarejestrowaniu tego identyfikatora aplikacji klienckiej z Microsoft Power Platform zgodnie z powiązaną dokumentacją PowerShell lub 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://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 klienta w programie Microsoft Entra ID. Otrzymasz odpowiedź, która może służyć do kolejnych wywołań interfejsu API 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. Jak wspomniano powyżej, przepływ Główna usługa nie korzysta z uprawnień aplikacji i jest teraz traktowany jako Administrator Power Platform dla wszystkich wywołań.
Zobacz też
Tworzenie aplikacji jednostki usługi za pośrednictwem interfejsu API (wersja zapoznawcza)
PowerShell — tworzenie jednostki usługi