Sdílet prostřednictvím


Publikování Microsoft Azure Data Manageru pro rozhraní API pro energii do zabezpečené brány rozhraní API

Azure API Management slouží jako zásadní zprostředkovatel mezi klientskými aplikacemi a back-endovými rozhraními API. Usnadňuje klientům přístup ke službám skrytím technických podrobností a poskytnutím kontroly nad zabezpečením rozhraní API organizacím.

Publikováním Azure Data Manageru pro rozhraní API pro energii prostřednictvím služby Azure API Management můžete použít Azure Data Manager pro funkci Energy Private Link pro privátní provoz a zcela odebrat přímý veřejný přístup k vaší instanci.

Tento článek popisuje, jak nastavit Azure API Management pro zabezpečení Azure Data Manageru pro rozhraní API pro energii.

Požadavky

K dokončení tohoto návodu potřebujete následující komponenty, nástroje a informace:

  • Virtuální síť se dvěma dostupnými podsítěmi, jedna pro azure Data Manager pro privátní koncový bod energie a druhá pro injektáž virtuální sítě služby Azure API Management.

  • Azure Data Manager pro energii nakonfigurovaný s privátním propojením nasazeným do podsítě.

  • Služba Azure API Management se zřídila a nasadila do virtuální sítě pomocí injektáže virtuální sítě. Vyberte Externí režim nebo si přečtěte část Další možnosti pro interní režim.

  • Editor kódu, jako je Visual Studio Code pro úpravu specifikace Azure Data Manageru pro energy OpenAPI pro každé z publikovaných rozhraní API.

  • Stáhněte si specifikace Azure Data Manageru pro Energy OpenAPI z úložiště GitHub s ukázkami adme-samples . Přejděte do adresáře rest-apis a vyberte odpovídající verzi vaší aplikace.

  • V registraci aplikace pro aplikaci Azure Data Manager for Energy, která byla použita v době zřizování, si poznamenejte ID tenanta a ID klienta:

    Snímek obrazovky s podrobnostmi o registraci aplikací

Příprava instance služby API Management

Pomocí následujících kroků proveďte změny konfigurace instance služby Azure API Management:

  1. V podokně Všechny prostředky zvolte instanci služby Azure API Management, která se používá pro tento názorný postup.

  2. Přejděte na stránku Nastavení produktů tak, že ji vyberete ze seskupování nastavení rozhraní API:

    Snímek obrazovky s kartou Produkty v instanci služby API Management

  3. Na stránce Produkty vyberte tlačítko Přidat a vytvořte nový produkt. Produkty Azure API Management umožňují vytvořit volně svázané seskupení rozhraní API, která se dají řídit a spravovat společně. Vytvoříme produkt pro naše rozhraní AZURE Data Manager pro rozhraní API pro energii.

  4. Na stránce Přidat produkt zadejte hodnoty popsané v následující tabulce a vytvořte produkt.

    Snímek obrazovky se stránkou Přidat produkty v instanci služby API Management

    Nastavení Hodnota
    Zobraz. název "Azure Data Manager pro energetický produkt"
    ID "adme-product"
    Popis Zadejte popis, který označuje vývojáře, která rozhraní API seskupujeme.
    Publikováno Zaškrtnutím tohoto políčka publikujete produkt, který vytvoříme.
    Vyžaduje předplatné Toto políčko zaškrtněte, pokud chcete poskytnout základní autorizaci pro naše rozhraní API.
    Vyžaduje schválení Volitelně můžete vybrat, jestli má správce zkontrolovat a přijmout nebo odmítnout pokusy o odběr tohoto produktu. Pokud není vybraná, pokusy o předplatné se automaticky schválí.
    Omezení počtu předplatných Volitelně můžete omezit počet více souběžných předplatných.
    Právní podmínky Volitelně můžete definovat podmínky použití pro produkt, který předplatitelé musí přijmout, aby mohli produkt používat.
    Rozhraní API Tuto funkci můžeme ignorovat. Rozhraní API přidružíme dále v tomto článku.
  5. Vyberte Vytvořit a vytvořte nový produkt.

  6. Po vytvoření produktu se portál vrátí na stránku Produkty. Výběrem nově vytvořeného produktu Azure Data Manager pro energetický produkt přejděte na stránku Zdroje produktu. V nabídce nastavení vyberte položku nabídky Nastavení zásad.

    Snímek obrazovky se stránkou konfigurace zásad produktu v instanci služby API Management

  7. V podokně Příchozí zpracování vyberte <ikonu /> , která umožňuje upravit zásady pro produkt. Přidáte tři sady zásad pro zvýšení zabezpečení řešení:

    • Ověřte token ID Entra, abyste zajistili, že se neověřené požadavky zachytí v bráně rozhraní API.
    • Kvóta a omezení četnosti pro řízení četnosti požadavků a celkového počtu požadavků/přenášených dat
    • Nastavení hlavičky pro odebrání hlaviček vrácených back-endovými rozhraními API, která můžou odhalit citlivé podrobnosti potenciálním chybným objektům actor
  8. Do naší konfigurace v rámci příchozích značek a pod základní značku přidejte následující zásady validate-azure-ad-token. Nezapomeňte šablonu aktualizovat pomocí podrobností aplikace Microsoft Entra ID, které jsou uvedené v požadavcích.

    <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>
    
  9. Pod zásadu validate-azure-ad-token přidejte následující zásady kvót a omezení četnosti . Aktualizujte hodnoty konfigurace zásad podle potřeby pro uživatele.

    <rate-limit calls="20" renewal-period="90" remaining-calls-variable-name="remainingCallsPerSubscription"/>
    <quota calls="10000" bandwidth="40000" renewal-period="3600" />
    
  10. Do oddílu odchozích přenosů editoru zásad a pod základní značku přidejte následující zásady hlavičky sady.

    <set-header name="x-envoy-upstream-service-time" exists-action="delete" />
    <set-header name="x-internal-uri-pattern" exists-action="delete" />
    
  11. Výběrem možnosti Uložit potvrdíte změny.

    Snímek obrazovky s úplným dokumentem zásad

  12. Vraťte se k prostředku služby API Management na webu Azure Portal. Vyberte položku nabídky Back-endy a vyberte tlačítko + Přidat.

    Snímek obrazovky se stránkou Back-ends

  13. V modálním režimu back-endu zadejte hodnoty popsané v následující tabulce a vytvořte back-end.

    Nastavení Hodnota
    Name "adme-back-end"
    Popis Zadejte popis, který označuje vývojáře, že tento back-end souvisí s Azure Data Managerem pro rozhraní API pro energii.
    Typ Vlastní adresa URL
    Runtime URL Zadejte _ex azure Data Manageru pro energetické identifikátory URI. https://INSERT_ADME_NAME.energy.azure.com/
    Ověření řetězu certifikátů Zkontrolováno
    Ověření názvu certifikátu Zkontrolováno

    Snímek obrazovky s modální možností back-endů

  14. Výběrem možnosti Vytvořit vytvořte back-end. Tento nově vytvořený back-end se použije v další části při publikování rozhraní API.

