Co to jest kontrola dostępu oparta na rolach na platformie Azure (Azure RBAC)?

Zarządzanie dostępem do zasobów w chmurze to kluczowa funkcja dla każdej organizacji korzystającej z chmury. Kontrola dostępu na podstawie ról platformy Azure ułatwia zarządzanie osobami mającymi dostęp do zasobów platformy Azure, czynnościami, jakie mogą wykonywać, oraz obszarami, do których mają dostęp.

Kontrola dostępu oparta na rolach platformy Azure to system autoryzacji oparty na usłudze Azure Resource Manager, który zapewnia szczegółowe zarządzanie dostępem do zasobów platformy Azure.

Ten film wideo zawiera krótkie omówienie kontroli dostępu opartej na rolach platformy Azure.

Co mogę zrobić dzięki kontroli dostępu na podstawie ról platformy Azure?

Oto kilka przykładów tego, co można zrobić za pomocą kontroli dostępu opartej na rolach platformy Azure:

  • Zezwalanie jednemu użytkownikowi na zarządzanie maszynami wirtualnymi w ramach subskrypcji, a innemu na zarządzanie sieciami wirtualnymi
  • Zezwalanie grupie administratorów baz danych na zarządzanie bazami danych SQL w ramach subskrypcji.
  • Zezwalanie użytkownikowi na zarządzanie wszystkimi zasobami w grupie zasobów, w tym maszynami wirtualnymi, witrynami internetowymi i podsieciami
  • Zezwalanie aplikacji na dostęp do wszystkich zasobów w grupie zasobów

Jak działa kontrola dostępu oparta na rolach platformy Azure

Sposobem kontrolowania dostępu do zasobów przy użyciu kontroli dostępu opartej na rolach platformy Azure jest przypisywanie ról platformy Azure. Jest to kluczowa koncepcja do zrozumienia — w jaki sposób są wymuszane uprawnienia. Przypisanie roli składa się z trzech elementów: podmiotu zabezpieczeń, definicji roli i zakresu.

Podmiot zabezpieczeń

Podmiot zabezpieczeń to obiekt reprezentujący użytkownika, grupę, jednostkę usługi lub tożsamość zarządzaną, które żądają dostępu do zasobów na platformie Azure. Rolę można przypisać do dowolnego z tych podmiotów zabezpieczeń.

Diagram przedstawiający typy podmiotów zabezpieczeń dla przypisania roli.

Definicja roli

Definicja roli to kolekcja uprawnień. Zazwyczaj jest to rola nazywana tylko rolą. Definicja roli zawiera listę akcji, które można wykonać, takich jak odczyt, zapis i usuwanie. Role mogą być ogólne, na przykład „właściciel”, lub szczegółowe, na przykład „czytelnik maszyny wirtualnej”.

Diagram przedstawiający przykład definicji roli dla przypisania roli

Platforma Azure obejmuje kilka wbudowanych ról , których można użyć. Na przykład rola współautora maszyny wirtualnej umożliwia użytkownikowi tworzenie maszyn wirtualnych i zarządzanie nimi. Jeśli wbudowane role nie spełniają konkretnych potrzeb organizacji, możesz utworzyć własne role niestandardowe platformy Azure.

Ten film wideo zawiera krótkie omówienie wbudowanych ról i ról niestandardowych.

Platforma Azure ma akcje danych, które umożliwiają udzielanie dostępu do danych w obiekcie. Jeśli na przykład użytkownik ma uprawnienie do odczytu na koncie magazynu, może odczytywać obiekty blob lub komunikaty na tym koncie magazynu.

Aby uzyskać więcej informacji, zobacz Omówienie definicji ról platformy Azure.

Zakres

Zakres to zestaw zasobów, do których ma zastosowanie dostęp. Podczas przypisywania roli możesz dodatkowo ograniczyć dozwolone czynności, określając zakres. Jest to przydatne, jeśli chcesz, aby ktoś był współautorem witryny sieci Web, ale tylko dla jednej grupy zasobów.

