Identita je základním prvkem v moderním digitálním světě. V kontextu cloudu jsou identity nezbytné pro autentizaci a autorizaci, což znamená, že určují, kdo a co může v cloudu dělat. Azure nabízí řadu nástrojů pro správu identit, mezi které patří také Azure Managed Identity. V tomto článku se podíváme na to, co jsou Azure Managed Identity.
Azure Managed Identita je služba pro řízení identity, která umožňuje jednotlivým službám a aplikacím v Azure získat automatický a bezpečný způsob, jak se ověřit a získat přístup k dalším zdrojům v cloudu, jako jsou databáze, úložiště, klíče a další služby. Managed Identita eliminuje potřebu ukládat citlivé údaje, jako jsou hesla nebo klíče, v kódu aplikací nebo v konfiguračních souborech, což výrazně zvyšuje bezpečnost aplikací.
Rozlišujeme dva druhy Managed Identit. Jedna systémově přidělená identita (System Assigned Managed Identity - SAMI) a uživatelem přidělená identita (User Assigned Managed Identity - UAMI). Podíváme se teď podrobněji na to jaké jsou mezi nimi rozdíly a vysvětlíme si je.
System Assigned Managed Identity - SAMI
Jedná se o identitu, která je automaticky přiřazena k určitému zdroji, jako je virtuální stroj, funkce nebo jiný cloudový objekt. Tato identita umožňuje bezpečný přístup k různým cloudovým službám bez potřeby zacházení s ručně spravovanými klíči a hesly. Existuje vždy jen jedna systémově přidělená identita k jednomu zdroji.
Jedním z hlavních příkladů použití System-assigned MI je jeho využití v kombinaci s Azure Key Vault. System-assigned MI může aplikace na virtuálním stroji přistupovat k těmto citlivým informacím bez potřeby ukládání a správy klíčů. Identita je automaticky propojena s Key Vault, a tím zajišťuje bezpečný přístup.
Pokud máte cloudovou aplikaci, která potřebuje přistupovat k Azure SQL databázi, System-assigned MI může být vynikajícím nástrojem pro zajištění bezpečného přístupu. Identita může být přidělena vašemu virtuálnímu stroji na kterém běží aplikace, a může být konfigurována tak, aby měla práva pouze na určité operace v databázi. To minimalizuje rizika spojená s přístupem k databázi.
Pokud vaše aplikace potřebuje pracovat s daty uloženými v Azure Blob úložišti, může System-assigned MI opět zvýšit bezpečnost a pohodlí. Tím, že MI přidělíte práva na čtení nebo zápis do konkrétního úložiště, můžete zajistit, že aplikace může provádět operace na úložišti, aniž by měla přístup k citlivým autentizačním informacím.
User-Assigned Managed Identity (UAMI) je identita, kterou můžete explicitně přiřadit k určitému cloudovému zdroji nebo službě. Na rozdíl od System-Assigned Managed Identity (SAMI), která je automaticky vytvořena a přiřazena k cloudovému zdroji, UAMI je vytvořena konkrétním uživatelem a přiřazena podle potřeb. Toto přiřazení umožňuje větší flexibilitu a řízení nad tím, jak a kde se identita používá. Každý resource jako je virtuálka může mít nekonečně uživatelských MI a naopak jedna uživatelská MI může být přiřazena k nekonečnu virtuálek jako je uvedeno na obrázku níže:
Při provozování virtuálních strojů v cloudu můžete přiřadit UAMI k těmto strojům. To umožňuje aplikacím běžícím na virtuálních strojích přistupovat k různým cloudovým službám, aniž by bylo nutné používat explicitní autentizační údaje nebo spravovat klíče.
Při nasazování kontejnerových aplikací do AKS můžete také přiřadit UAMI svým aplikacím. To umožňuje, aby tyto aplikace bezpečně komunikovaly s různými Azure službami nebo se mezi sebou, aniž by bylo nutné spravovat autentizační údaje v kontejnerech.
Použití UAMI může být také velmi užitečné v Azure Functions a Logic Apps, kde můžete identitu přiřadit k těmto serverless funkcím. Tím zajišťujete, že tyto funkce mají bezpečný přístup k cloudovým zdrojům, ať už se jedná o databáze, úložiště nebo další služby.
Závěr
Azure Managed Identity je významným prvkem pro správu identit v cloudu. Pomáhá zvýšit bezpečnost, zjednodušit konfiguraci a zvýšit efektivitu aplikací a služeb v Azure. Bezpečná a spravovatelná identita je klíčovým prvkem v době, kdy se stále více organizací spoléhá na cloudové technologie pro své provozní potřeby.