Import Azure Data Manageru pro rozhraní API pro energii

Pomocí následujících kroků naimportujte, nakonfigurujte a publikujte Azure Data Manager pro energetická rozhraní API do brány služby Azure API Management:

  1. Vraťte se do instance služby Azure API Management , která se používá v poslední části.

  2. V nabídce vyberte položku nabídky rozhraní API a pak vyberte tlačítko + Přidat rozhraní API .

  3. V části Vytvořit z definice vyberte OpenAPI.

    Snímek obrazovky importu OpenAPI

  4. V modálním okně Vytvořit ze specifikace OpenAPI vyberte přepínač Úplné.

  5. Vyhledejte specifikace OpenAPI, které jste stáhli jako součást požadavků, a otevřete specifikaci schématu pomocí editoru kódu podle vašeho výběru. Vyhledejte slovo "server" a poznamenejte si adresu URL serveru v souboru , např. /api/schema-service/v1/.

  6. Vyberte soubor a vyberte specifikaci rozhraní API schématu. Po dokončení nahrávání se v modálním okně načte některé hodnoty ze specifikace.

  7. Do ostatních polí zadejte hodnoty popsané v následující tabulce:

    Nastavení Hodnota
    Zahrnutí požadovaných parametrů dotazu do šablon operací Zkontrolováno
    Zobrazované jméno Zadejte zobrazovaný název, který dává smysl pro vývojáře aplikací, např. Azure Data Manager pro službu Energy Schema Service.
    Název API Management navrhuje název kebab-cased. Volitelně je možné název změnit, ale musí být jedinečný pro instanci.
    Popis Specifikace OpenAPI může definovat popis, pokud se popis automaticky naplní. Volitelně můžete aktualizovat popis podle případu použití.
    Schéma URL Vyberte Obě.
    Přípona adresy URL rozhraní API Zadejte příponu pro všechna rozhraní API Azure Data Manageru pro energy API (např. adme). Pak zadejte adresu URL serveru z kroku 5. Konečná hodnota by měla vypadat jako /adme/api/schema-service/v1/. Přípona nám umožňuje dodržovat stávající klienty a sady pro vývoj softwaru, které se normálně připojují k Azure Data Manageru pro rozhraní API pro energii přímo.
    Značky Volitelně zadejte značky.
    Produkty Vyberte produkt Azure Data Manager for Energy vytvořený v předchozí části.

    Důležité

    Ověřte příponu ADRESY URL rozhraní API, což je běžná příčina chyb při publikování Azure Data Manageru pro rozhraní API pro energii.

  8. Výběrem možnosti Vytvořit vytvořte fasádu rozhraní API.

    Snímek obrazovky vytvořit ze specifikace OpenAPI

  9. V seznamu rozhraní API vyberte nově vytvořenou fasádu rozhraní SCHEMA API a v seznamu operací vyberte Všechny operace . V podokně Zpracování příchozích dat vyberte <ikonu /> a upravte dokument zásad.

    Snímek obrazovky zásad rozhraní API

  10. Pokud chcete rozhraní API nakonfigurovat, přidejte dvě sady zásad:

    • Nastavení back-endové služby pro směrování požadavků na instanci Azure Data Manageru pro energii
    • Přepsáním identifikátoru URI odeberete předponu adme a sestavíte požadavek na back-endové rozhraní API. Toto prohlášení zásad používá výrazy zásad k dynamickému přidání hodnoty šablony adresy URL aktuální operace na adresu URL serveru.
  11. Poznamenejte si adresu URL serveru z kroku 5. Pod základní značku vložte v části příchozích dat následující dva prohlášení o zásadách.

    <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;}" />
    
  12. Výběrem možnosti Uložit potvrdíte změny.

  13. Otestujte rozhraní API výběrem operace ZÍSKAT informace o verzi ze seznamu operací. Pak vyberte kartu Test a přejděte do testovací konzoly služby Azure API Management.

  14. Zadejte hodnoty popsané v následující tabulce. Vygenerujte ověřovací token pro Azure Data Manager pro energii. Vyberte Odeslat a otestujte rozhraní API.

    Nastavení Hodnota
    data-partition-id ID datového oddílu pro instanci Azure Data Manageru pro energii
    Produkt Vyberte Azure Data Manager pro energetický produkt vytvořený dříve.
    Autorizace Bearer a ověřovací token, který jste vygenerovali

    Snímek obrazovky s konzolou pro vytvoření z testovací konzoly rozhraní API

  15. Pokud je rozhraní API správně nakonfigurované, měli byste vidět odpověď HTTP 200 – OK , která vypadá podobně jako na snímku obrazovky. Pokud ne, projděte si část Řešení potíží.

  16. Opakujte výše uvedené kroky pro každý Azure Data Manager pro rozhraní API pro energii a přidruženou specifikaci.

