A Microsoft Entra alkalmazásproxy használata a magánfelhőben vagy a helyszínen üzemeltetett alkalmazásprogramozási felület (API) biztonságos eléréséhez
Az üzleti logika gyakran magánalkalmazás-programozási felületen (API) található. Az API helyszíni vagy magánfelhőben fut. A natív Android-, iOS-, Mac- vagy Windows-alkalmazásoknak adatokat kell használniuk az API-végpontokkal, vagy felhasználói interakciót kell biztosítaniuk. A Microsoft Entra alkalmazásproxy és a Microsoft Authentication Library (MSAL) lehetővé teszi a natív alkalmazások számára a magánfelhő API-k biztonságos elérését. A Microsoft Entra alkalmazásproxy gyorsabb és biztonságosabb megoldás, mint a tűzfalportok megnyitása és a hitelesítés és engedélyezés szabályozása az alkalmazásrétegben.
Tipp.
A helyszíni egy régi kifejezés, amely a fizikai kiszolgálóknak a vállalati iroda területén való elhelyezésének idejére nyúlik vissza. Manapság számos saját üzemeltetésű számítási feladat fut egy adatközpontban lévő virtuális gépen. A helyszíni és a magánfelhő kifejezés felcserélhető.
Ez a cikk végigvezeti egy Microsoft Entra alkalmazásproxy-megoldás beállításán egy olyan webes API-szolgáltatás üzemeltetéséhez, amelyhez natív alkalmazások férhetnek hozzá.
Áttekintés
Az alábbi ábra a helyszíni API-k közzétételének hagyományos módját mutatja be. Ehhez a megközelítéshez meg kell nyitni a 80-at és a 443-at.
Az alábbi ábra bemutatja, hogyan teheti biztonságossá az API-k biztonságos közzétételét a Microsoft Entra alkalmazásproxyval bejövő portok megnyitása nélkül:
A Microsoft Entra alkalmazásproxy képezi a megoldás gerincét, amely nyilvános végpontként működik az API-hozzáféréshez, valamint hitelesítést és engedélyezést biztosít. Az API-kat számos platformról elérheti a Microsoft Authentication Library (MSAL) kódtárak használatával.
Mivel a Microsoft Entra alkalmazásproxy-hitelesítés és -engedélyezés a Microsoft Entra-azonosítóra épül, a Microsoft Entra feltételes hozzáféréssel biztosíthatja, hogy csak megbízható eszközök férhessenek hozzá az alkalmazásproxyn keresztül közzétett API-khoz. A Microsoft Entra join vagy a Microsoft Entra hibrid csatlakoztatása asztali gépekhez és az Intune Managed for Devices használatával. A Microsoft Entra ID P1 vagy P2 funkcióit is kihasználhatja, például a Microsoft Entra többtényezős hitelesítést, valamint a Microsoft Entra ID-védelem gépi tanuláson alapuló biztonságát.
Előfeltételek
Az útmutató követéséhez a következőkre van szüksége:
- Rendszergazdai hozzáférés egy Azure-címtárhoz egy olyan fiókkal, amely alkalmazásokat hozhat létre és regisztrálhat
- A minta webes API és natív ügyfélalkalmazások a Microsoft Authentication Libraryből (MSAL)
Az API közzététele alkalmazásproxyn keresztül
Ha az intraneten kívüli API-t alkalmazásproxyn keresztül szeretné közzétenni, ugyanazt a mintát kell követnie, mint a webalkalmazások közzétételéhez. További információ : Oktatóanyag: Helyszíni alkalmazás hozzáadása távoli hozzáféréshez alkalmazásproxyn keresztül a Microsoft Entra ID-ban.
A SecretAPI webes API közzététele alkalmazásproxyn keresztül:
Hozza létre és tegye közzé a SecretAPI-mintaprojektet ASP.NET webalkalmazásként a helyi számítógépen vagy intraneten. Győződjön meg arról, hogy helyileg hozzáférhet a webalkalmazáshoz.
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább alkalmazásadminisztrátorként.
Keresse meg az Identity>Applications>Enterprise-alkalmazásokat.
A Vállalati alkalmazások – Minden alkalmazás lap tetején válassza az Új alkalmazás lehetőséget.
A Microsoft Entra Katalógus tallózása lapon keresse meg a helyszíni alkalmazások szakaszt, és válassza a Helyszíni alkalmazás hozzáadása lehetőséget. Megjelenik a Saját helyszíni alkalmazás hozzáadása lap.
Ha nincs telepítve magánhálózati összekötő, a rendszer kérni fogja a telepítést. Válassza a Magánhálózati összekötő letöltése lehetőséget az összekötő letöltéséhez és telepítéséhez.
Információk hozzáadása a Saját helyszíni alkalmazás hozzáadása lapon.
A Név mellett adja meg a SecretAPI nevet.
A Belső URL-cím mellett adja meg az API intraneten belüli eléréséhez használt URL-címet.
Győződjön meg arról, hogy az előzetes hitelesítés Microsoft Entra-azonosítóra van állítva.
Válassza a Létrehozás lehetőséget, és várja meg, amíg az alkalmazás létrejön.
A Vállalati alkalmazások – Minden alkalmazás lapon válassza a SecretAPI alkalmazást.
A SecretAPI – Áttekintés lapon válassza a Tulajdonságok lehetőséget a bal oldali navigációs sávon.
Nem szeretné, hogy az API-k elérhetők legyenek a végfelhasználók számára a MyApps panelen, ezért a Tulajdonságok lap alján állítsa a Látható a felhasználók számára nem értékre, majd válassza a Mentés lehetőséget.
A webes API mostantól a Microsoft Entra alkalmazásproxyn keresztül van közzétéve. Ezután vegye fel az alkalmazást elérő felhasználókat.
A SecretAPI – Áttekintés lapon válassza a Felhasználók és csoportok lehetőséget a bal oldali navigációs sávon.
A Felhasználók és csoportok lapon válassza a Felhasználó hozzáadása lehetőséget.
A Hozzárendelés hozzáadása lapon válassza a Felhasználók és csoportok lehetőséget.
A Felhasználók és csoportok lapon keressen és jelöljön ki olyan felhasználókat, akik hozzáférhetnek az alkalmazáshoz, beleértve legalább saját magát is. Az összes felhasználó kijelölése után válassza a Kiválasztás lehetőséget.
A Hozzárendelés hozzáadása lapon válassza a Hozzárendelés lehetőséget.
Feljegyzés
Az integrált Windows-hitelesítést használó API-k további lépéseket igényelhetnek.
A natív alkalmazás regisztrálása és az API-hoz való hozzáférés biztosítása
A natív alkalmazások olyan programok, amelyeket egy adott platformon vagy eszközön való használatra fejlesztettek ki. Ahhoz, hogy a natív alkalmazás csatlakozni tud egy API-hoz, regisztrálnia kell azt a Microsoft Entra-azonosítóban. Az alábbi lépések bemutatják, hogyan regisztrálhat natív alkalmazásokat, és hogyan adhat hozzáférést az alkalmazásproxyn keresztül közzétett webes API-hoz.
Az AppProxyNativeAppSample natív alkalmazás regisztrálása:
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább alkalmazásadminisztrátorként.
Keresse meg az Identity>Applications>Enterprise-alkalmazásokat> Alkalmazásregisztrációk.
Új regisztráció kiválasztása.
Adja meg az adatokat az Alkalmazás regisztrálása lapon.
A Név mezőbe írja be az AppProxyNativeAppSample nevet.
A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget (csak Contoso – Egyetlen bérlő).
Az Átirányítás URL-cím alatt legördülő menüben válassza a Nyilvános ügyfél/natív (mobil & asztali) lehetőséget, majd írja be a * *https://login.microsoftonline.com/common/oauth2/nativeclient értéket.
Válassza a Regisztráció lehetőséget, és várja meg, amíg az alkalmazás sikeresen regisztrálva lesz.
Az AppProxyNativeAppSample
alkalmazás regisztrálva van a Microsoft Entra-azonosítóban. Natív alkalmazás hozzáférésének biztosítása a SecretAPI
webes API-hoz:
A Alkalmazásregisztrációk lapon válassza az AppProxyNativeAppSample alkalmazást.
Az AppProxyNativeAppSample lapon válassza ki az API-engedélyeket a bal oldali navigációs sávon.
Az API engedélyoldalán válassza az Engedély hozzáadása lehetőséget.
Az első Kérelem API-engedélyek lapon válassza ki a szervezetem által használt API-kat, majd keresse meg és válassza a SecretAPI lehetőséget.
A következő Kérelem API-engedélyek lapon jelölje be a user_impersonation melletti jelölőnégyzetet, majd válassza az Engedélyek hozzáadása lehetőséget.
Az API engedélyoldalára visszatérve kiválaszthatja a Contoso rendszergazdai hozzájárulásának megadását, hogy más felhasználóknak ne kelljen külön-külön hozzájárulást adniuk az alkalmazáshoz.
A natív alkalmazáskód konfigurálása
Az utolsó lépés a natív alkalmazás konfigurálása. A kódot hozzá kell adni a Form1.cs
fájlhoz a NativeClient
mintaalkalmazásban. A kód az MSAL-kódtár használatával szerzi be a jogkivonatot. A jogkivonat lekéri az API-hívást, és csatolja a kérés fejlécéhez. A jogkivonat tulajdonosi tanúsítványként van csatolva. További információ az MSAL-ról: MSAL hozzáadása a projekthez , és hivatkozás hozzáadása az MSAL-hoz.
A Form1.cs adja hozzá a névteret
using Microsoft.Identity.Client;
a kódhoz.Szerkessze a natív alkalmazáskódot a Microsoft Authentication Library (MSAL) hitelesítési környezetében, hogy belefoglalja ezt a testreszabott kódmintát.
Konfigurálja a natív alkalmazást a Microsoft Entra-azonosítóhoz való csatlakozáshoz, és hívja meg az API-t alkalmazásproxy használatával. Ezután frissítse a helyőrző értékeket a App.config
fájlban a NativeClient sample app
Microsoft Entra ID értékeivel.
Illessze be a könyvtár (bérlő) azonosítóját a
<add key="ida:Tenant" value="" />
mezőbe. Ezt az értéket (GUID- t) bármelyik alkalmazás Áttekintés lapján megtalálhatja és átmásolhatja.Illessze be az AppProxyNativeAppSample alkalmazás (ügyfél) azonosítóját a
<add key="ida:ClientId" value="" />
mezőbe. Ezt az értéket (guid) az AppProxyNativeAppSample Áttekintés lapján, a Bal oldali navigációs menü Kezelés csoportjában találja és másolhatja.Illessze be az AppProxyNativeAppSample Redirect URI-t a
<add key="ida:RedirectUri" value="" />
mezőbe. Ezt az értéket (egy URI-t) az AppProxyNativeAppSample hitelesítési oldalán, a Bal oldali navigációs Menü Kezelés csoportjában találja és másolhatja. Ez a lépés nem kötelező, mivel az MSAL a metódusPublicClientApplicationBuilder.WithDefaultRedirectUri()
használatával szúrja be az ajánlott válasz egységes erőforrás-azonosítóját (URI).Illessze be a SecretAPI alkalmazásazonosító URI-ját a
<add key="todo:TodoListResourceId" value="" />
mezőbe. Az érték megegyeziktodo:TodoListBaseAddress
a . Az URI-érték az alkalmazás API-oldalánSecretAPI
található. Keresse meg a bal oldali navigációs sávOt a Kezelés csoportban.Illessze be a SecretAPI kezdőlapJÁNAK URL-címét a
<add key="todo:TodoListBaseAddress" value="" />
mezőbe. Ezt az értéket (egy URL-címet) a SecretAPI Védjegyzés > tulajdonságok lapjáról, a Bal oldali navigációs menü Kezelés csoportjában találja és másolhatja.
Feljegyzés
Ha a megoldás nem hozza létre és jelenti az érvénytelen Resx-fájlt, a Megoldáskezelő bontsa ki a Tulajdonságok elemet, kattintson a jobb gombbal az Resources.resx elemre, majd válassza a Kód megtekintése lehetőséget. 121–123. megjegyzéssorok.
A paraméterek konfigurálása után hozza létre és futtassa a natív alkalmazást. Amikor kiválasztja a Bejelentkezés gombot, az alkalmazás lehetővé teszi a bejelentkezést, majd megjelenik egy sikeres képernyő, amely megerősíti, hogy sikeresen csatlakozott a SecretAPI-hoz.