Na platformie Azure można określić zakres na czterech poziomach: grupa zarządzania, subskrypcja, grupa zasobów lub zasób. Zakresy mają strukturę opartą na relacji nadrzędny-podrzędny. Role można przypisywać na dowolnym z tych poziomów zakresu.

Diagram przedstawiający poziomy zakresu dla przypisania roli.

Aby uzyskać więcej informacji na temat zakresu, zobacz Omówienie zakresu.

Przypisania ról

Przypisywanie roli to proces dołączania definicji roli do użytkownika, grupy, jednostki usługi lub tożsamości zarządzanej w wybranym zakresie w celu udzielenia dostępu. Udzielenie dostępu polega na utworzeniu przypisania roli, a odwołanie dostępu — na usunięciu przypisania roli.

Na poniższym diagramie przedstawiono przykład przypisania roli. W tym przykładzie do grupy Marketing przypisano rolę współautora w grupie zasobów pharma-sales. To oznacza, że użytkownicy należący do grupy Marketing mogą tworzyć dowolne zasoby platformy Azure w grupie zasobów pharma-sales i zarządzać nimi. Użytkownicy należący do grupy Marketing nie mają dostępu do zasobów spoza grupy zasobów pharma-sales, o ile nie przypisano do nich innej roli.

Diagram przedstawiający sposób tworzenia przypisania roli przez podmiot zabezpieczeń, definicję roli i zakres.

Role można przypisywać przy użyciu Azure Portal, interfejsu wiersza polecenia platformy Azure, Azure PowerShell, zestawów SDK platformy Azure lub interfejsów API REST.

Aby uzyskać więcej informacji, zobacz Kroki przypisywania roli platformy Azure.

Grupy

Przypisania ról są przechodnie dla grup, co oznacza, że jeśli użytkownik jest członkiem grupy, a ta grupa jest członkiem innej grupy, która ma przypisanie roli, użytkownik będzie miał uprawnienia w przypisaniu roli.

Diagram przedstawiający sposób przechodniego przypisywania ról dla grup.

Przypisania wielu ról

Co więc się dzieje w przypadku wielu nakładających się przypisań ról? Kontrola dostępu oparta na rolach platformy Azure to model addytywne, więc obowiązujące uprawnienia są sumą przypisań ról. Rozważmy poniższy przykład, w którym użytkownikowi przypisano rolę Współautor w zakresie subskrypcji i rolę Czytelnik w grupie zasobów. Suma uprawnień Współautor i Uprawnienia czytelnika jest skutecznie rolą Współautor dla subskrypcji. Dlatego w tym przypadku przypisanie roli Czytelnik nie ma żadnego znaczenia.

Diagram przedstawiający sposób nakładania się wielu przypisań ról.

Przypisania odmowy

Wcześniej kontrola dostępu oparta na rolach platformy Azure była modelem tylko do zezwalania bez odmowy, ale teraz kontrola dostępu oparta na rolach platformy Azure obsługuje przypisania odmowy w ograniczony sposób. Podobnie jak przypisanie roli przypisanie odmowy dołącza zestaw akcji odmowy do użytkownika, grupy, jednostki usługi lub tożsamości zarządzanej w określonym zakresie w celu odmowy dostępu. Przypisanie roli definiuje zestaw akcji, które są dozwolone, podczas gdy przypisanie odmowy definiuje zestaw akcji, które są niedozwolone. Innymi słowy przypisanie odmowy uniemożliwia użytkownikom wykonywanie określonych akcji, nawet jeśli przypisanie roli daje im taki dostęp. Przypisanie odmowy ma pierwszeństwo przed przypisaniem roli.

Aby uzyskać więcej informacji, zobacz Omówienie przypisań odmowy platformy Azure.

Jak kontrola dostępu oparta na rolach platformy Azure określa, czy użytkownik ma dostęp do zasobu

