Sdílet prostřednictvím


Ověřování (Preview)

Tento článek poskytuje přehled nastavení Microsoft Entra pro volání rozhraní API Power Platform (Preview). Pro přístup ke zdrojům dostupným rozhraní API Power Platform musíte získat nosný token od Microsoft Entra a odeslat ho jako záhlaví spolu s každým požadavkem. V závislosti na typu identity, který podporujete (uživatel nebo instanční objekt), existují různé toky k získání tohoto nosného tokenu, jak je popsáno v tomto článku.

K získání nosného tokenu se správnými oprávněními jsou nutné následující kroky:

  1. Vytvoření registrace aplikace v tenantovi Microsoft Entra
  2. Konfigurace oprávnění API
  3. Konfigurace veřejného klienta (volitelné)
  4. Konfigurace certifikátů a tajných klíčů (volitelné)
  5. Vyžádání přístupového tokenu

Krok 1. Vytvoření registrace aplikace

Přejděte na stránku Registrace aplikace Microsoft Entra a vytvořte novou registraci. Pojmenujte aplikaci a ujistěte se, že je vybrána možnost Jediný tenant. Nastavení URI přesměrování můžete přeskočit.

Krok 2. Konfigurace oprávnění API

V rámci registrace nové aplikace přejděte na kartu Správa – Oprávnění API. V části Konfigurace oprávnění vyberte Přidat oprávnění. V dialogovém okně, které se otevře, vyberte kartu API, která používá moje organizace a poté vyhledejte API Power Platform. Může se zobrazit několik položek s názvem podobným tomuto, takže se ujistěte, že používáte ten s identifikátorem GUID 8578e004-a5c6-46e7-913e-12f58912df43.

Pokud nevidíte API Power Platform v seznamu při vyhledávání podle GUID, je možné, že k němu stále máte přístup, ale viditelnost není obnovena. K vynucení obnovení spusťte níže uvedený skript PowerShell:

#Install the Microsoft Entra the module
Install-Module AzureAD

Connect-AzureAD
New-AzureADServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"

Odtud musíte vybrat oprávnění, která požadujete. Tyto jsou seskupeny podle oborů názvů. V rámci oboru názvů uvidíte typy zdrojů a akcí, například AppManagement.ApplicationPackages.Read, který udělí oprávnění ke čtení pro balíčky aplikací. Další informace naleznete v článku Reference oprávnění.

Poznámka:

Platforma Power Platform v tuto chvíli využívá pouze delegovaná oprávnění. U aplikací, které běží s uživatelským kontextem, požadujete delegovaná oprávnění pomocí parametru scope. Tato oprávnění delegují oprávnění přihlášeného uživatele na vaši aplikaci, což jí umožňuje při volání koncových bodů API Power Platform vystupovat jako uživatel.

Pro identity instančního objektu se nepoužívají oprávnění aplikace. Místo toho se s instančními objekty dnes zachází jako se správci Power Platform a musí se zaregistrovat pomocí PowerShell – vytvoření instančního objektu.

Po přidání požadovaných oprávnění do aplikace vyberte Udělit souhlas správce pro dokončení nastavení. To je nezbytné pro případy, kdy chcete uživatelům umožnit přístup k vaší aplikaci hned, místo toho, abyste vyžadovali interaktivní prostředí pro získání souhlasu. Pokud můžete podporovat interaktivní souhlas, doporučujeme postupovat podle Toku platformy identity Microsoft a autorizačního kódu OAuth 2.0.

Krok 3. Konfigurace veřejného klienta (volitelné)

Pokud vaše aplikace vyžaduje čtení a zápis zdrojů jménem uživatele, musíte zapnout nastavení veřejného klienta. To je jediný způsob, jak Microsoft Entra ID přijme vlastnosti uživatelského jména a hesla v těle vaší žádosti o token. Také pokud plánujete používat tuto funkci, nebude fungovat pro účty, které mají povoleno vícefaktorové ověřování.

K aktivaci navštivte kartu Správa – Autentizace. V části Pokročilé nastavení nastavte přepínač Veřejný klient na Ano.

Krok 4. Konfigurace certifikátů a tajných klíčů (volitelné)

Pokud vaše aplikace vyžaduje čtení a zápis zdrojů jako sama – neboli je instanční objekt, existují dva způsoby ověření. Chcete-li použít certifikáty, přejděte na kartu Spravovat – Certifikáty a tajné klíče. V části Certifikáty nahrajte certifikát x509, který můžete použít k ověření. Dalším způsobem je použití části Tajné klíče pro vygenerování tajného klíče klienta. Uložte tajný kód na bezpečném místě, abyste jej mohli použít při automatizaci. Možnosti certifikátu nebo tajného kódu vám umožní provést ověření pomocí Microsoft Entra a získat token pro tohoto klienta, který předáte buď REST API nebo rutinám PowerShell.

Krok 5. Vyžádání přístupového tokenu

Přístupový token lze získat dvěma způsoby. Jeden je pro uživatelské jméno a heslo a druhý je pro instanční objekt.

Tok uživatelského jména a hesla

Nezapomeňte si přečíst část Veřejný klient výše. Poté odešlete požadavek POST přes HTTP na Microsoft Entra ID s uživatelským jménem a heslem.

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

Výše uvedený příklad obsahuje zástupné symboly, které můžete načíst z klientské aplikace v Microsoft Entra ID. Obdržíte odpověď, kterou lze použít k uskutečnění dalších volání rozhraní Power Platform API.

{
  "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..."
}

Hodnotu access_token použijte v následných voláních rozhraní Power Platform API prostřednictvím záhlaví HTTP Ověřování.

Tok s instančním objektem

Nezapomeňte si přečíst část Certifikáty a tajné klíče výše. Poté odešlete požadavek POST přes HTTP na Microsoft Entra ID s datovou části s tajným klíčem klienta. Toto se často označuje jako ověřování instančního objektu.

Důležité

Toto lze použít pouze poté, co zaregistrujete toto ID klientské aplikace pomocí Microsoft Power Platform podle související dokumentace PowerShell nebo 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

Výše uvedený příklad obsahuje zástupné symboly, které můžete načíst z klientské aplikace v Microsoft Entra ID. Obdržíte odpověď, kterou lze použít k uskutečnění dalších volání rozhraní Power Platform API.

{
  "token_type": "Bearer",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOiJKV1..."
}

Hodnotu access_token použijte v následných voláních rozhraní Power Platform API prostřednictvím záhlaví HTTP Ověřování. Jak je uvedeno výše, tok s instančním objektem nepoužívá oprávnění aplikace a místo toho je prozatím považován za správce Power Platform pro všechna volání, která uskutečňuje.

Viz také

Vytvoření aplikace instančního objektu prostřednictvím rozhraní API (Preview)
PowerShell – vytvoření instančního objektu