Řešení problému

Pokud během testování rozhraní API prostřednictvím služby Azure API Management narazíte na chyby, které obvykle odkazují na problémy s konfigurací. Na základě chyby si projděte potenciální kroky řešení.

Kód Chybová zpráva Detaily
HTTP 401 Unauthorized Invalid Azure AD JWT Zkontrolujte, jestli máte platnou hlavičku ověřování pro klienta Microsoft Entra ID a klientskou aplikaci pro instanci Azure Data Manageru pro energii.
HTTP 401 Unauthorized Azure AD JWT not present Zkontrolujte, jestli je hlavička ověřování přidaná do testovací žádosti.
HTTP 404 Not Found Tato chyba obvykle znamená, že požadavek na back-endové rozhraní API se provádí na nesprávnou adresu URL. Sledujte požadavek rozhraní API ve službě API Management, abyste pochopili, jaká adresa URL se vygeneruje pro požadavek back-endu, a ujistěte se, že je platná. Pokud ne, pečlivě zkontrolujte zásady přepsání adresy URL nebo back-end.
HTTP 500 Internal Server Error Internal server error Tato chyba obvykle odráží problém s prováděním požadavků na back-endové rozhraní API. V tomto scénáři obvykle problém souvisí se službou DNS (Domain Name Services). Zkontrolujte, jestli je ve vaší virtuální síti nakonfigurovaná privátní zóna DNS nebo jestli má váš vlastní překlad DNS odpovídající služby předávání. Sledujte požadavek rozhraní API ve službě API Management, abyste pochopili, co se provedlo v back-endovém požadavku a o jaké chyby služba API Management hlásí při pokusu o provedení požadavku.

Ostatní úvahy

Interní režim virtuální sítě služby API Management

Interní režim zcela izoluje Službu Azure API Management místo vystavení koncových bodů prostřednictvím veřejné IP adresy. V této konfiguraci můžou organizace zajistit, aby všechny služby Azure Data Manager pro energii byly interní. Vzhledem k tomu, že Azure Data Manager pro energii je řešení pro spolupráci s partnery a zákazníky, nemusí být tento scénář přínosný tak, jak je.

App Gateway s firewallem webových aplikací

Místo použití interního režimu virtuální sítě se mnoho organizací rozhodne použít zabezpečený mechanismus reverzního proxy serveru, aby zpřístupnil instanci služby Azure API Management v interním režimu externím partnerům a zákazníkům. Instance interního režimu zůstává plně izolovaná s úzce řízeným příchozím přenosem dat, který musí projít proxy serverem.

Aplikace Azure Gateway je běžná služba, která se používá jako reverzní proxy server. Aplikace Azure Gateway má také funkci firewallu webových aplikací (WAF), která aktivně detekuje potenciální útoky na ohrožení zabezpečení ve vašich aplikacích a rozhraních API.

Konfigurace služby Azure API Management s vlastní doménou

Další běžnou funkcí této architektury je použití vlastní domény pro rozhraní API. I když Azure Data Manager pro energii tuto funkci nepodporuje, můžete místo toho nakonfigurovat vlastní doménu ve službě Azure API Management.

Předpokladem je certifikát pro doménu. Azure API Management ale podporuje vytváření bezplatných spravovaných certifikátů pro vaši vlastní doménu.