Hitelesítés hozzáadása egyéni API-k Azure Logic Appsből való hívásakor
Az API-k hívásainak biztonsága érdekében beállíthatja az Azure Active Directory-hitelesítést (Azure AD) a Azure Portal keresztül, 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.
A hitelesítést a következő módokon adhatja hozzá:
Nincs kódmódosítás: Az API védelme az Azure Active Directoryval (Azure AD) a Azure Portal 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 a Azure Portal kiválasztott Azure AD hitelesítés nem biztosít részletesebb 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 tanúsítványhitelesítés, alapszintű hitelesítés vagy Azure AD-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 metódus általános lépései a következők:
Hozzon létre két Azure Active Directory- (Azure AD-) 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áshoz tartozó Azure AD alkalmazásidentitáshoz társított szolgáltatásnév hitelesítő adatait (ügyfél-azonosí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: Azure AD alkalmazásidentitás létrehozása a logikai alkalmazáshoz
A logikai alkalmazás erőforrása ezt a Azure AD alkalmazásidentitást használja a Azure AD 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 beállíthatja a Azure Portal, vagy használhatja a PowerShellt.
Az Azure Portalon válassza az Azure Active Directory lehetőséget.
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 ki egy másik könyvtárat. Vagy válassza az Áttekintés>Könyvtárváltás lehetőséget.
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 a címtárban lévő összes alkalmazásregisztrációt megjeleníti. Ha csak az alkalmazásregisztrációkat szeretné megtekinteni, válassza a Saját alkalmazások lehetőséget.
Adjon meg egy felhasználói nevet a logikai alkalmazás alkalmazásidentitásának. Válassza ki a támogatott fióktípusokat. Az Átirányítási URI mezőben 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 most már tartalmazza a létrehozott alkalmazásidentitást. Ha ez az identitás nem jelenik meg, válassza az eszköztár Frissítés elemét.
Az alkalmazásregisztrációk listájából válassza ki az új alkalmazásidentitást.
Az alkalmazásidentitás navigációs menüjében válassza az Áttekintés lehetőséget.
Az Áttekintés panel Essentials területén másolja ki és mentse az alkalmazásazonosítót a logikai alkalmazás "ügyfél-azonosí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 kódja lehetőséget&.
Az Ügyfél titkos kódja lapon válassza az Új titkos ügyfélkulcs lehetőséget.
A Leírás mezőben adja meg a titkos kód nevét. A Lejárat területen adja meg a titkos kód időtartamát. Ha elkészült, válassza a Hozzáadás lehetőséget.
A létrehozott titkos kód a logikai alkalmazás alkalmazásidentitásának "titkos kódja" vagy jelszava.
A Tanúsítványok titkos kódja panel Titkos ügyfélkódok& 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: Azure AD alkalmazásidentitás létrehozása a 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 a Azure Portal. Ellenkező esetben bekapcsolhatja a hitelesítést, amikor Azure Resource Manager-sablonnal helyezi üzembe.
Alkalmazásidentitás létrehozása üzembe helyezett webalkalmazáshoz vagy API-alkalmazáshoz a Azure Portal
A Azure Portal keresse meg és válassza ki a webalkalmazást vagy AZ API-alkalmazást.
A Beállítások területen válassza a Hitelesítés>Identitásszolgáltató hozzáadása lehetőséget.
Miután megnyílik az Identitásszolgáltató hozzáadása panel, az Alapvető beállítások lap Identitásszolgáltató listájában válassza a Microsoft lehetőséget az Azure Active Directory-identitások (Azure AD) 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ípusa beállításnál válassza az Új alkalmazásregisztráció létrehozása lehetőséget.
A Név mezőben adja meg az alkalmazás identitásának nevét.
A Támogatott fióktípusok beállításnál válassza ki a forgatókönyvnek megfelelő fióktípusokat.
A Hozzáférés korlátozása beállításnál válassza a Hitelesítés megkövetelése lehetőséget.
A Nem hitelesített kérések esetében 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ásidentitás nem jelenik meg, válassza az eszköztár Frissítés elemét.
Most meg kell találnia a webalkalmazáshoz vagy API-alkalmazáshoz létrehozott alkalmazásidentitás alkalmazásazonosítóját és bérlőazonosítóját. Ezeket az azonosítókat a 3. részben használja. Folytassa a következő lépésekkel a Azure Portal.
Keresse meg az alkalmazásidentitás ügyfél-azonosítóját és bérlőazonosítóját a webalkalmazáshoz vagy API-alkalmazáshoz a Azure Portal
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ásidentitást. Válassza ki az alkalmazásidentitás nevét.
Miután megnyílik az alkalmazásidentitás Áttekintés panelje, keresse meg az alkalmazás-(ügyfél-) azonosító és a címtár-(bérlői) azonosító értékeit. Másolja ki é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 ennek az URL-címnek 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 Azure AD alkalmazásidentitást a webalkalmazáshoz vagy az API-alkalmazáshoz, amely eltér a logikai alkalmazás alkalmazásidentitá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 a Azure Portal 2. részének előző lépéseit. Az ügyfél-azonosítót és a bérlőazonosítót is használni fogja az alkalmazás üzembehelyezési sablonjában, valamint a 3. részhez is.
Fontos
Amikor létrehozza a Azure AD alkalmazásidentitást a webalkalmazáshoz vagy API-alkalmazáshoz, a Azure Portal 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, adja meg ezeket az azonosítókat a webalkalmazás vagy API-alkalmazás alforrásaként az üzembehelyezési sablonban:
"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 az Azure Active Directory-hitelesítéssel együtt, tekintse meg a teljes sablont itt, 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ő sablonban már be van állítva ez az engedélyezési szakasz, de ha közvetlenül a logikai alkalmazás definícióját készíti, akkor a teljes engedélyezési szakaszt is tartalmaznia kell.
Nyissa meg a logikai alkalmazás definícióját kódnézetben.
Lépjen a HTTP-művelet definíciójára, 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 Azure AD-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ásidentitásából származó ügyfél-azonosító. |
clientId |
Igen | A hozzáférést kérő ügyfél GUID azonosítója, amely a logikai alkalmazás alkalmazásidentitásából származó ügyfél-azonosító. |
secret |
Igen | A hozzáférési jogkivonatot kérő ügyfél alkalmazásidentitásának titkos kódja vagy jelszava |
type |
Igen | A hitelesítési típus. ActiveDirectoryOAuth-hitelesítés esetén 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 beérkező kérések 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 a következőnek 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 base64 kódolású tartalma (PFX-fájl) |
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 egyszerű hitelesítést, például felhasználónevet és jelszót. Az alapszintű hitelesítés egy 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ó |
Azure Active Directory-hitelesítés kóddal
Alapértelmezés szerint a Azure Portal bekapcsolt Azure AD hitelesítés nem biztosít részletesebb 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.