Sdílet prostřednictvím


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. Můžete přiřadit roli kterémukoliv z těchto bezpečnostních prvků.

Diagram znázorňující typy objektů zabezpečení pro přiřazení role

Definice role

Definice role je kolekce oprávnění. Obvykle se tomu říká jednoduše 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 znázorňující příklad definice role pro přiřazení role

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: správcovská skupina, předplatné, skupina prostředků nebo prostředek. Rozsahy jsou strukturovány ve vztahu rodič-potomek. Role můžete přiřadit na kterékoli úrovni tohoto rozsahu.

Diagram znázorňující úrovně oboru pro přiřazení role

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 znázorňující, jak objekt zabezpečení, definice role a obor vytvářejí přiřazení role

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 znázorňující, jak jsou přiřazení rolí tranzitivní pro skupiny

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 efektivně role přispěvatele pro předplatné. V tomto případě tedy přiřazení role Čtenář nemá žádný vliv.

Diagram znázorňující, jak se více přiřazení rolí překrývají

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 služební principál) 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 zamítací přiřazení vztahující se k prostředku, na kterém se akce provádí.

  4. Pokud se použije přiřazení odepření, přístup je zablokován. 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, které obsahují zástupný znak (*), efektivní oprávnění se vypočítá odečtením NotActions od povolených Actions. Podobně se stejné odčítání provádí pro jakékoli datové akce.

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

Vývojový diagram vyhodnocovací logiky pro určení přístupu k prostředku.

Kde jsou uložená data Azure RBAC?

Definice rolí, přiřazení rolí a zamítací přiřazení se ukládají globálně, abyste měli jistotu přístupu k vašim prostředkům bez ohledu na oblast vytvoření prostředku.

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ý využívá globální koncový bod a požadavky se směrují do nejbližší oblasti pro zajištění 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 znázorňující data Azure RBAC v několika oblastech

Požadavky na licenci

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

Další kroky