Poniżej przedstawiono ogólne kroki używane przez kontrolę RBAC platformy Azure w celu określenia, czy masz dostęp do zasobu. Te kroki dotyczą usług platformy Azure Resource Manager lub płaszczyzny danych zintegrowanych z kontrolą dostępu opartą na rolach platformy Azure. Warto je znać, jeśli próbujesz rozwiązać problem z dostępem.

  1. Użytkownik (lub jednostka usługi) uzyskuje token dla usługi Azure Resource Manager.

    Ten token zawiera informację o członkostwie użytkownika w grupach (w tym przechodnim członkostwie w grupach).

  2. Użytkownik tworzy wywołanie interfejsu API REST do usługi Azure Resource Manager, dołączając token.

  3. Usługa Azure Resource Manager pobiera wszystkie przypisania roli lub odmowy, które dotyczą zasobu, wobec którego podejmowana jest akcja.

  4. Jeśli tak, dostęp jest blokowany. W przeciwnym razie ocena będzie kontynuowana.

  5. Usługa Azure Resource Manager zawęża przypisania roli, które dotyczą tego użytkownika lub jego grupy, i określa, jakie role posiada użytkownik względem tego zasobu.

  6. Usługa Azure Resource Manager określa, czy akcja w wywołaniu interfejsu API należy do ról, jakie użytkownik posiada względem tego zasobu. Jeśli role obejmują Actions symbol wieloznaczny (*), obowiązujące uprawnienia są obliczane przez odejmowanie NotActions z dozwolonego Actionselementu . Podobnie ta sama odejmowanie jest wykonywana dla jakichkolwiek akcji danych.

    Actions - NotActions = Effective management permissions

    DataActions - NotDataActions = Effective data permissions

  7. Jeśli użytkownik nie ma roli z akcją w żądanym zakresie, dostęp nie jest dozwolony. W przeciwnym razie wszystkie warunki są oceniane.

  8. Jeśli przypisanie roli zawiera warunki, są oceniane. W przeciwnym razie jest dozwolony dostęp.

  9. W przypadku spełnienia warunków dostęp jest dozwolony. W przeciwnym razie dostęp jest niedozwolony.

Poniższy diagram zawiera podsumowanie logiki oceny.

Schemat blokowy logiki oceny do określania dostępu do zasobu.

Gdzie są przechowywane dane RBAC platformy Azure?

Definicje ról, przypisania ról i przypisania odmowy są przechowywane globalnie, aby upewnić się, że masz dostęp do zasobów niezależnie od regionu, w którym został utworzony zasób.

Po usunięciu przypisania roli lub innych danych RBAC platformy Azure dane są usuwane globalnie. Podmioty zabezpieczeń, które miały dostęp do zasobu za pośrednictwem danych RBAC platformy Azure, utracą dostęp.

Dlaczego dane RBAC platformy Azure są globalne?

Dane RBAC platformy Azure są globalne, aby zapewnić klientom możliwość terminowego uzyskiwania dostępu do zasobów niezależnie od tego, gdzie uzyskują dostęp. Kontrola RBAC platformy Azure jest wymuszana przez usługę Azure Resource Manager, która ma globalny punkt końcowy i żądania są kierowane do najbliższego regionu w celu przyspieszenia i odporności. W związku z tym kontrola RBAC platformy Azure musi być wymuszana we wszystkich regionach, a dane są replikowane do wszystkich regionów. Aby uzyskać więcej informacji, zobacz Odporność Resource Manager platformy Azure.

Rozważmy następujący przykład. Arina tworzy maszynę wirtualną w Azji Wschodniej. Bob, który jest członkiem zespołu Arina, pracuje w Stany Zjednoczone. Bob musi uzyskać dostęp do maszyny wirtualnej utworzonej w Azji Wschodniej. Aby udzielić Bobowi czasu dostępu do maszyny wirtualnej, platforma Azure musi globalnie replikować przypisanie roli, które przyznaje Bobowi dostęp do maszyny wirtualnej z dowolnego miejsca, w jakim jest Bob.

Diagram przedstawiający dane RBAC platformy Azure w wielu regionach.

Wymagania licencyjne

Korzystanie z tej funkcji jest bezpłatne i uwzględnione w subskrypcji platformy Azure.

Następne kroki