Sdílet prostřednictvím


Zabezpečení aplikace démona

Tento článek popisuje, jak hostovat aplikace démona v důvěryhodném a zabezpečeném prostředí v Microsoft Azure Maps.

Tady jsou příklady aplikací démona:

  • Webová úloha Azure
  • Aplikace funkcí Azure
  • Služba systému Windows
  • Spuštěná a spolehlivá služba na pozadí

Zobrazení podrobností o ověřování Azure Maps

Zobrazení podrobností o ověřování účtu Azure Maps na webu Azure Portal:

  1. Přihlaste se k portálu Azure.

  2. Přejděte do nabídky webu Azure Portal. Vyberte Všechny prostředky a pak vyberte svůj účet Azure Maps.

  3. V části Nastavení v levém podokně vyberte Ověřování.

    Snímek obrazovky s možnostmi ověřování Azure Maps na webu Azure Portal

Při vytváření účtu Azure Maps se vytvoří tři hodnoty. Používají se k podpoře dvou typů ověřování v Azure Maps:

  • Ověřování Microsoft Entra: Představuje Client ID účet, který se má použít pro požadavky rozhraní REST API. Hodnota Client ID by měla být uložena v konfiguraci aplikace a pak by se měla načíst před vytvořením požadavků HTTP služby Azure Maps, které používají ověřování Microsoft Entra.
  • Ověřování pomocí sdíleného klíče: Klíč Secondary Key Primary Key předplatného se používá pro ověřování pomocí sdíleného klíče. Ověřování pomocí sdíleného klíče spoléhá na předání klíče vygenerovaného účtem Azure Maps s každou žádostí do Azure Maps. Doporučujeme pravidelně obnovovat klíče. Pro zachování aktuálních připojení během regenerace jsou k dispozici dva klíče. Při opětovném vygenerování druhého klíče je možné použít jeden klíč. Při každém vygenerování klíče je nutné aktualizovat všechny aplikace, které k tomuto účtu přistupují, aby používaly nový klíč. Další informace najdete v tématu Ověřování pomocí Azure Maps.

Důležité

Pro produkční aplikace doporučujeme implementovat ID Microsoft Entra a řízení přístupu na základě role v Azure (Azure RBAC). Přehled konceptů Microsoft Entra najdete v tématu Ověřování pomocí Azure Maps.

Scénář: Ověřování pomocí sdíleného klíče ve službě Azure Key Vault

Aplikace, které používají ověřování pomocí sdíleného klíče, by měly klíče ukládat do zabezpečeného úložiště. Tento scénář popisuje, jak bezpečně ukládat klíč aplikace jako tajný kód ve službě Azure Key Vault. Místo uložení sdíleného klíče v konfiguraci aplikace může aplikace načíst sdílený klíč jako tajný klíč služby Azure Key Vault. Pro zjednodušení regenerace klíčů doporučujeme, aby aplikace vždy používaly jeden klíč. Aplikace pak mohou znovu vygenerovat nepoužívaný klíč a nasadit znovu vygenerovaný klíč do služby Azure Key Vault a současně udržovat aktuální připojení s jedním klíčem. Informace o konfiguraci služby Azure Key Vault najdete v příručce pro vývojáře služby Azure Key Vault.

Důležité

Tento scénář nepřímo přistupuje k ID Microsoft Entra prostřednictvím služby Azure Key Vault. Doporučujeme však použít přímo ověřování Microsoft Entra. Použití Microsoft Entra ID přímo zabraňuje dalším složitostem a provozním požadavkům při ověřování pomocí sdíleného klíče a nastavení služby Key Vault.

Následující kroky popisují tento proces:

  1. Vytvoření služby Azure Key Vault
  2. Vytvořte instanční objekt Microsoft Entra vytvořením registrace aplikace nebo spravované identity. Vytvořený objekt zabezpečení zodpovídá za přístup ke službě Azure Key Vault.
  3. Přiřaďte instančnímu objektu přístup k oprávnění k tajným klíčům get Azure. Podrobnosti o nastavení oprávnění najdete v tématu Přiřazení zásad přístupu ke službě Key Vault pomocí webu Azure Portal.
  4. Jako vývojář vám dočasně přiřaďte přístup k tajným kódům set .
  5. Nastavte sdílený klíč v tajných klíčích služby Key Vault a odkazujte na ID tajného kódu jako konfiguraci pro aplikaci démona.
  6. Odeberte oprávnění k tajným kódům set .
  7. Pokud chcete načíst tajný kód sdíleného klíče ze služby Azure Key Vault, implementujte v aplikaci démona ověřování Microsoft Entra.
  8. Vytvořte požadavek rozhraní REST API služby Azure Maps se sdíleným klíčem. Teď může aplikace démona načíst sdílený klíč ze služby Key Vault.

