Sdílet prostřednictvím


Použití proxy aplikací Microsoft Entra k zajištění zabezpečeného přístupu k aplikačnímu programovacímu rozhraní (API) hostovaným v privátním cloudu nebo místně

Obchodní logika se často nachází v privátním aplikačním programovacím rozhraní (API). Rozhraní API běží místně nebo v privátním cloudu. Vaše nativní aplikace pro Android, iOS, Mac nebo Windows musí komunikovat s koncovými body rozhraní API, aby bylo možné používat data nebo poskytovat interakci uživatelů. Proxy aplikací Microsoft Entra a knihovna MICROSOFT Authentication Library (MSAL) umožňují vašim nativním aplikacím zabezpečený přístup k rozhraním API privátního cloudu. Proxy aplikací Microsoft Entra je rychlejší a bezpečnější řešení než otevírání portů brány firewall a řízení ověřování a autorizace ve vrstvě aplikace.

Návod

Termín "místní" je starší termín, který se datuje do doby, kdy byly fyzické servery umístěny v prostorách firemní kanceláře. V současné době se mnoho úloh v místním prostředí spouští na virtuálním počítači v datacentru. Termíny v místním prostředí a privátním cloudu se používají zaměnitelně.

Tento článek vás provede nastavením řešení proxy aplikací Microsoft Entra pro hostování služby webového rozhraní API, ke které mají nativní aplikace přístup.

Přehled

Následující diagram znázorňuje tradiční způsob publikování místních rozhraní API. Tento přístup vyžaduje otevření příchozích portů 80 a 443.

Tradiční přístup k rozhraní API

Následující diagram ukazuje, jak pomocí proxy aplikace Microsoft Entra bezpečně publikovat rozhraní API bez otevření příchozích portů:

Přístup k rozhraní API proxy aplikací Microsoft Entra

Proxy aplikace Microsoft Entra tvoří páteř řešení, pracuje jako veřejný koncový bod pro přístup k rozhraní API a poskytuje ověřování a autorizaci. K vašim rozhraním API lze přistupovat z rozsáhlé škály platforem pomocí knihoven MSAL (Microsoft Authentication Library).

Vzhledem k tomu, že ověřování a autorizace proxy aplikací Microsoft Entra jsou založené na ID Microsoft Entra, můžete pomocí podmíněného přístupu Microsoft Entra zajistit, že k rozhraním API publikovaným prostřednictvím proxy aplikací můžou přistupovat jenom důvěryhodná zařízení. Použijte připojení k Microsoft Entra nebo hybridní připojení Microsoft Entra pro stolní počítače a Intune Managed for devices. Můžete také využít funkce Microsoft Entra ID P1 nebo P2, jako je vícefaktorové ověřování Microsoft Entra, a zabezpečení microsoft Entra ID Protection založené na strojovém učení.

Požadavky

Pokud chcete postupovat podle tohoto návodu, potřebujete:

  • Přístup správce k adresáři Azure pomocí účtu, který může vytvářet a registrovat aplikace
  • Ukázkové webové API a nativní klientské aplikace z knihovny pro ověřování Microsoft (MSAL)

Publikování rozhraní API prostřednictvím proxy aplikací

Pokud chcete publikovat rozhraní API mimo intranet prostřednictvím proxy aplikací, postupujte podle stejného vzoru jako při publikování webových aplikací. Další informace naleznete v tématu Kurz: Přidání místní aplikace pro vzdálený přístup prostřednictvím proxy aplikací v Microsoft Entra ID.

