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:

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

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

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

  1. Az Azure Portalon válassza a Microsoft Entra-azonosítót.

  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 egy másik könyvtárat. Vagy válassza az Áttekintés>kapcsoló könyvtárat.

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

    Screenshot showing Azure portal with Microsoft Entra instance,

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

    Screenshot showing

    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.

    Screenshot showing the application identity for your logic app.

  5. Az alkalmazásregisztrációk listájában válassza ki az új alkalmazás-identitá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 csoportjában másolja és mentse az alkalmazásazonosítót a logikai alkalmazás "ügyfélazonosítójaként" a 3. részben.

    Screenshot showing the application (client) ID underlined.

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

  9. Az Ügyfél titkos kulcsok lapján válassza az Új ügyfélkód lehetőséget.

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

    Screenshot showing secret creation for application identity.

    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.

    Screenshot showing secret value and secret ID with copy button for secret value selected.

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

  1. Az Azure Portalon keresse meg és válassza ki a webalkalmazást vagy az API-alkalmazást.

  2. A Gépház területen válassza az Identitásszolgáltató hozzáadása hitelesítés>lehetőséget.

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

  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ípusához válassza az Új alkalmazásregisztráció létrehozása lehetőséget.

    2. Adja meg az alkalmazás identitásának nevét.

    3. Támogatott fióktípusok esetén válassza ki a forgatókönyvnek megfelelő fióktípusokat.

    4. A hozzáférés korlátozásához válassza a Hitelesítés megkövetelése lehetőséget.

    5. Nem hitelesített kérések esetén 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:

    Screenshot showing newly created application identity for web app or API app.

    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

  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ásadentitást. Válassza ki az alkalmazás identitásának nevét.

    Screenshot showing newly created application identity with 'Overview' pane open.

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

    Screenshot showing application identity's 'Overview' pane open with 'Application (client) ID' value and 'Directory (tenant) ID' value underlined.

    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:

Deploy to Azure

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.

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

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

További lépések