Hitelesítés hozzáadása egyéni API-k Azure Logic Apps-ből való meghívásához
Az API-k hívásainak biztonsága érdekében beállíthatja a Microsoft Entra-hitelesítést az Azure Portalon, hogy ne kelljen frissítenie a kódot. Alternatív megoldásként a hitelesítés előírásához és kényszerítéséhez az API kódját is használhatja.
Hitelesítést a következő módokon adhat hozzá:
Nincs kódmódosítás: Az API védelme a Microsoft Entra-azonosítóval az Azure Portalon keresztül, így nem kell frissítenie a kódot, és nem kell újból üzembe helyeznie az API-t.
Megjegyzés:
Alapértelmezés szerint az Azure Portalon kiválasztott Microsoft Entra-hitelesítés nem biztosít részletes hitelesítést. Ez a hitelesítés például csak egy adott bérlőre zárolja az API-t, nem pedig egy adott felhasználóra vagy alkalmazásra.
Frissítse az API kódját: Az API védelme a tanúsítványhitelesítés, az alapszintű hitelesítés vagy a Microsoft Entra-hitelesítés kódon keresztüli kényszerítésével.
Az API-ra irányuló hívások hitelesítése kód módosítása nélkül
A módszer általános lépései a következők:
Hozzon létre két Microsoft Entra-alkalmazásidentitást: egyet a logikai alkalmazás erőforrásához, egyet pedig a webalkalmazáshoz (vagy API-alkalmazáshoz).
Az API-ra irányuló hívások hitelesítéséhez használja a logikai alkalmazás Microsoft Entra-alkalmazása identitásához társított szolgáltatásnév hitelesítő adatait (ügyfélazonosítóját és titkos kódját).
Adja meg az alkalmazásazonosítókat a logikai alkalmazás munkafolyamat-definíciójában.
1. rész: Microsoft Entra-alkalmazásdentitás létrehozása a logikai alkalmazáshoz
A logikai alkalmazás erőforrása ezt a Microsoft Entra-alkalmazásidentitást használja a Microsoft Entra-azonosítón való hitelesítéshez. Ezt az identitást csak egyszer kell beállítania a címtárhoz. Választhatja például, hogy ugyanazt az identitást használja az összes logikai alkalmazáshoz, annak ellenére, hogy minden logikai alkalmazáshoz létrehozhat egyedi identitásokat. Ezeket az identitásokat az Azure Portalon állíthatja be, vagy használhatja a PowerShellt.
Az Azure Portalon válassza a Microsoft Entra-azonosítót.
Győződjön meg arról, hogy ugyanabban a könyvtárban van, mint a webalkalmazás vagy az API-alkalmazás.
Tipp.
Címtárak közötti váltáshoz válassza ki a profilját, és válasszon egy másik könyvtárat. Vagy válassza az Áttekintés>kapcsoló könyvtárat.
A címtár menü Kezelés területén válassza a Alkalmazásregisztrációk> Új regisztráció lehetőséget.
A Minden regisztráció lista megjeleníti a címtárban lévő összes alkalmazásregisztrációt. Ha csak az alkalmazásregisztrációkat szeretné megtekinteni, válassza a Saját alkalmazások lehetőséget.
Adjon meg egy felhasználónevet a logikai alkalmazás alkalmazásazonosítójához. Válassza ki a támogatott fióktípusokat. Átirányítási URI esetén válassza a Web lehetőséget, adjon meg egy egyedi URL-címet, ahol vissza szeretné adni a hitelesítési választ, majd válassza a Regisztráció lehetőséget.
A Saját alkalmazások lista mostantól tartalmazza a létrehozott alkalmazásidentitást. Ha ez az identitás nem jelenik meg, az eszköztáron válassza a Frissítés lehetőséget.
Az alkalmazásregisztrációk listájában válassza ki az új alkalmazás-identitást.
Az alkalmazásidentitás navigációs menüjében válassza az Áttekintés lehetőséget.
Az Áttekintés panel Essentials csoportjában másolja és mentse az alkalmazásazonosítót a logikai alkalmazás "ügyfélazonosítójaként" a 3. részben.
Az alkalmazásidentitás navigációs menüjében válassza a Tanúsítványok > titkos kulcsok lehetőséget.
Az Ügyfél titkos kulcsok lapján válassza az Új ügyfélkód lehetőséget.
Leírásként adja meg a titkos kód nevét. A Lejáratok csoportban válasszon egy időtartamot a titkos kódhoz. Ha elkészült, válassza a Hozzáadás lehetőséget.
A létrehozott titkos kód az alkalmazásidentitás "titkos" vagy jelszóként szolgál a logikai alkalmazáshoz.
A Tanúsítványok > titkos kulcsok panelEn az Ügyfél titkos kulcsok területén a titkos kód most megjelenik egy titkos értékkel és titkos azonosítóval együtt.
Másolja ki a titkos kód értékét későbbi használatra. Amikor a logikai alkalmazást a 3. részben konfigurálja, ezt az értéket "titkos kódként" vagy jelszóként adja meg.
2. rész: Microsoft Entra-alkalmazásdentitás létrehozása webalkalmazáshoz vagy API-alkalmazáshoz
Ha a webalkalmazás vagy az API-alkalmazás már telepítve van, bekapcsolhatja a hitelesítést, és létrehozhatja az alkalmazásidentitást az Azure Portalon. Ellenkező esetben bekapcsolhatja a hitelesítést egy Azure Resource Manager-sablonnal történő üzembe helyezéskor.
Egy üzembe helyezett webalkalmazás vagy API-alkalmazás alkalmazási identitásának létrehozása az Azure Portalon
Az Azure Portalon keresse meg és válassza ki a webalkalmazást vagy az API-alkalmazást.
A Gépház területen válassza az Identitásszolgáltató hozzáadása hitelesítés>lehetőséget.
Miután megnyílik az Identitásszolgáltató hozzáadása panel, az Alapszintű beállítások lapon, az Identitásszolgáltató listájában válassza a Microsoftot a Microsoft Entra-identitások használatához, majd válassza a Hozzáadás lehetőséget.
Most hozzon létre egy alkalmazásidentitást a webalkalmazáshoz vagy API-alkalmazáshoz az alábbiak szerint:
Az alkalmazásregisztráció típusához válassza az Új alkalmazásregisztráció létrehozása lehetőséget.
Adja meg az alkalmazás identitásának nevét.
Támogatott fióktípusok esetén válassza ki a forgatókönyvnek megfelelő fióktípusokat.
A hozzáférés korlátozásához válassza a Hitelesítés megkövetelése lehetőséget.
Nem hitelesített kérések esetén válassza ki a beállítást a forgatókönyve alapján.
Ha elkészült, válassza a Hozzáadás lehetőséget.
A webalkalmazáshoz vagy API-alkalmazáshoz most létrehozott alkalmazásidentitás megjelenik az Identitásszolgáltató szakaszban:
Tipp.
Ha az alkalmazás identitása nem jelenik meg, az eszköztáron válassza a Frissítés lehetőséget.
Most meg kell találnia a webalkalmazáshoz vagy API-alkalmazáshoz most létrehozott alkalmazás-identitás alkalmazásazonosítóját és bérlőazonosítóját. Ezeket az azonosítókat a 3. részben használja. Tehát folytassa a következő lépésekkel az Azure Portalon.
Az alkalmazásidentitás ügyfél-azonosítójának és bérlőazonosítójának megkeresése webalkalmazáshoz vagy API-alkalmazáshoz az Azure Portalon
A webalkalmazás navigációs menüjében válassza a Hitelesítés lehetőséget.
Az Identitásszolgáltató szakaszban keresse meg a korábban létrehozott alkalmazásadentitást. Válassza ki az alkalmazás identitásának nevét.
Miután megnyílik az alkalmazásidentitás Áttekintés panelje, keresse meg az alkalmazás (ügyfél) azonosítójának és a címtár-(bérlői) azonosítónak az értékeit. Másolja és mentse az értékeket a 3. részben való használatra.
Szükség esetén a bérlőazonosító GUID azonosítóját is használhatja a webalkalmazásban vagy az API-alkalmazás üzembehelyezési sablonjában. Ez a GUID az adott bérlő GUID azonosítója ("bérlőazonosító"), és a következő URL-címen kell megjelennie:
https://sts.windows.net/{GUID}
Hitelesítés beállítása Azure Resource Manager-sablonnal történő üzembe helyezéskor
Ha Azure Resource Manager-sablont (ARM-sablont) használ, akkor is létre kell hoznia egy Microsoft Entra-alkalmazásidentitást a webalkalmazáshoz vagy az API-alkalmazáshoz, amely eltér a logikai alkalmazás alkalmazási identitásától. Az alkalmazásidentitás létrehozásához, majd az ügyfél-azonosító és a bérlőazonosító megkereséséhez kövesse az Azure Portal 2. részének korábbi lépéseit. Az alkalmazás üzembehelyezési sablonjában és a 3. részben az ügyfél-azonosítót és a bérlőazonosítót is használni fogja.
Fontos
Amikor létrehozza a Microsoft Entra-alkalmazásdentitást a webalkalmazáshoz vagy API-alkalmazáshoz, az Azure Portalt kell használnia, nem a PowerShellt. A PowerShell-parancsmag nem állítja be a felhasználók webhelyre való bejelentkezéséhez szükséges engedélyeket.
Miután beszerezte az ügyfél-azonosítót és a bérlőazonosítót, vegye fel ezeket az azonosítókat a webalkalmazás vagy API-alkalmazás alforrásaként az üzembehelyezési sablonba:
"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>/"
}
}
}
]
Ha automatikusan üzembe szeretne helyezni egy üres webalkalmazást és egy logikai alkalmazást a Microsoft Entra-hitelesítéssel együtt, tekintse meg itt a teljes sablont, vagy válassza a következő Üzembe helyezés az Azure-ban gombot:
3. rész: Töltse ki az Engedélyezés szakaszt a logikai alkalmazásban
Az előző sablon már beállította ezt az engedélyezési szakaszt, de ha közvetlenül a logikai alkalmazás definícióját készíti, akkor a teljes engedélyezési szakaszt meg kell adnia.
Nyissa meg a logikai alkalmazás definícióját kódnézetben.
Nyissa meg a HTTP-műveletdefiníciót , keresse meg az Engedélyezés szakaszt, és adja meg a következő tulajdonságokat:
{
"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"
}
Tulajdonság | Kötelező | Leírás |
---|---|---|
tenant |
Igen | A Microsoft Entra-bérlő GUID azonosítója |
audience |
Igen | A elérni kívánt célerőforrás GUID azonosítója, amely a webalkalmazás vagy API-alkalmazás alkalmazási identitásából származó ügyfélazonosító. |
clientId |
Igen | A hozzáférést kérő ügyfél GUID azonosítója, amely a logikai alkalmazás alkalmazási identitásából származó ügyfélazonosító |
secret |
Igen | A hozzáférési jogkivonatot kérő ügyfél alkalmazási identitásából származó titkos kód vagy jelszó |
type |
Igen | A hitelesítési típus. Az ActiveDirectoryOAuth hitelesítés esetében az érték ActiveDirectoryOAuth . |
Például:
{
"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"
}
}
}
}
}
API-hívások biztonságossá tétele kódon keresztül
Tanúsítványhitelesítés
A logikai alkalmazás munkafolyamatából a webalkalmazásba vagy API-alkalmazásba érkező kérelmek ellenőrzéséhez használhat ügyféltanúsítványokat. A kód beállításához ismerje meg , hogyan konfigurálhatja a TLS kölcsönös hitelesítését.
Az Engedélyezés szakaszban adja meg a következő tulajdonságokat:
{
"type": "ClientCertificate",
"password": "<password>",
"pfx": "<long-pfx-key>"
}
Tulajdonság | Kötelező | Leírás |
---|---|---|
type |
Igen | A hitelesítési típus. TLS/SSL-ügyféltanúsítványok esetén az értéknek meg kell lennie ClientCertificate . |
password |
Nem | Az ügyféltanúsítvány (PFX-fájl) elérésének jelszava |
pfx |
Igen | Az ügyféltanúsítvány (PFX-fájl) alap64 kódolású tartalma |
Alapszintű hitelesítés
A logikai alkalmazásból a webalkalmazásba vagy API-alkalmazásba érkező bejövő kérések ellenőrzéséhez használhat alapszintű hitelesítést, például felhasználónevet és jelszót. Az alapszintű hitelesítés gyakori minta, és ezt a hitelesítést bármely olyan nyelven használhatja, amelyet a webalkalmazás vagy az API-alkalmazás létrehozásához használ.
Az Engedélyezés szakaszban adja meg a következő tulajdonságokat:
{
"type": "Basic",
"username": "<username>",
"password": "<password>"
}
Tulajdonság | Kötelező | Leírás |
---|---|---|
type |
Igen | A használni kívánt hitelesítési típus. Az alapszintű hitelesítéshez az értéknek a következőnek kell lennie Basic : . |
username |
Igen | A hitelesítéshez használni kívánt felhasználónév |
password |
Igen | A hitelesítéshez használni kívánt jelszó |
Microsoft Entra-hitelesítés kóddal
Alapértelmezés szerint az Azure Portalon bekapcsolt Microsoft Entra-hitelesítés nem biztosít részletes hitelesítést. Ez a hitelesítés például csak egy adott bérlőre zárolja az API-t, nem pedig egy adott felhasználóra vagy alkalmazásra.
Ha kódon keresztül szeretné korlátozni a logikai alkalmazás API-hozzáférését, bontsa ki a JSON webes jogkivonattal (JWT) rendelkező fejlécet. Ellenőrizze a hívó identitását, és utasítsa el a nem egyező kéréseket.