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

Diagram showing the security principal types for a role assignment.

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čů.

Diagram showing role definition example for a role assignment

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.

Diagram showing scope levels for a role assignment.

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.

Diagram showing how security principal, role definition, and scope create a role assignment.

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.

Diagram showing how role assignments are transitive for groups.

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.

Diagram showing how multiple role assignments overlap.

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.

  1. 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).

  2. Uživatel provede s připojeným tokenem volání rozhraní REST API do Azure Resource Manageru.

  3. 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í.

  4. Pokud ano, přístup se zablokuje. V opačném případě hodnocení pokračuje.

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

  6. 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ím NotActions od povoleného Actions. Podobně se stejná odčítání provádí pro všechny akce dat.

    Actions - NotActions = Effective management permissions

    DataActions - NotDataActions = Effective data permissions

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

  8. Pokud přiřazení role obsahuje podmínky, vyhodnotí se. Jinak je povolený přístup.

  9. Pokud jsou splněné podmínky, přístup je povolený. Jinak přístup není povolený.

Následující diagram je souhrn logiky vyhodnocení.

Evaluation logic flowchart for determining access to a resource.

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.

Diagram showing Azure RBAC data in multiple regions.

Licenční požadavky

Použití této funkce je bezplatné a součástí vašeho předplatného Azure.

Další kroky