Co je řízení přístupu na základě role v Azure (Azure RBAC)?
Správa přístupu ke cloudovým prostředkům je velmi důležitou funkcí pro jakoukoli organizaci, která používá cloud. Řízení přístupu na základě role v Azure (RBAC) pomáhá spravovat, kdo má přístup k prostředkům Azure, co může s těmito prostředky dělat a k jakým oblastem má přístup.
Azure RBAC je autorizační systém založený na Azure Resource Manager, který poskytuje podrobnou správu přístupu k prostředkům Azure.
Toto video poskytuje rychlý přehled Azure RBAC.
Co můžu dělat s Azure RBAC?
Tady je několik příkladů toho, co můžete s Azure RBAC dělat:
- Jednomu uživateli můžete povolit správu virtuálních počítačů v předplatném a jinému uživateli správu virtuálních sítí.
- Skupině DBA můžete povolit správu databází SQL v předplatném.
- Uživateli můžete povolit správu všech prostředků ve skupině prostředků, například virtuálních počítačů, webů a podsítí.
- Aplikaci můžete povolit přístup ke všem prostředkům ve skupině prostředků.
Jak Azure RBAC funguje
Způsob řízení přístupu k prostředkům pomocí Azure RBAC je přiřazení rolí Azure. Jedná se o klíčový koncept, který je potřeba pochopit – jak se vynucují oprávnění. Přiřazení role se skládá ze tří prvků: objekt zabezpečení, definice role a obor.
Objekt zabezpečení
Objekt zabezpečení představuje uživatele, skupinu, instanční objekt nebo spravovanou identitu, která požaduje přístup k prostředkům Azure. Roli můžete přiřadit některému z těchto objektů zabezpečení.
Definice role
Definice role je kolekce oprávnění. Obvykle se tomu říká role. Definice role obsahuje seznam akcí, které je možné provést, jako je čtení, zápis a odstranění. Role mohou být souhrnné, například vlastník, nebo konkrétní, například čtenář virtuálních počítačů.
Azure obsahuje několik předdefinovaných rolí , které můžete použít. Role Přispěvatel virtuálních počítačů například uživateli umožňuje vytvářet a spravovat virtuální počítače. Pokud předdefinované role nevyhovují konkrétním potřebám vaší organizace, můžete vytvořit vlastní role Azure.
Toto video poskytuje rychlý přehled předdefinovaných rolí a vlastních rolí.
Azure má akce dat, které umožňují udělit přístup k datům v rámci objektu. Pokud má uživatel například přístup ke čtení dat u účtu úložiště, bude moci číst objekty blob nebo zprávy v rámci daného účtu úložiště.
Další informace najdete v tématu Vysvětlení definic rolí Azure.
Obor
Obor je sada prostředků, na které se vztahuje přístup. Když přiřadíte roli, můžete definováním oboru dále omezit akce, které jsou povoleny. To je užitečné, pokud chcete, aby někdo byl přispěvatelem webu, ale jenom pro jednu skupinu prostředků.
V Azure můžete zadat obor na čtyřech úrovních: skupina pro správu, předplatné, skupina prostředků nebo prostředek. Obory jsou strukturovány ve vztahu nadřazený-podřízený obor. Role můžete přiřadit v libovolné z těchto úrovní oboru.
Další informace o oboru najdete v tématu Vysvětlení oboru.
Přiřazení rolí
Přiřazení role je proces připojení definice role k uživateli, skupině, instančnímu objektu nebo spravované identitě v určitém oboru pro účely udělení přístupu. Přístup se uděluje vytvořením přiřazení role a odvolává se odebráním přiřazení role.
Následující diagram znázorňuje příklad přiřazení role. V tomto příkladu byla marketingové skupině přiřazena role Přispěvatel pro skupinu prostředků prodeje farmaceutických výrobků. To znamená, že uživatelé marketingové skupiny mohou vytvářet a spravovat prostředky Azure ve skupině prostředků prodeje farmaceutických výrobků. Uživatelé marketingové skupiny nemají přístup k prostředkům mimo skupinu prostředků prodeje farmaceutických výrobků, pokud nejsou součástí přiřazení jiné role.
Role můžete přiřadit pomocí rozhraní Azure Portal, Azure CLI, Azure PowerShell, sad AZURE SDK nebo rozhraní REST API.
Další informace najdete v tématu Postup přiřazení role Azure.
Skupiny
Přiřazení rolí jsou tranzitivní pro skupiny, což znamená, že pokud je uživatel členem skupiny a tato skupina je členem jiné skupiny, která má přiřazení role, bude mít uživatel oprávnění v přiřazení role.
Více přiřazení rolí
Co se stane, když máte více překrývajících se přiřazení rolí? Azure RBAC je doplňkový model, takže efektivní oprávnění představují součet přiřazení rolí. Představte si následující příklad, kdy má uživatel udělenou roli Přispěvatel v oboru předplatného a roli Čtenář ve skupině prostředků. Součet oprávnění přispěvatele a oprávnění čtenáře je v podstatě role Přispěvatel pro předplatné. V tomto případě tedy přiřazení role Čtenář nemá žádný vliv.
Přiřazení zamítnutí
Dříve byl Azure RBAC modelem jen pro povolení bez zamítnutí, ale azure RBAC teď podporuje přiřazení odepření omezeným způsobem. Podobně jako přiřazení role přiřadí přiřazení zamítnutí sadu akcí odepření uživateli, skupině, instančnímu objektu nebo spravované identitě v určitém oboru pro účely odepření přístupu. Přiřazení role definuje sadu povolených akcí, zatímco přiřazení zamítnutí definuje sadu akcí, které nejsou povolené. Jinými slovy, přiřazení zamítnutí blokuje uživatelům možnost provádět určité akce i v případě, že přiřazení role jim přístup uděluje. Přiřazení zamítnutí mají přednost před přiřazením rolí.
Další informace najdete v tématu Vysvětlení přiřazení zamítnutí Azure.
Jak Azure RBAC určuje, jestli má uživatel přístup k prostředku
Následuje postup vysoké úrovně, který Azure RBAC používá k určení, jestli máte přístup k prostředku. Tyto kroky platí pro služby Azure Resource Manager nebo datové roviny integrované se službou Azure RBAC. Tyto principy je užitečné chápat, pokud se snažíte vyřešit potíže s přístupem.
Uživatel (nebo instanční objekt služby) získá token pro Azure Resource Manager.
Tento token obsahuje členství uživatele ve skupinách (včetně tranzitivního členství ve skupinách).
Uživatel provede s připojeným tokenem volání rozhraní REST API do Azure Resource Manageru.
Azure Resource Manager načte všechna přiřazení rolí a přiřazení zamítnutí vztahující se k prostředku, na kterém se akce provádí.
Pokud ano, přístup se zablokuje. V opačném případě hodnocení pokračuje.
Azure Resource Manageru zúží přiřazení rolí, které se vztahují na tohoto uživatele nebo jeho skupinu, a určí, jaké role má uživatel u daného prostředku.
Azure Resource Manager určí, zda je akce ve volání rozhraní API je zahrnuta v rolích, které uživatel pro tento prostředek má. Pokud mezi role patří zástupný
Actions
znak (*
), vypočítá se efektivní oprávnění odečtenímNotActions
od povolenéhoActions
. Podobně se stejná odčítání provádí pro všechny akce dat.Actions - NotActions = Effective management permissions
DataActions - NotDataActions = Effective data permissions
Pokud uživatel nemá roli s akcí v požadovaném oboru, přístup není povolený. V opačném případě se vyhodnocují všechny podmínky.
Pokud přiřazení role obsahuje podmínky, vyhodnotí se. Jinak je povolený přístup.
Pokud jsou splněné podmínky, přístup je povolený. Jinak přístup není povolený.
Následující diagram je souhrn logiky vyhodnocení.
Kde jsou uložená data Azure RBAC?
Definice rolí, přiřazení rolí a přiřazení odepření se ukládají globálně, abyste měli přístup k prostředkům bez ohledu na oblast, kterou jste vytvořili.
Když se odstraní přiřazení role nebo jakákoli jiná data Azure RBAC, data se globálně odstraní. Objekty zabezpečení, které měly přístup k prostředku prostřednictvím dat Azure RBAC, ztratí přístup.
Proč jsou data Azure RBAC globální?
Data Azure RBAC jsou globální, aby se zajistilo, že zákazníci budou mít včas přístup k prostředkům bez ohledu na to, kde k nim přistupuje. Azure RBAC vynucuje azure Resource Manager, která má globální koncový bod a požadavky se směrují do nejbližší oblasti pro rychlost a odolnost. Proto musí být Azure RBAC vynucován ve všech oblastech a data se replikují do všech oblastí. Další informace najdete v tématu Odolnost azure Resource Manager.
Představte si následující příklad. Arina vytvoří virtuální počítač ve východní Asii. Bob, který je členem týmu Arina, pracuje v USA. Bob potřebuje přístup k virtuálnímu počítači vytvořenému v oblasti Východní Asie. Pokud chcete Bobovi udělit včas přístup k virtuálnímu počítači, azure musí globálně replikovat přiřazení role, které bobovi udělí přístup k virtuálnímu počítači odkudkoli.
Licenční požadavky
Použití této funkce je bezplatné a součástí vašeho předplatného Azure.