Publikování webového rozhraní API SecretAPI prostřednictvím proxy aplikace:

  1. Sestavte a publikujte ukázkový projekt SecretAPI jako webovou aplikaci ASP.NET na místním počítači nebo intranetu. Ujistěte se, že máte přístup k webové aplikaci místně.

  2. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce aplikací.

  3. Přejděte dopodnikové aplikace>.

  4. V horní části stránky Podnikové aplikace – Všechny aplikace vyberte Nová aplikace.

  5. Na stránce Procházet galerii Microsoft Entra vyhledejte oddíl Místní aplikace a vyberte Přidat místní aplikaci. Zobrazí se stránka Přidat vlastní místní aplikaci .

  6. Pokud nemáte nainstalovaný privátní síťový konektor, zobrazí se výzva k jeho instalaci. Vyberte Stáhnout privátní síťový konektor a stáhněte a nainstalujte konektor.

  7. Přidejte informace na stránce Přidat vlastní místní aplikaci .

    1. Vedle názvu zadejte SecretAPI.

    2. Vedle interní adresy URL zadejte adresu URL, kterou používáte pro přístup k rozhraní API z intranetu.

    3. Ujistěte se, že je předběžné ověřování nastavené na Microsoft Entra ID.

    4. Vyberte Vytvořit a počkejte, až se aplikace vytvoří.

    Přidání aplikace API

  8. Na stránce Podnikové aplikace – Všechny aplikace vyberte aplikaci SecretAPI .

  9. Na stránce SecretAPI – Přehled vyberte v levém navigačním panelu vlastnosti .

  10. Nechcete, aby rozhraní API byla dostupná koncovým uživatelům na panelu Moje aplikace, takže v dolní části stránky Vlastnosti nastavte možnost Zobrazit pro uživatele na Ne a pak vyberte Uložit.

    Uživatelům se nezobrazuje

Webové rozhraní API je nyní publikováno prostřednictvím proxy aplikací Microsoft Entra. Dále přidejte uživatele, kteří mají přístup k aplikaci.

  1. Na stránce SecretAPI – Přehled vyberte v levém navigačním panelu uživatele a skupiny .

  2. Na stránce Uživatelé a skupiny vyberte Přidat uživatele.

  3. Na stránce Přidat přiřazení vyberte Uživatelé a skupiny.

  4. Na stránce Uživatelé a skupiny vyhledejte a vyberte uživatele, kteří mají přístup k aplikaci, včetně alespoň sebe. Po výběru všech uživatelů vyberte Vybrat.

    Výběr a přiřazení uživatele

  5. Na stránce Přidat zadání vyberte Přiřadit.

Poznámka:

Rozhraní API, která používají integrované ověřování systému Windows, můžou vyžadovat další kroky.

Registrace nativní aplikace a udělení přístupu k rozhraní API

Nativní aplikace jsou programy vyvinuté pro použití na konkrétní platformě nebo zařízení. Než se vaše nativní aplikace může připojit a získat přístup k rozhraní API, musíte ji zaregistrovat v Microsoft Entra ID. Následující kroky ukazují, jak zaregistrovat nativní aplikaci a udělit jí přístup k webovému rozhraní API, které jste publikovali prostřednictvím proxy aplikací.

Registrace nativní aplikace AppProxyNativeAppSample:

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce aplikací.

  2. Přejděte k Entra ID>Podnikovým aplikacím>Registracím aplikací.

  3. Vyberte Nová registrace.

  4. Zadejte informace na stránce Registrace aplikace .

    1. V části Název zadejte AppProxyNativeAppSample.

    2. V části Podporované typy účtů vyberte Pouze účty v tomto organizačním adresáři (pouze Contoso – Jeden tenant).

    3. V části Adresa URL pro přesměrování vyberte veřejný klient nebo nativní (mobilní &desktop) a pak zadejte *https://login.microsoftonline.com/common/oauth2/nativeclient *.

    4. Vyberte Zaregistrovat a počkejte, až se aplikace úspěšně zaregistruje.

      Registrace nové aplikace

