Co je řízení přístupu na základě role v Azure (Azure RBAC)?

Funkce řízení přístupu ke cloudovým prostředkům je důležitá pro každou 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 Manageru , který poskytuje jemně odstupňovanou 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 spočívá v přiřazování 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. K některému z těchto objektů zabezpečení můžete přiřadit roli.

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 využí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 definovat rozsah, abyste zúžili povolené akce. To je užitečné v případě, kdy někomu chcete udělit roli Přispěvatel webů, ale pouze 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 na kterékoli z těchto úrovní oboru.

Diagram showing scope levels for a role assignment.

Další informace o oboru naleznete 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é marketingu nemají přístup k prostředkům mimo skupinu prostředků prodeje pharma-sales, pokud nejsou součástí jiného přiřazení role.

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

Role můžete přiřadit pomocí webu Azure Portal, Azure CLI, Azure PowerShellu, 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, má uživatel oprávnění k přiřazení role.

Diagram showing how role assignments are transitive for groups.

Přiřazení více 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í. Podívejte se na následující příklad, ve kterém 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.

Jak Azure RBAC určuje, jestli má uživatel přístup k prostředku

Následuje základní postup, který Azure RBAC používá k určení, jestli máte přístup k prostředku. Tento postup platí pro služby Azure Resource Manageru nebo roviny dat integrované s Azure RBAC. To je užitečné, když se pokouší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ě bude hodnocení pokračovat.

  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 role zahrnují Actions zástupný znak (*), efektivní oprávnění se vypočítá odečtením NotActions od povoleného Actionsznaku . 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 vyhodnotí všechny podmínky.

  8. Pokud přiřazení role obsahuje podmínky, vyhodnotí se. V opačném případě je povolený přístup.

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

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í zamítnutí se ukládají globálně, abyste měli jistotu, že máte přístup k prostředkům bez ohledu na oblast, ve které jste prostředek 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 měli zákazníci včas přístup k prostředkům bez ohledu na to, kde k nim přistupují. Azure RBAC vynucuje Azure Resource Manager, který má globální koncový bod a požadavky se směrují do nejbližší oblasti kvůli rychlosti a odolnosti. Azure RBAC se proto musí vynucovat ve všech oblastech a data se replikují do všech oblastí. Další informace najdete v tématu Odolnost Azure Resource Manageru.

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 ve východní Asii. Aby mohl Bob včas získat 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.

Požadavky na licenci

Tato funkce je bezplatná a součástí předplatného Azure.

Další kroky