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 v Azure Portal:

  1. Přihlaste se k webu Azure Portal.

  2. Přejděte do nabídky 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í.

    Podrobnosti o ověřování.

Při vytvoř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í Azure Active Directory: 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 provedením Azure Maps požadavků HTTP, které používají Azure AD ověřování.
  • Ověřování pomocí sdíleného klíče: Jako Primary Key klíč předplatného pro ověřování sdíleným klíčem se používají a Secondary Key . 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í o Azure Maps. Doporučujeme, abyste klíče pravidelně vygenerovávala. Pro zachování aktuálních připojení během regenerace jsou k dispozici dva klíče. Jeden klíč se může používat při opětovném vygenerování druhého klíče. Při opětovném vygenerování klíčů je nutné aktualizovat všechny aplikace, které přistupují k tomuto účtu, aby nové klíče používaly. Další informace najdete v tématu Ověřování pomocí Azure Maps

Důležité

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

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

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

Důležité

Tento scénář nepřímo přistupuje k Azure Active Directory prostřednictvím Azure Key Vault. Doporučujeme ale použít Azure AD ověřování přímo. Použitím Azure AD se přímo vyhnete dalším požadavkům na složitost a provoz při používání ověřování pomocí sdíleného klíče a nastavení Key Vault.

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

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

Tip

Pokud je aplikace hostovaná v prostředí Azure, doporučujeme použít spravovanou identitu, abyste snížili náklady a složitost správy tajného kódu pro ověřování. Pokud se chcete dozvědět, jak nastavit spravovanou identitu, přečtěte si kurz: Použití spravované identity k připojení Key Vault k webové aplikaci Azure v .NET.

Scénář: Azure AD řízení přístupu na základě role

Po vytvoření účtu Azure Maps se na stránce podrobností o ověřování Azure Portal zobrazí hodnota Azure MapsClient ID. 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 scénáře je umožnit aplikaci démona ověřování pro Azure AD a volání Azure Maps rozhraní REST API.

Tip

Pokud chcete zajistit výhody komponent spravovaných identit, doporučujeme hostovat v 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é Azure tak, aby umožňovaly nízké náklady a minimální úsilí o správu přihlašovacích údajů.

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

Mezi výhody spravované identity patří:

  • Ověřování veřejného klíče kryptografie certifikátu X509 spravovaného systémem Azure
  • Azure AD zabezpečení pomocí certifikátů 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 odstraňuje potřebu zabezpečené služby úložiště tajných kódů, jako je Azure Key Vault.

Hostování démona u prostředků mimo Azure

Při spuštění v prostředí mimo Azure nejsou spravované identity k dispozici. Proto musíte nakonfigurovat instanční objekt prostřednictvím registrace aplikace démona Azure AD.

Vytvoření nové registrace aplikace

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

Vytvoření nové registrace aplikace:

  1. Přihlaste se k webu Azure Portal.

  2. Vyberte Azure Active Directory.

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

  4. Vyberte kartu + Nová registrace .

    Zobrazit registrace aplikací.

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

    Vytvořte registraci aplikace.

  6. Vyberte Zaregistrovat.

Přiřazení oprávnění delegovaného 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 Azure Portal.

  2. Vyberte Azure Active Directory.

  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 kartu ROZHRANÍ API, která moje organizace používá .

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

  9. Vyberte Azure Maps.

    Vyžádejte si 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 své 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 levém podokně v části Spravovat vyberte Tajné kódy certifikátů&.

  2. Vyberte Nahrát certifikát. Nahrajte certifikát.

  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 levém podokně v části Spravovat vyberte Tajné kódy certifikátů&.

  2. Vyberte + Nový tajný klíč klienta.

    Nový tajný klíč klienta.

  3. Zadejte popis tajného klíče klienta.

  4. Vyberte Přidat.

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

  5. Zkopírujte tajný kód a bezpečně ho uložte ve službě, jako je Azure Key Vault. Tajný kód použijeme také v části Žádost o token se spravovanou identitou v tomto článku.

    Zkopírujte tajný klíč klienta.

    Důležité

    Pokud chcete certifikát nebo tajný klíč bezpečně uložit, projděte si příručku pro vývojáře Azure Key Vault. Tento tajný kód použijete k získání tokenů z Azure AD.

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

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

Dostupné definice 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 vytvořené spravované identitě nebo instančnímu objektu najdete v tématu Přiřazení rolí Azure pomocí Azure Portal

Pokud chcete efektivně spravovat Azure Maps přístup k aplikacím a prostředkům velkého počtu uživatelů, přečtěte si téma Azure AD Skupiny.

Důležité

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

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

Upozornění

Azure Maps předdefinované definice rolí poskytují velmi rozsáhlý autorizační přístup k mnoha Azure Maps rozhraní REST API. Pokud chcete omezit přístup rozhraní 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 nejnižší úroveň oprávnění potřebnou pro přístup aplikace k Azure Maps.

Žádost o token se spravovanou identitou

Po nakonfigurování spravované identity 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.

Žádost o token s registrací aplikace

Po registraci aplikace a jejím přidružení k Azure Maps 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 Azure Portal.

  2. Vyberte Azure Active Directory.

  3. V levém podokně v části Spravovat 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.

K vytvoření požadavku na token použijeme aplikaci Postman , 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 Žádost o token 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}%3D&scope=api%3A%2F%2Fazmaps.fundamentals%2F.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 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 Azure AD s Azure Maps: