Microsoft Azure Data Manager for Energy API-k közzététele biztonságos API-átjárón
Az Azure API Management kulcsfontosságú közvetítőként szolgál az ügyfélalkalmazások és a háttérbeli API-k között. Megkönnyíti az ügyfelek számára a szolgáltatások elérését azáltal, hogy elrejtik a technikai részleteket, és lehetővé teszik a szervezetek számára az API-biztonság feletti ellenőrzést.
Az Azure Data Manager for Energy API-k Azure API Managementen keresztüli közzétételével az Azure Data Manager for Energy Private Link szolgáltatást használhatja a privát forgalomhoz, és teljesen eltávolíthatja a példányhoz való közvetlen nyilvános hozzáférést.
Ez a cikk bemutatja, hogyan állíthatja be az Azure API Managementet az Azure Data Manager for Energy API-k biztonságossá tételéhez.
Előfeltételek
Az útmutató elvégzéséhez a következő összetevőkre, eszközökre és információkra van szüksége:
Egy két alhálózattal rendelkező virtuális hálózat , az egyik az Azure Data Manager for Energy privát végponthoz, a másik pedig az Azure API Management virtuális hálózat injektálásához.
Az Azure Data Manager for Energy az alhálózaton üzembe helyezett privát kapcsolattal van konfigurálva.
Az Azure API Management virtuális hálózati injektálással lett üzembe helyezve és üzembe helyezve a virtuális hálózatban. Válassza a Külső mód lehetőséget, vagy tekintse meg a Belső mód Egyéb beállítások szakaszát.
Egy kódszerkesztő, például a Visual Studio Code az Azure Data Manager for Energy OpenAPI specifikációinak módosításához az egyes közzétett API-khoz.
Töltse le az Azure Data Manager for Energy OpenAPI specifikációit az adme-samples GitHub-adattárból. Lépjen a rest-apis könyvtárra, és válassza ki az alkalmazás megfelelő verzióját.
A kiépítéskor használt Azure Data Manager for Energy alkalmazás alkalmazásregisztrációjában jegyezze fel a bérlőazonosítót és az ügyfélazonosítót:
Az API Management-példány előkészítése
Az Alábbi lépésekkel módosíthatja az Azure API Management-példány konfigurációját:
A Minden erőforrás panelen válassza ki az útmutatóhoz használt Azure API Management-példányt.
Lépjen a Termékek beállításai lapra az API-beállítások csoportosításából:
A Termékek lapon kattintson a Hozzáadás gombra egy új termék létrehozásához. Az Azure API Management Products lehetővé teszi az API-k lazán összekapcsolt csoportosításának létrehozását, amelyek együttesen szabályozhatók és kezelhetők. Létrehozunk egy terméket az Azure Data Manager for Energy API-khoz.
A Termék hozzáadása lapon adja meg a következő táblázatban leírt értékeket a termék létrehozásához.
Beállítás Érték Megjelenítendő név "Azure Data Manager for Energy Product" ID (Azonosító) "adme-product" Leírás Adjon meg egy leírást, amely jelzi a fejlesztőknek, hogy mely API-kat csoportosítjuk Közzétett Jelölje be ezt a jelölőnégyzetet a létrehozott termék közzétételéhez Előfizetés szükséges Jelölje be ezt a jelölőnégyzetet az API-k alapszintű engedélyezéséhez Jóváhagyást igényel Ha azt szeretné, hogy egy rendszergazda áttekintse és elfogadja vagy elutasítsa a termékre irányuló előfizetési kísérleteket, választhatja ki. Ha nincs kiválasztva, a rendszer automatikusan jóváhagyja az előfizetési kísérleteket. Előfizetések számának korlátozása Igény szerint korlátozhatja több egyidejű előfizetés számát. Jogi feltételek Opcionálisan meghatározhatja a termék használati feltételeit, amelyeket az előfizetőknek el kell fogadniuk a termék használatához. API-k Ezt a funkciót figyelmen kívül hagyhatjuk. A cikk későbbi részében API-kat társítunk Válassza a Létrehozás lehetőséget az új termék létrehozásához.
Ha a termék létrehozása befejeződött, a portál visszaküldi Önt a Termékek lapra. Válassza ki az újonnan létrehozott termékünket , az Azure Data Manager for Energy Product-t a Termék erőforráslapra való ugráshoz. Válassza ki a Házirendek beállítás menüelemet a beállítások menüből.
A Bejövő feldolgozás panelen válassza a </> ikont, amely lehetővé teszi a termék szabályzatainak módosítását. A megoldás biztonságának növelése érdekében három szabályzatkészletet adhat hozzá:
- Az Entra-azonosító jogkivonat érvényesítése annak ellenőrzéséhez, hogy a hitelesítés nélküli kérések le vannak-e fogottak az API-átjárón
- Kvóta és sebességkorlát a kérelmek és az összes továbbított kérelem/adat sebességének szabályozásához
- A fejléc beállítása a háttér API-k által visszaadott fejlécek eltávolítására, amelyek bizalmas részleteket fedhetnek fel a potenciális rossz szereplők számára
Adja hozzá a következő validate-azure-ad-token szabályzatot a konfigurációnkhoz a bejövő címkéken belül és az alapcímke alatt. Mindenképpen frissítse a sablont az előfeltételekben szereplő Microsoft Entra-azonosító alkalmazásadatokkal.
<validate-azure-ad-token tenant-id="INSERT_TENANT_ID"> <client-application-ids> <application-id>INSERT_APP_ID</application-id> </client-application-ids> </validate-azure-ad-token>
Az validate-azure-ad-token szabályzat alatt adja hozzá a következő kvóta- és sebességkorlát-szabályzatokat. Frissítse a szabályzatkonfigurációs értékeket a felhasználók számára megfelelő módon.
<rate-limit calls="20" renewal-period="90" remaining-calls-variable-name="remainingCallsPerSubscription"/> <quota calls="10000" bandwidth="40000" renewal-period="3600" />
A szabályzatszerkesztő kimenő szakaszához és az alapcímke alá adja hozzá a következő készletfejléc-szabályzatokat.
<set-header name="x-envoy-upstream-service-time" exists-action="delete" /> <set-header name="x-internal-uri-pattern" exists-action="delete" />
A módosítások véglegesítéséhez válassza a Mentés lehetőséget.
Lépjen vissza az API Management-erőforráshoz az Azure Portalon. Válassza a Háttér menüelemet, majd a + Hozzáadás gombot.
A háttérmodernben adja meg az alábbi táblázatban leírt értékeket a háttérrendszer létrehozásához.
Beállítás Érték Név "adme-backend" Leírás Adjon meg egy leírást, amely jelzi a fejlesztőknek, hogy ez a háttérrendszer az Azure Data Manager for Energy API-khoz kapcsolódik Típus Egyéni URL-cím Futtatókörnyezet URL-címe Adja meg az Azure Data Manager for Energy URI _ex. https://INSERT_ADME_NAME.energy.azure.com/
Tanúsítványlánc érvényesítése Jelölje be Tanúsítvány nevének ellenőrzése Jelölje be Válassza a Létrehozás lehetőséget a háttérrendszer létrehozásához. Ezt az újonnan létrehozott háttérrendszert a következő szakaszban fogjuk használni az API-k közzétételekor.
Az Azure Data Manager importálása energia API-khoz
Az alábbi lépésekkel importálhatja, konfigurálhatja és közzéteheti az Azure Data Manager for Energy API-kat az Azure API Management-átjáróban:
Lépjen vissza az előző szakaszban használt Azure API Management-példányhoz .
Válassza az API-k menüelemet a menüből, majd válassza az + API hozzáadása gombot.
Válassza az OpenAPI lehetőséget a Létrehozás definícióból fejléc alatt.
A Create from OpenAPI specifikációs modális ablakban válassza a Teljes váltógombot.
Keresse meg az előfeltételek részeként letöltött OpenAPI-specifikációkat, és nyissa meg a sémaspecifikációt a választott kódszerkesztővel. Keresse meg a "kiszolgáló" szót, és jegyezze fel a kiszolgáló URL-címét a fájlban, például :api/schema-service/v1/.
Válassza a Fájl kiválasztása és a Séma API specifikációja lehetőséget. Amikor a feltöltés befejeződött, a modális ablak betölt néhány értéket a specifikációból.
A többi mezőnél adja meg az alábbi táblázatban leírt értékeket:
Beállítás Érték A szükséges lekérdezési paraméterek belefoglalása a műveleti sablonokba Jelölje be Megjelenített név Adjon meg egy megjelenítendő nevet, amely érthető az alkalmazásfejlesztők számára, például az Azure Data Manager for Energy Schema Service számára Név Az API Management egy kebab-kisbetűs nevet javasol. A név módosítható, de egyedinek kell lennie a példányhoz Leírás Az OpenAPI-specifikáció meghatározhat egy leírást, ha így a leírás automatikusan feltöltődik. Igény szerint frissítse a használati eset leírását. URL-séma Válassza a "Mindkettő" lehetőséget API URL-címének utótagja Adjon meg egy utótagot az összes Azure Data Manager for Energy API-hoz (például adme). Ezután adja meg a kiszolgáló URL-címét az 5. lépésben. A végső értéknek a /adme/api/schema-service/v1/ értékhez hasonlóan kell kinéznie. Az utótag lehetővé teszi, hogy megfeleljen a meglévő ügyfeleknek és szoftverfejlesztői készleteknek, amelyek általában közvetlenül csatlakoznak az Azure Data Manager for Energy API-khoz Címkék Ha szeretné, adja meg a címkéket Termékek Válassza ki az előző szakaszban létrehozott "Azure Data Manager for Energy" terméket Fontos
Ellenőrizze az API URL-utótagját, ez gyakori oka az Azure Data Manager for Energy API-k közzétételének hibáinak
Válassza a Létrehozás lehetőséget az API-homlokzat létrehozásához.
Válassza ki az újonnan létrehozott Séma API-homlokzatot az API-k listájából, és válassza a műveleti lista Minden művelet elemét. A Bejövő feldolgozás panelen válassza a </>ikont a szabályzatdokumentum szerkesztéséhez.
Az API konfigurálásához adjon hozzá két szabályzatkészletet:
- A Háttérszolgáltatás beállítása a kérések átirányításához az Azure Data Manager for Energy-példányhoz
- Írja át az URI-t az adme előtag eltávolításához és a kérés a háttér API-hoz való létrehozásához. Ez a házirend-utasítás szabályzatkifejezésekkel dinamikusan adja hozzá az aktuális művelet URL-sablonjának értékét a kiszolgáló URL-címéhez.
Jegyezze fel a kiszolgáló URL-címét az 5. lépésben. Az alapcímke alatt, a bejövő szakaszban szúrja be a következő két házirend-utasítást.
<set-backend-service backend-id="adme-backend" />
<!-- replace the '/api/schema-service/v1' with the server URL for this API specification you noted in step 5 --> <rewrite-uri template="@{return "/api/schema-service/v1"+context.Operation.UrlTemplate;}" />
A módosítások véglegesítéséhez válassza a Mentés lehetőséget.
Tesztelje az API-t úgy, hogy kiválasztja a GET Version info műveletet a műveletlistából. Ezután válassza a Teszt fület az Azure API Management tesztkonzoljára való navigáláshoz.
Adja meg az alábbi táblázatban leírt értékeket. Hozzon létre egy hitelesítési jogkivonatot az Azure Data Manager for Energy-hez. Válassza a Küldés lehetőséget az API teszteléséhez.
Beállítás Érték data-partition-id Az Azure Data Manager for Energy-példány adatpartíció-azonosítója Termék Válassza ki a korábban létrehozott Azure Data Manager for Energy terméket Engedélyezés "Tulajdonos" és a létrehozott hitelesítési jogkivonat Ha az API megfelelően van konfigurálva, a képernyőképhez hasonló HTTP 200 – OK válasznak kell megjelennie. Ha nem, ellenőrizze a hibaelhárítási szakaszt.
Ismételje meg a fenti lépéseket az egyes Azure Data Manager for Energy API-khoz és a kapcsolódó specifikációkhoz.
Hibaelhárítás
Az API-k Azure API Managementen keresztüli tesztelése során, ha hibákat tapasztal, általában konfigurációs problémákra mutatnak. A hiba alapján tekintse át a lehetséges megoldási lépéseket.
Kód | Hibaüzenet | Részletek |
---|---|---|
HTTP 401 Unauthorized |
Invalid Azure AD JWT |
Ellenőrizze, hogy rendelkezik-e érvényes hitelesítési fejléccel az Azure Data Manager for Energy-példány Microsoft Entra ID-bérlőjéhez és ügyfélalkalmazásához. |
HTTP 401 Unauthorized |
Azure AD JWT not present |
Ellenőrizze, hogy a hitelesítési fejléc hozzá van-e adva a tesztkérelemhez. |
HTTP 404 Not Found |
Ez a hiba általában azt jelenti, hogy a háttér API kérése rossz URL-címre történik. Kövesse nyomon az API-kérést az API Managementben, hogy megértse, milyen URL-cím jön létre a háttérkérelemhez, és győződjön meg róla, hogy az érvényes. Ha nem, ellenőrizze duplán az URL-átírási szabályzatot vagy a háttérrendszert. | |
HTTP 500 Internal Server Error |
Internal server error |
Ez a hiba általában egy, a háttér API-ra irányuló kéréseket kérő problémát jelez. Ebben a forgatókönyvben a probléma általában a tartománynév-szolgáltatásokkal (DNS) kapcsolatos. Ellenőrizze, hogy van-e privát DNS-zóna konfigurálva a virtuális hálózatban, vagy hogy az egyéni DNS-feloldás rendelkezik-e a megfelelő továbbítókkal. Az API-kérés nyomon követése az API Managementben annak megértéséhez, hogy milyen háttérkérelem történt, és milyen hibákat jelez az API Management a kérés megkísérlésekor. |
Egyéb szempontok
API Management belső virtuális hálózatkezelési mód
A belső mód teljesen elkülöníti az Azure API Managementet ahelyett, hogy nyilvános IP-címen keresztül teszi közzé a végpontokat. Ebben a konfigurációban a szervezetek biztosíthatják, hogy az összes Azure Data Manager for Energy belső legyen. Mivel az Azure Data Manager for Energy egy együttműködési megoldás a partnerekkel és az ügyfelekkel való együttműködéshez, ez a forgatókönyv nem feltétlenül előnyös.
App Gateway webalkalmazási tűzfallal
Ahelyett, hogy csak belső virtuális hálózati módot használ, számos szervezet úgy dönt, hogy biztonságos fordított proxy mechanizmust alkalmaz a belső módú Azure API Management-példány külső partnerek és ügyfelek számára való közzétételéhez. A belső módú példány teljesen elszigetelt marad egy szigorúan szabályozott bejövő forgalommal, amelynek a proxyn keresztül kell haladnia.
Azure-alkalmazás Átjáró egy gyakori szolgáltatás, amely fordított proxyként használható. Azure-alkalmazás Gateway webalkalmazási tűzfallal (WAF) is rendelkezik, amely aktívan észleli az alkalmazások és API-k biztonsági rései elleni lehetséges támadásokat.
Az Azure API Management konfigurálása egyéni tartománnyal
Az architektúra egy másik gyakori funkciója, hogy egyéni tartományt alkalmaz az API-kra. Bár az Azure Data Manager for Energy nem támogatja ezt a funkciót, ehelyett egyéni tartományt konfigurálhat az Azure API Managementben.
A tartomány tanúsítványa előfeltétele. Az Azure API Management azonban támogatja az egyéni tartományhoz tartozó ingyenes felügyelt tanúsítványok létrehozását.