Tip

Pokud je aplikace hostovaná v prostředí Azure, doporučujeme použít spravovanou identitu ke snížení nákladů a složitosti správy tajného kódu pro ověřování. Informace o nastavení spravované identity najdete v kurzu : Použití spravované identity k připojení služby Key Vault k webové aplikaci Azure v .NET.

Scénář: Řízení přístupu na základě role microsoft Entra

Po vytvoření účtu Azure Maps se hodnota Azure Maps Client ID zobrazí na stránce podrobností o ověřování na webu Azure Portal. Tato hodnota představuje účet, který se má použít pro požadavky rozhraní REST API. Tato hodnota by měla být uložena v konfiguraci aplikace a načtena před provedením požadavků HTTP. Cílem tohoto scénáře je umožnit aplikaci démona ověřit v MICROSOFT Entra ID a volat rozhraní REST API služby Azure Maps.

Tip

Pokud chcete povolit výhody komponent spravované identity, doporučujeme hostovat ve službě Azure Virtual Machines, Virtual Machine Scale Sets nebo App Services.

Hostování démona v prostředcích Azure

Při spouštění na prostředcích Azure můžete nakonfigurovat identity spravované v Azure tak, aby umožňovaly nízkou cenu a minimální úsilí o správu přihlašovacích údajů.

Pokud chcete povolit přístup aplikací ke spravované identitě, přečtěte si přehled spravovaných identit.

Mezi výhody spravované identity patří:

  • Ověřování kryptografie certifikátu X509 spravovaného systémem Azure
  • Zabezpečení Microsoft Entra s certifikáty X509 místo tajných klíčů klienta.
  • Azure spravuje a obnovuje všechny certifikáty přidružené k prostředku spravované identity.
  • Provozní správa přihlašovacích údajů je zjednodušená, protože spravovaná identita eliminuje potřebu zabezpečené služby úložiště tajných kódů, jako je Azure Key Vault.

Hostování démona na prostředcích mimo Azure

Spravované identity jsou dostupné jenom v prostředí Azure. Proto musíte instanční objekt nakonfigurovat prostřednictvím registrace aplikace Microsoft Entra pro aplikaci démona.

Vytvoření registrace nové aplikace

Pokud jste už vytvořili registraci aplikace, přejděte do části Přiřazení delegovaných oprávnění rozhraní API.

Vytvoření nové registrace aplikace:

  1. Přihlaste se k portálu Azure.

  2. Vyberte Microsoft Entra ID.

  3. V části Spravovat v levém podokně vyberte Registrace aplikací.

  4. Vyberte kartu + Nová registrace.

    Snímek obrazovky znázorňující registraci aplikace v Microsoft Entra ID

  5. Zadejte název a pak vyberte typ účtu podpory.

    Vytvořte registraci aplikace.

  6. Vyberte Zaregistrovat.

Přiřazení delegovaných oprávnění rozhraní API

Přiřazení delegovaných oprávnění rozhraní API k Azure Maps:

  1. Pokud jste to ještě neudělali, přihlaste se k webu Azure Portal.

  2. Vyberte Microsoft Entra ID.

  3. V části Spravovat v levém podokně vyberte Registrace aplikací.

  4. Vyberte aplikaci.

    Vyberte registrace aplikací.

  5. V části Spravovat v levém podokně vyberte oprávnění rozhraní API.

  6. Vyberte Přidat oprávnění.

    Přidejte oprávnění aplikace.

  7. Vyberte rozhraní API, která moje organizace používá, kartu.

  8. Do vyhledávacího pole zadejte Azure Maps.

  9. Vyberte Azure Maps.

    Požádejte o oprávnění aplikace.

  10. Zaškrtněte políčko Access Azure Maps.

  11. Vyberte Přidat oprávnění.

    Vyberte oprávnění rozhraní API aplikace.

Vytvoření tajného klíče klienta nebo konfigurace certifikátu

Pokud chcete do aplikace implementovat ověřování na základě serveru nebo aplikace, můžete zvolit jednu ze dvou možností:

  • Nahrajte certifikát veřejného klíče.
  • Vytvořte tajný kód klienta.
Nahrání certifikátu veřejného klíče

Nahrání certifikátu veřejného klíče:

  1. V části Spravovat v levém podokně vyberte Certifikáty a tajné kódy.

  2. Vyberte Nahrát certifikát. Nahrání certifikátu

  3. Napravo od textového pole vyberte ikonu souboru.

  4. Vyberte soubor .crt, .cer nebo .pem a pak vyberte Přidat.

    Nahrajte soubor certifikátu.

