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

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 Mapy

Zobrazení podrobností o ověřování účtu Azure Mapy 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 Mapy.

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

    Screenshot showing your Azure Maps authentication options in the Azure portal.

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

  • 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žená v konfiguraci aplikace a pak by se měla načíst před vytvořením požadavků HTTP, které používají ověřování Microsoft Entra, azure Mapy.
  • Ověřování pomocí sdíleného klíče: Klíč Secondary KeyPrimary 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 Mapy s každou žádostí do Azure Mapy. 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 Mapy

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

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 Mapy 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 Mapy se hodnota Azure Mapy 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 Mapy.

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.

    A screenshot showing application registration in Microsoft Entra ID.

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

    Create app registration.

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

  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.

    Select app registrations.

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

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

    Add app permission.

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

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

  9. Vyberte Azure Mapy.

    Request app permission.

  10. Zaškrtněte políčko Přístup k Azure Mapy.

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

    Select app API permissions.

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

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

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

    Upload certificate file.

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.

    New client secret.

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

  4. Vyberte Přidat.

    Add new client secret.

  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.

    Copy client secret.

    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 k Azure Mapy

Řízení přístupu na základě role v 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 rolí Azure Mapy.

Pokud chcete zobrazit dostupné definice rolí Azure pro Azure Mapy, přečtěte si téma Zobrazení předdefinovaných definic rolí Azure Mapy.

Podrobný postup přiřazení dostupné role Azure Mapy 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 Mapy 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í

Azure Mapy předdefinované definice rolí poskytují velmi velký přístup k autorizaci mnoha rozhraním REST API azure Mapy. 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 Mapy s nejnižšími oprávněními.

Vyžádání tokenu se spravovanou identitou

Jakmile je spravovaná identita nakonfigurovaná pro prostředek hostování, můžete pomocí sady Azure SDK nebo rozhraní REST API získat token pro Azure Mapy. 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 zaregistrujete aplikaci a přidružíte ji k Azure Mapy, budete muset požádat o 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).

    Copy token parameters.

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

  1. V aplikaci Postman vyberte Nový.

  2. V okně Vytvořit nový vyberte požadavek HTTP.

  3. Zadejte název žádosti, například požadavek TOKENu POST.

  4. Vyberte metodu POST HTTP.

  5. Zadejte následující adresu URL na adresní řádek (nahraďte {Tenant-ID} ID {Client-ID} adresáře (tenanta), ID aplikace (klienta) a {Client-Secret} tajným kódem klienta:

    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
    
  6. Vyberte Odeslat.

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

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