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á:

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:

  1. 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).

  2. 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).

  3. 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.

  1. Az Azure Portalon válassza az Azure Active Directory lehetőséget.

  2. 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.

  3. 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.

    Képernyőkép a Azure Portal az Azure Active Directory-példányról, az

  4. 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.

    Képernyőkép az

    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.

    Képernyőkép a logikai alkalmazás alkalmazásidentitásáról.

  5. Az alkalmazásregisztrációk listájából válassza ki az új alkalmazásidentitást.

  6. Az alkalmazásidentitás navigációs menüjében válassza az Áttekintés lehetőséget.

  7. 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ás (ügyfél) azonosítójának aláhúzott képernyőképe.

  8. Az alkalmazásidentitás navigációs menüjében válassza a Tanúsítványok titkos kódja lehetőséget&.

  9. Az Ügyfél titkos kódja lapon válassza az Új titkos ügyfélkulcs lehetőséget.

  10. 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.

    Képernyőkép az alkalmazásidentitás titkos kódjának létrehozásáról.

    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.

    Képernyőkép a titkos értékről és a titkos azonosítóról, a kijelölt titkos érték másolás gombjával.

  11. 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

  1. A Azure Portal keresse meg és válassza ki a webalkalmazást vagy AZ API-alkalmazást.

  2. A Beállítások területen válassza a Hitelesítés>Identitásszolgáltató hozzáadása lehetőséget.

  3. 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.

  4. Most hozzon létre egy alkalmazásidentitást a webalkalmazáshoz vagy API-alkalmazáshoz az alábbiak szerint:

    1. Az Alkalmazásregisztráció típusa beállításnál válassza az Új alkalmazásregisztráció létrehozása lehetőséget.

    2. A Név mezőben adja meg az alkalmazás identitásának nevét.

    3. A Támogatott fióktípusok beállításnál válassza ki a forgatókönyvnek megfelelő fióktípusokat.

    4. 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.

    5. A Nem hitelesített kérések esetében válassza ki a beállítást a forgatókönyve alapján.

    6. 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:

    Képernyőkép a webalkalmazáshoz vagy API-alkalmazáshoz újonnan létrehozott alkalmazásidentitásról.

    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

  1. A webalkalmazás navigációs menüjében válassza a Hitelesítés lehetőséget.

  2. Az Identitásszolgáltató szakaszban keresse meg a korábban létrehozott alkalmazásidentitást. Válassza ki az alkalmazásidentitás nevét.

    Képernyőkép az újonnan létrehozott alkalmazásidentitásról, amelyen meg van nyitva az Áttekintés panel.

  3. 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.

    Képernyőkép az alkalmazásidentitás Áttekintés paneljéről, amelyen az

    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:

Üzembe helyezés az Azure-ban

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.

  1. Nyissa meg a logikai alkalmazás definícióját kódnézetben.

  2. 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.

Következő lépések