Microsoft Entra-hitelesítés hozzáadása egyéni API-k Azure Logic Appsből való meghívásához

A következőkre vonatkozik: Azure Logic Apps (Fogyasztás)

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. Vagy megkövetelheti és kényszerítheti a hitelesítést az API kódján keresztül.

Hitelesítést a következő módokon adhat hozzá:

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 (alkalmazásregisztrációt): 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 bérlőhöz. 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 Portal keresőmezőjében keresse meg és válassza ki a Microsoft Entra-azonosítót.

  2. Győződjön meg arról, hogy ugyanabban a bérlőben van, mint a webalkalmazása vagy az API-alkalmazása.

    Tipp

    Bérlőváltáshoz nyissa meg a profilját az Azure címsorában, és válassza a Címtárváltás lehetőséget.

  3. A bérlői erőforrás menü Kezelés területén válassza az Alkalmazásregisztrációk lehetőséget.

    Az Alkalmazásregisztrációk lapon a bérlő összes alkalmazásregisztrációja látható. Ha csak az alkalmazásregisztrációkat szeretné megtekinteni, válassza a Saját alkalmazások lehetőséget.

  4. Az eszköztáron válassza az Új regisztráció lehetőséget.

    Képernyőkép az Azure Portalról a Microsoft Entra-bérlővel, az Alkalmazásregisztrációk panellel és az Új regisztráció kijelölt parancsával.

  5. Az alkalmazás regisztrálása lapon kövesse az alábbi lépéseket:

    1. Névként adjon meg egy felhasználóbarát nevet a logikai alkalmazás identitásához.

    2. A Támogatott fióktípusok területen válassza ki azt a lehetőséget, amely a legjobban leírja azokat a fióktípusokat, amelyek használhatják az alkalmazás identitását, vagy hozzáférhetnek az API-hoz.

    3. Az Átirányítási URI alattválassza a Web lehetőséget platformként. A beállítás mellett adjon meg egy egyedi URL-címet a helynek a hitelesítési válasz visszaadásához.

      Képernyőkép egy alkalmazás alkalmazás-identitás nevével és URL-címével való regisztrálásáról a hitelesítési válasz küldéséhez.

    4. Ha elkészült, válassza a Regisztráció lehetőséget.

    A Saját alkalmazások lapon megjelenik a létrehozott alkalmazásidentitás. Ha ez az identitás nem jelenik meg, az eszköztáron válassza a Frissítés lehetőséget.

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

  6. Az alkalmazásregisztrációk listájában válassza ki az új alkalmazás-identitást.

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

  8. Az Áttekintés lap Essentials területén másolja és mentse az alkalmazás (ügyfél) azonosítóját a logikai alkalmazás ügyfélazonosítójaként a 3. részben.

    Képernyőkép az alkalmazás (ügyfél) azonosítójának kiemelésével.

  9. Az alkalmazásidentitás menü Kezelés területén válassza a Tanúsítványok > titkos kulcsok lehetőséget.

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

  11. Az Ügyfélkód hozzáadása panel Leírás eleméhez adja meg a titkos kód nevét. Lejárat beállításnál válassza ki a titkos információ időtartamát. 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.

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

    A Tanúsítványok > titkos kódok lapon, az Ügyfél titkos kulcsok lapján a titkos kód most megjelenik egy titkos értékkel és titkos azonosítóval együtt.

    Képernyőkép a titkos kulcs értékének és titkos azonosítójának a kijelölt titkos kulcs másolási gombjáról.

  12. 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 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 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. Az Név mezőben 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.

    Az Identitásszolgáltató szakaszban megjelenik a webalkalmazás vagy API-alkalmazás új alkalmazásidentitása:

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

    Tipp

    Ha az alkalmazás identitása nem jelenik meg, az eszköztáron válassza a Frissítés lehetőséget.

Meg kell találnia annak az alkalmazásazonosságnak az alkalmazásazonosítóját és bérlőazonosítóját, amelyet most hozott létre a webalkalmazáshoz vagy az API-alkalmazáshoz. 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 menü Kezelés területén 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.

    Képernyőkép az újonnan létrehozott alkalmazásidentitás hitelesítési oldalának megnyitásáról.

  3. Az Áttekintés lapon 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.

    Képernyőkép a webalkalmazás-identitás áttekintési lapjáról, valamint az alkalmazás (ügyfél) azonosítójának és a címtár (bérlő) azonosítójának kiválasztott értékeiről.

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

Üzembe helyezés az Azure-ban

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 Szükséges Leírás
tenant Yes A Microsoft Entra-bérlő GUID azonosítója.
audience Yes 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 Yes 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 Yes A hozzáférési jogkivonatot kérő ügyfél alkalmazási identitásának titkos kódja vagy jelszava.
type Yes 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.

Fontos

A legmagasabb rendelkezésre állású vagy támogatott biztonsági szint mellett mindig védje és védje a bizalmas és személyes adatokat, például a hitelesítő adatokat, titkos kulcsokat, hozzáférési kulcsokat, kapcsolati sztringeket, tanúsítványokat, ujjlenyomatokat és hasonló információkat.

Győződjön meg arról, hogy biztonságosan tárolja ezeket az információkat a Microsoft Entra ID és az Azure Key Vault használatával. Ne kódolja le ezeket az információkat, ne ossza meg más felhasználókkal, és ne mentsen egyszerű szöveges formátumban bárhol, ahová mások hozzáférhetnek. Állítson be egy tervet a titkok elforgatására vagy visszavonására, amennyiben kompromittálódnak. További információt a következő források tartalmaznak:

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 Yes 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 Yes 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. Bár 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, mindig az elérhető vagy támogatott legjobb hitelesítési szintet használja.

Figyelmeztetés

A Microsoft a következő folyamatokat javasolja hitelesítéshez és engedélyezéshez:

  • Erőforrás-tulajdonosi jelszó hitelesítő adatai (ROPC) az OAuth 2.0-hoz

    Ez a folyamat lehetővé teszi, hogy jelszóval jelentkezzen be egy alkalmazásba. A folyamat nem kompatibilis a többtényezős hitelesítéssel (MFA), nagyon nagy megbízhatóságot igényel az alkalmazásban, és olyan kockázatokat hordoz, amelyek más folyamatokban nem léteznek. Ezt a folyamatot csak akkor használja, ha más biztonságosabb folyamatok nem támogatottak vagy érhetők el.

    További információ: Oauth 2.0 Erőforrás-tulajdonosi jelszó hitelesítő adatai.

  • Implicit engedélyezési folyamat az OAuth 2.0-hoz

    Ez a jogkivonat-alapú folyamat olyan hagyományos webalkalmazásokhoz készült, ahol a kiszolgáló biztonságosabban szabályozhatja az adatok feldolgozását POST , és gyakran használják az engedélyezési kódfolyamattal. Mivel ez a folyamat hogyan kezeli és adja vissza az azonosító jogkivonatokat vagy hozzáférési jogkivonatokat, a folyamat nagyon nagy fokú bizalmat igényel az alkalmazásban, és olyan kockázatokat hordoz, amelyek nem léteznek más folyamatokban. Ezt a folyamatot csak akkor használja, ha más biztonságosabb folyamatok nem támogatottak vagy érhetők el.

    További információ: OAuth 2.0 implicit engedélyezési folyamat.

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 Yes A használni kívánt hitelesítési típus. Az alapszintű hitelesítéshez az értéknek **Basic**-nak kell lennie.
username Yes A hitelesítéshez használni kívánt felhasználónév.
password Yes 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.

Következő lépések