Aplikace AppProxyNativeAppSample je teď zaregistrovaná v Microsoft Entra ID. Dejte nativní aplikaci přístup k webovému SecretAPI rozhraní API:

  1. Na stránce Registrace aplikací vyberte aplikaci AppProxyNativeAppSample .

  2. Na stránce AppProxyNativeAppSample vyberte v levém navigačním panelu oprávnění rozhraní API .

  3. Na stránce oprávnění rozhraní API vyberte Přidat oprávnění.

  4. Na první stránce Žádost o oprávnění API vyhledejte a vyberte kartu používaná rozhraní API mojí organizace, a poté vyhledejte a vyberte SecretAPI.

  5. Na další stránce API oprávnění pro požadavky zaškrtněte políčko vedle user_impersonation a pak vyberte Přidat Oprávnění.

    Vyberte API.

  6. Zpět na stránce oprávnění rozhraní API můžete vybrat udělení souhlasu správce pro Contoso a tím zabránit ostatním uživatelům v nutnosti udělovat individuální souhlas s aplikací.

Konfigurace kódu nativní aplikace

Posledním krokem je konfigurace nativní aplikace. Kód se musí přidat do Form1.cs souboru v NativeClient ukázkové aplikaci. Kód k získání tokenu používá knihovnu MSAL. Token požádá o volání rozhraní API a připojí ho k hlavičce v požadavku. Token je připojen jako nosný certifikát. Další informace o knihovně MSAL naleznete v tématu Přidání knihovny MSAL do projektu a přidání odkazu na knihovnu MSAL.

  1. V Form1.cs přidejte obor názvů using Microsoft.Identity.Client; do kódu.

  2. Upravte nativní kód aplikace v kontextu ověřování knihovny MSAL (Microsoft Authentication Library), aby zahrnoval tuto přizpůsobenou ukázku kódu.

Nakonfigurujte nativní aplikaci tak, aby se připojila k ID Microsoft Entra a volala rozhraní API pomocí proxy aplikací. Potom aktualizujte hodnoty zástupných symbolů v souboru App.configNativeClient sample app s hodnotami z Microsoft Entra ID.

  1. Do pole vložte ID adresáře (tenanta<add key="ida:Tenant" value="" />). Tuto hodnotu (GUID) najdete a zkopírujete ze stránky Přehled některé z vašich aplikací.

  2. Do pole vložte ID aplikace AppProxyNativeAppSample (klient).<add key="ida:ClientId" value="" /> Tuto hodnotu (GUID) najdete a zkopírujete ze stránky Přehled appProxyNativeAppSample v levém navigačním panelu v části Spravovat.

  3. Vložte AppProxyNativeAppSample URI přesměrování do pole <add key="ida:RedirectUri" value="" />. Tuto hodnotu (identifikátor URI) najdete a zkopírujete ze stránky Ověřování AppProxyNativeAppSample v levém navigačním panelu v části Spravovat. Tento krok je volitelný, protože MSAL používá metodu PublicClientApplicationBuilder.WithDefaultRedirectUri() k vložení doporučené URI (Uniform Resource Identifier).

  4. Do pole vložte Application ID URI z SecretAPI. Hodnota je stejná jako todo:TodoListBaseAddress. Hodnota identifikátoru aplikace. Podívejte se do levé navigace v části Spravovat.

  5. Vložte adresu URL domovské stránky SecretAPI do pole. Tuto hodnotu (url) najdete a zkopírujete ze stránky Vlastností a brandingu SecretAPI v levém navigačním panelu v části Spravovat.

Poznámka:

Pokud se řešení nevytvořuje a hlásí chybu invalid Resx file, v Průzkumníku řešení rozbalte vlastnosti, klikněte pravým tlačítkem na Resources.resx a pak vyberte Zobrazit kód. Okomentujte řádky 121 až 123.

Po konfiguraci parametrů sestavte a spusťte nativní aplikaci. Když vyberete tlačítko Přihlásit se , aplikace vám umožní přihlásit se a pak zobrazí obrazovku s úspěšným potvrzením, že se úspěšně připojila k SecretAPI.

Snímek obrazovky ukazuje zprávu Tajný kód A P I Úspěšné a tlačítko OK.

Další kroky