Vytvoření tajného klíče klienta

Vytvoření tajného klíče klienta:

  1. V části Spravovat v levém podokně vyberte Certifikáty a tajné kódy.

  2. Vyberte + Nový tajný kód klienta.

    Nový tajný kód klienta.

  3. Zadejte popis pro tento tajný kód klienta.

  4. Vyberte Přidat.

    Přidejte nový tajný klíč klienta.

  5. Zkopírujte tajný klíč a bezpečně ho uložte do služby, jako je Azure Key Vault. Dále použijte tajný klíč v tokenu požadavku s částí Spravovaná identita tohoto článku.

    Zkopírujte tajný klíč klienta.

    Důležité

    Informace o bezpečném uložení certifikátu nebo tajného kódu najdete v příručce pro vývojáře služby Azure Key Vault. Tento tajný kód použijete k získání tokenů z ID Microsoft Entra.

Udělení přístupu na základě role uživatelům službě Azure Maps

Řízení přístupu na základě role Azure (Azure RBAC) můžete udělit přiřazením skupiny Microsoft Entra nebo objektu zabezpečení k jedné nebo více definicím role Azure Maps.

Informace o dostupných definicích rolí Azure pro Azure Maps najdete v tématu Zobrazení předdefinovaných definic rolí Azure Maps.

Podrobný postup přiřazení dostupné role Azure Maps k vytvořené spravované identitě nebo instančnímu objektu najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.

Pokud chcete efektivně spravovat aplikaci Azure Maps a přístup k prostředkům velkého množství uživatelů, podívejte se na skupiny Microsoft Entra.

Důležité

Aby se uživatelé mohli ověřovat v aplikaci, musí být uživatelé nejprve vytvořeni v Microsoft Entra ID. Další informace naleznete v tématu Přidání nebo odstranění uživatelů pomocí Microsoft Entra ID.

Informace o efektivní správě velkého adresáře pro uživatele najdete v tématu Microsoft Entra ID.

Upozorňující

Předdefinované definice rolí služby Azure Maps poskytují velmi rozsáhlý přístup k autorizaci mnoha rozhraním REST API služby Azure Maps. Pokud chcete omezit přístup k rozhraním API na minimum, přečtěte si téma Vytvoření vlastní definice role a přiřazení identity přiřazené systémem k definici vlastní role. To umožňuje aplikaci přístup ke službě Azure Maps s nejnižšími oprávněními nezbytnými.

Vyžádání tokenu se spravovanou identitou

Jakmile je spravovaná identita nakonfigurovaná pro hostitelský prostředek, můžete pomocí sady Azure SDK nebo rozhraní REST API získat token pro Azure Maps. Informace o získání přístupového tokenu najdete v tématu Získání přístupového tokenu.

Vyžádání tokenu s registrací aplikace

Jakmile aplikaci zaregistrujete a přidružíte ji k Azure Maps, budete si muset vyžádat přístupový token.

Získání přístupového tokenu:

  1. Pokud jste to ještě neudělali, přihlaste se k webu Azure Portal.

  2. Vyberte Microsoft Entra ID.

  3. V části Spravovat v levém podokně vyberte Registrace aplikací.

  4. Vyberte aplikaci.

  5. Měla by se zobrazit stránka Přehled. Zkopírujte ID aplikace (klienta) a ID adresáře (tenanta).

    Zkopírujte parametry tokenu.

Tento článek používá aplikaci bruno k vytvoření žádosti o token, ale můžete použít jiné vývojové prostředí rozhraní API.

  1. Otevřete aplikaci bruno, vyberte NOVÝ POŽADAVEK a vytvořte žádost.

  2. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku, například požadavek TOKENU POST.

  3. V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu URL:

    https://login.microsoftonline.com/{Tenant-ID}/oauth2/v2.0/token?response_type=token&grant_type=client_credentials&client_id={Client-ID}&client_secret={Client-Secret}&scope=https://atlas.microsoft.com/.default
    

    Poznámka:

    Nahrazení:

    • {Tenant-ID} s ID adresáře (tenanta)
    • {Client-ID} s ID aplikace (klienta)
    • {Client-Secret} tajným kódem klienta.
  4. Výběr tlačítka spustit

Měla by se zobrazit následující odpověď JSON:

{
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFq..."
}

Další informace o toku ověřování najdete v tématu Tok přihlašovacích údajů klienta OAuth 2.0 na platformě Microsoft Identity Platform.

Další kroky

Podrobnější příklady:

Vyhledejte metriky využití rozhraní API pro váš účet Azure Maps:

Prozkoumejte ukázky, které ukazují, jak integrovat ID Microsoft Entra s Azure Maps: