Ověřování aplikací Go do služeb Azure pomocí knihovny identit Azure

Aplikace můžou knihovnu Identit Azure používat k ověření v MICROSOFT Entra ID, které uděluje přístup ke službám a prostředkům Azure. Tento požadavek na ověřování se vztahuje na to, jestli je aplikace nasazená v Azure, hostovaná místně nebo spuštěná místně na vývojářské pracovní stanici. Následující části popisují doporučené přístupy k ověřování aplikace v Microsoft Entra ID v různých prostředích při používání klientských knihoven sady Azure SDK.

Ověřování na základě tokenů prostřednictvím Microsoft Entra ID je doporučeným přístupem pro ověřování aplikací v Azure místo použití připojovacích řetězců nebo možností založených na klíčích. Klientský modul Azure Identity pro Go poskytuje ověřování na základě tokenů a umožňuje aplikacím ověřovat prostředky Azure bez ohledu na to, jestli aplikace běží místně, v Azure nebo na místním serveru.

Výhody ověřování založeného na tokenech

Ověřování na základě tokenů nabízí následující výhody oproti připojovacím řetězcům:

  • Ověřování na základě tokenů zajišťuje, že k prostředku Azure můžou přistupovat jenom konkrétní aplikace určené pro přístup, zatímco kdokoli nebo jakákoli aplikace s připojovacím řetězcem se může připojit k prostředku Azure.
  • Ověřování na základě tokenů umožňuje dále omezit přístup k prostředkům Azure jenom na konkrétní oprávnění potřebná aplikací. Tento přístup se řídí principem nejnižšího oprávnění. Naproti tomu připojovací řetězec uděluje úplná práva k prostředku Azure.
  • Když používáte spravovanou identitu pro ověřování na základě tokenů, Azure za vás zpracovává funkce správy, takže se nemusíte starat o úlohy, jako je zabezpečení nebo obměně tajných kódů. Díky této funkci je aplikace bezpečnější, protože neexistuje žádný připojovací řetězec ani tajný klíč aplikace, které by bylo možné ohrozit.
  • Připojovací řetězce jsou funkčně ekvivalentní přihlašovacím údajům a vyžadují speciální zpracování, aby se zabránilo náhodnému úniku informací. Musíte je bezpečně uložit (například ve službě Azure Key Vault) a nikdy je ve své aplikaci nehardcodujte ani nevkládejte do verzovacího systému. Microsoft Secure Future Initiative (SFI) zakazuje použití připojovacích řetězců a podobných dlouhodobých tajných kódů, protože je lze použít k ohrožení vaší aplikace, pokud není pečlivě spravováno.
  • Knihovna Identit Azure za vás získává a spravuje tokeny Microsoft Entra.

Omezte použití připojovacích řetězců na scénáře, kdy ověřování na základě tokenu není možnost, počáteční testování konceptu aplikací nebo prototypů vývoje, které nepřistupují k produkčním nebo citlivým datům. Pokud je to možné, použijte typy přihlašovacích údajů v knihovně identit Azure k ověření prostředků Azure.

Ověřování v různých prostředích

Typ ověřování založeného na tokenech, který aplikace používá k ověření prostředků Azure, závisí na tom, kde aplikace běží. Následující diagram obsahuje pokyny pro různé scénáře a prostředí:

Diagram znázorňující doporučené strategie ověřování na základě tokenů pro aplikaci v závislosti na tom, kde je spuštěná

Když je aplikace:

Ověřování pro aplikace hostované v Azure

Když hostujete aplikaci v Azure, může používat spravované identity k ověřování prostředků Azure bez nutnosti spravovat přihlašovací údaje. Existují dva typy spravovaných identit: přiřazené uživatelem a přiřazené systémem.

Použití spravované identity přiřazené uživatelem

Uživatelem přiřazenou spravovanou identitu vytvoříte jako samostatný prostředek Azure. Můžete ho přiřadit k jednomu nebo několika prostředkům Azure, což těmto prostředkům umožní sdílet stejnou identitu a oprávnění. Pokud chcete provést ověření pomocí spravované identity přiřazené uživatelem, vytvořte identitu, přiřaďte ji k prostředku Azure a pak nakonfigurujte aplikaci tak, aby tuto identitu používala k ověřování zadáním ID klienta, ID prostředku nebo ID objektu.

Použití spravované identity přiřazené systémem

Spravovanou identitu přiřazenou systémem povolíte přímo u prostředku Azure. Identita je svázaná s životním cyklem tohoto prostředku a při odstranění prostředku se automaticky odstraní. Pokud chcete provést ověření pomocí spravované identity přiřazené systémem, povolte identitu ve vašem prostředku Azure a pak nakonfigurujte aplikaci tak, aby tuto identitu používala k ověřování.

Ověřování během místního vývoje

Při místním vývoji můžete ověřit přístup k prostředkům Azure pomocí přihlašovacích údajů pro vývojáře nebo aplikačního objektu. Tato metoda ověřování umožňuje otestovat logiku ověřování vaší aplikace bez nasazení do Azure.

Použití přihlašovacích údajů pro vývojáře

Při místním vývoji můžete k ověřování prostředků Azure použít vlastní přihlašovací údaje Azure. Obvykle používáte vývojový nástroj, jako je Azure CLI, který vaší aplikaci poskytne potřebné tokeny pro přístup ke službám Azure. Tato metoda je pohodlná, ale měla by být použita pouze pro účely vývoje.

Použijte služebního hlavního prvku

V tenantovi Microsoft Entra vytvoříte účelový účet služby, který představuje aplikaci, a použijete jej k autentizaci k prostředkům Azure. Aplikaci můžete nakonfigurovat tak, aby používala přihlašovací údaje instančního objektu během místního vývoje. Tato metoda je bezpečnější než použití přihlašovacích údajů vývojáře a blíží se způsobu ověřování vaší aplikace v produkčním prostředí. Je ale stále méně ideální než použití spravované identity kvůli potřebě tajných kódů.

Ověřování pro aplikace hostované místně

U aplikací hostovaných místně můžete k ověřování k prostředkům Azure použít služební účet. Tato metoda zahrnuje vytvoření instančního objektu v MICROSOFT Entra ID, přiřazení potřebných oprávnění a konfiguraci aplikace tak, aby používala své přihlašovací údaje. Díky této metodě může vaše místní aplikace bezpečně přistupovat ke službám Azure.