Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud chcete zlepšit zabezpečení volání vašich rozhraní API, můžete nastavit ověřování Microsoft Entra prostřednictvím webu Azure Portal, abyste nemuseli aktualizovat kód. Nebo můžete vyžádat a vynutit ověřování prostřednictvím kódu API.
Ověřování můžete přidat následujícími způsoby:
Žádné změny kódu: Chraňte své rozhraní API pomocí ID Microsoft Entra prostřednictvím webu Azure Portal, takže nemusíte aktualizovat kód ani znovu nasadit rozhraní API.
Poznámka:
Ověřování Microsoft Entra, které vyberete na portálu Azure, ve výchozím nastavení nenabízí jemně odstupňovanou autorizaci. Toto ověřování například uzamkne vaše rozhraní API jenom na konkrétního tenanta, ne na konkrétního uživatele nebo aplikaci.
Aktualizujte kód rozhraní API: Chraňte své rozhraní API vynucováním ověřování certifikátu nebo ověřováním Microsoft Entra prostřednictvím kódu.
Ověřování volání do rozhraní API beze změny kódu
Tady jsou obecné kroky pro tuto metodu:
Vytvořte dvě identity aplikací Microsoft Entra (registrace aplikace): jednu pro prostředek aplikace logiky a jednu pro vaši webovou aplikaci (nebo aplikaci API).
K ověření volání rozhraní API použijte přihlašovací údaje (ID klienta a tajný klíč) pro služebního principála přidruženého k identitě aplikace Microsoft Entra pro vaši logickou aplikaci.
Do definice pracovního postupu aplikace logiky zahrňte ID aplikací.
Část 1: Vytvoření identity aplikace Microsoft Entra pro aplikaci logiky
Prostředek vaší aplikace logiky používá tuto identitu aplikace Microsoft Entra k ověření vůči ID Microsoft Entra. Tuto identitu musíte pro svého tenanta nastavit jenom jednou. Můžete například použít stejnou identitu pro všechny aplikace logiky, i když pro každou aplikaci logiky můžete vytvořit jedinečné identity. Tyto identity můžete nastavit na webu Azure Portal nebo použít PowerShell.
Ve vyhledávacím poli webu Azure Portal vyhledejte a vyberte ID Microsoft Entra.
Ověřte, že jste v rámci stejného tenantu jako vaše webová aplikace nebo aplikace API.
Tip
Pokud chcete přepnout tenanty, otevřete v záhlaví Azure svůj profil a vyberte Přepnout adresář.
V nabídce prostředků tenanta v části Spravovat vyberte Registrace aplikací.
Na stránce Registrace aplikací se zobrazí všechny registrace aplikací ve vašem tenantovi. Pokud chcete zobrazit jenom registrace aplikací, vyberte Vlastněné aplikace.
Na panelu nástrojů vyberte Nová registrace.
Na stránce Registrace aplikace postupujte takto:
Jako Název zadejte uživatelsky příjemný název pro identitu aplikace logiky.
V části Podporované typy účtů vyberte možnost, která nejlépe popisuje typy účtů, které můžou používat identitu aplikace nebo získat přístup k vašemu rozhraní API.
Pod Identifikátor URI přesměrování vyberte Web jako platformu. Vedle této možnosti zadejte jedinečnou adresu URL, kam má být vrácena odpověď na ověření.
Až budete hotovi, vyberte Zaregistrovat.
Na kartě Vlastněné aplikace se teď zobrazuje vytvořená identita aplikace. Pokud se tato identita nezobrazí, vyberte na panelu nástrojů možnost Aktualizovat.
V seznamu registrací aplikací vyberte novou identitu aplikace.
V navigační nabídce identit aplikace vyberte Přehled.
Na stránce Přehled zkopírujte a uložte ID aplikace (klienta), které se použije jako ID klienta pro vaši aplikaci logiky v části 3.
V nabídce Identita aplikace v části Spravovat vyberte Certifikáty a tajné kódy.
Na stránce Tajné kódy klienta vyberte Nový tajný klíč klienta.
V podokně Přidat tajný klíč klienta zadejte jako popis název tajného kódu. Pro vypršení platnosti vyberte dobu trvání tajného kódu. Až budete hotovi, vyberte Přidat.
Tajný klíč, který vytvoříte, funguje jako "tajný kód" nebo heslo identity aplikace logiky.
Na stránce Certifikáty a tajné kódy se teď na kartě Tajné kódy klienta zobrazí společně s hodnotou tajného kódu a ID tajného kódu.
Zkopírujte hodnotu tajného kódu pro pozdější použití. Při konfiguraci aplikace logiky v části 3 zadáte tuto hodnotu jako "tajný kód" nebo heslo.
Část 2: Vytvoření identity aplikace Microsoft Entra pro webovou aplikaci nebo aplikaci API
Pokud už je vaše webová aplikace nebo aplikace API nasazená, můžete zapnout ověřování a vytvořit identitu aplikace na webu Azure Portal. Jinak můžete zapnout ověřování při nasazování pomocí šablony Azure Resource Manageru.
Vytvoření identity aplikace pro nasazenou webovou aplikaci nebo aplikaci API na webu Azure Portal
Na webu Azure Portal vyhledejte a vyberte webovou aplikaci nebo aplikaci API.
V sekci Nastavení vyberte Ověřování>Přidat zprostředkovatele identity.
Po otevření podokna Přidat zprostředkovatele identity na kartě Základy, v seznamu zprostředkovatelů identity vyberte Microsoft pro použití identit Microsoft Entra, a pak klikněte na Přidat.
Teď vytvořte identitu aplikace pro webovou aplikaci nebo aplikaci API následujícím způsobem:
Jako typ registrace aplikace vyberte Vytvořit novou registraci aplikace.
Jako Název zadejte název vaší identity aplikace.
U podporovaných typů účtů vyberte typy účtů vhodné pro váš scénář.
Chcete-li omezit přístup, vyberte Vyžadovat ověření.
V případě neověřených požadavků vyberte možnost na základě vašeho scénáře.
Až budete hotovi, vyberte Přidat.
V části Zprostředkovatel identity se teď zobrazí nová identita aplikace pro vaši webovou aplikaci nebo aplikaci API:
Tip
Pokud se identita aplikace nezobrazí, vyberte na panelu nástrojů možnost Aktualizovat.
Teď musíte najít ID aplikace (klienta) a ID tenanta pro identitu aplikace, kterou jste právě vytvořili pro webovou aplikaci nebo aplikaci API. Tyto ID použijete v části 3. Pokračujte v následujících krocích pro Azure Portal.
Vyhledání ID klienta a ID tenanta identity aplikace pro webovou nebo API aplikaci v Azure Portal
V nabídce webové aplikace v části Spravovat vyberte Ověřování.
V části Zprostředkovatel identity vyhledejte dříve vytvořenou identitu aplikace. Vyberte název identity aplikace.
Na stránce Přehled vyhledejte hodnoty ID aplikace (klienta) a ID adresáře (tenanta). Zkopírujte a uložte hodnoty pro použití v části 3.
V případě potřeby můžete také použít identifikátor GUID ID tenanta ve webové aplikaci nebo šabloně nasazení aplikace API. Tento identifikátor GUID je GUID vašeho konkrétního tenanta ("ID tenanta") a měl by se zobrazit v této adrese URL:
https://sts.windows.net/<tenant-GUID>
Nastavení ověřování při nasazení pomocí šablony Azure Resource Manageru
Pokud používáte šablonu Azure Resource Manageru (šablonu ARM), musíte pro svou webovou aplikaci nebo aplikaci API vytvořit identitu aplikace Microsoft Entra, která se liší od identity aplikace logiky. Pokud chcete vytvořit identitu aplikace a pak najít ID klienta a ID tenanta, postupujte podle předchozích kroků v části 2 pro Azure Portal. V šabloně nasazení aplikace a také pro část 3 použijete ID klienta i ID tenanta.
Důležité
Když pro webovou aplikaci nebo aplikaci API vytvoříte identitu aplikace Microsoft Entra, musíte použít Azure Portal, nikoli PowerShell. Rutina PowerShellu nenastavuje požadovaná oprávnění pro přihlášení uživatelů k webu.
Po získání ID klienta a ID tenanta zahrňte tato ID jako podsourc vaší webové aplikace nebo aplikace API do šablony nasazení:
"resources": [
{
"apiVersion": "2015-08-01",
"name": "web",
"type": "config",
"dependsOn": ["[concat('Microsoft.Web/sites/','parameters('webAppName'))]"],
"properties": {
"siteAuthEnabled": true,
"siteAuthSettings": {
"clientId": "<client-ID>",
"issuer": "https://sts.windows.net/<tenant-ID>/"
}
}
}
]
Pokud chcete automaticky nasadit prázdnou webovou aplikaci a aplikaci logiky společně s ověřováním Microsoft Entra, zobrazte úplnou šablonu tady nebo vyberte následující tlačítko Nasadit do Azure :
Část 3: Naplnění části Autorizace v aplikaci logiky
Předchozí šablona už má tuto autorizační část nastavenou, ale pokud přímo vytváříte definici aplikace logiky, musíte zahrnout celý oddíl autorizace.
Otevřete definici aplikace logiky v zobrazení kódu.
Přejděte k definici akce HTTP , vyhledejte oddíl Autorizace a uveďte následující vlastnosti:
{
"tenant": "<tenant-ID>",
"audience": "<client-ID-from-Part-2-web-app-or-API app>",
"clientId": "<client-ID-from-Part-1-logic-app>",
"secret": "<secret-from-Part-1-logic-app>",
"type": "ActiveDirectoryOAuth"
}
| Vlastnost | Požadováno | Popis |
|---|---|---|
tenant |
Ano | Identifikátor GUID pro tenanta Microsoft Entra. |
audience |
Ano | Identifikátor GUID cílového prostředku, ke kterému chcete získat přístup, což je ID klienta v rámci identity aplikace pro vaši webovou aplikaci nebo API aplikaci. |
clientId |
Ano | Identifikátor GUID klienta, který požaduje přístup, což je ID klienta z identity aplikace ve vaší logické aplikaci. |
secret |
Ano | Tajný klíč nebo heslo z identity aplikace pro klienta, který požaduje přístupový token. |
type |
Ano | Typ ověřování. Pro ověřování ActiveDirectoryOAuth je hodnota ActiveDirectoryOAuth. |
Příklad:
{
"actions": {
"HTTP": {
"inputs": {
"method": "POST",
"uri": "https://your-api-azurewebsites.net/api/your-method",
"authentication": {
"tenant": "tenant-ID",
"audience": "client-ID-from-azure-ad-app-for-web-app-or-api-app",
"clientId": "client-ID-from-azure-ad-app-for-logic-app",
"secret": "key-from-azure-ad-app-for-logic-app",
"type": "ActiveDirectoryOAuth"
}
}
}
}
}
Zabezpečená volání rozhraní API prostřednictvím kódu
Ověření certifikátu
Pokud chcete ověřit příchozí požadavky z pracovního postupu aplikace logiky do webové aplikace nebo aplikace API, můžete použít klientské certifikáty. Pokud chcete nastavit kód, zjistěte , jak nakonfigurovat vzájemné ověřování TLS.
Důležité
Vždy zabezpečte a chraňte citlivá a osobní data, jako jsou přihlašovací údaje, tajné kódy, přístupové klíče, připojovací řetězce, certifikáty, kryptografické otisky a podobné informace s nejvyšší dostupnou nebo podporovanou úrovní zabezpečení.
Ujistěte se, že tyto informace bezpečně ukládáte pomocí ID Microsoft Entra a služby Azure Key Vault. Nezakódujte tyto informace, sdílejte s ostatními uživateli ani neukládejte v prostém textu, kam mají ostatní přístup. Nastavte plán pro obměna nebo odvolání tajných kódů v případě ohrožení zabezpečení. Další informace najdete v následujících zdrojích informací:
V části Autorizace uveďte následující vlastnosti:
{
"type": "ClientCertificate",
"password": "<password>",
"pfx": "<long-pfx-key>"
}
| Vlastnost | Požadováno | Popis |
|---|---|---|
type |
Ano | Typ ověřování. V případě klientských certifikátů TLS/SSL musí být hodnota ClientCertificate. |
password |
Ne | Heslo pro přístup k klientskému certifikátu (soubor PFX). |
pfx |
Ano | Obsah klientského certifikátu s kódováním base64 (soubor PFX). |
Základní ověřování
Pokud chcete ověřit příchozí požadavky z vaší aplikace logiky do webové aplikace nebo aplikace API, můžete použít základní ověřování, jako je uživatelské jméno a heslo. I když je základní ověřování běžným vzorem a toto ověřování můžete použít v jakémkoli jazyce používaném k vytvoření webové aplikace nebo aplikace API, vždy používejte nejlepší dostupnou nebo podporovanou úroveň ověřování.
Výstraha
Microsoft radí proti používání následujících toků k ověřování a autorizaci:
Přihlašovací údaje vlastníka zdroje (ROPC) pro OAuth 2.0
Tento tok umožňuje přihlásit se k aplikaci pomocí hesla. Tok není kompatibilní s vícefaktorovým ověřováním (MFA), vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která v jiných tocích neexistují. Tento tok použijte jenom v případě, že nejsou podporované nebo dostupné jiné bezpečnější toky.
Další informace najdete v tématu Přihlašovací údaje vlastníka prostředku Oauth 2.0.
Implicitní tok udělení pro OAuth 2.0
Tento tok založený na tokenech je určený pro tradiční webové aplikace, kde má server bezpečnější kontrolu nad zpracováním
POSTdat a často se používá s tokem autorizačního kódu. Vzhledem k tomu, jak tento tok zpracovává a vrací tokeny ID nebo přístupové tokeny, tok vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která v jiných tocích neexistují. Tento tok použijte jenom v případě, že nejsou podporované nebo dostupné jiné bezpečnější toky.Další informace najdete v tématu OAuth 2.0 implicitní tok oprávnění.
V části Autorizace uveďte následující vlastnosti:
{
"type": "Basic",
"username": "<username>",
"password": "<password>"
}
| Vlastnost | Požadováno | Popis |
|---|---|---|
type |
Ano | Typ ověřování, který chcete použít. Pro základní ověřování musí být hodnota **Basic**. |
username |
Ano | Uživatelské jméno, které chcete použít k ověřování. |
password |
Ano | Heslo, které chcete použít k ověřování. |
Ověřování Microsoft Entra prostřednictvím kódu
Ve výchozím nastavení ověřování Microsoft Entra, které zapnete na webu Azure Portal, neposkytuje jemně odstupňovanou autorizaci. Toto ověřování například uzamkne vaše rozhraní API jenom na konkrétního tenanta, ne na konkrétního uživatele nebo aplikaci.
Pokud chcete omezit přístup rozhraní API k aplikaci logiky prostřednictvím kódu, extrahujte hlavičku s webovým tokenem JSON (JWT). Zkontrolujte identitu volajícího a odmítněte žádosti, které se neshodují.