Co to jest kontrola dostępu oparta na rolach na platformie Azure (Azure RBAC)?
Zarządzanie dostępem do zasobów w chmurze jest funkcją o krytycznym znaczeniu dla każdej organizacji, która korzysta 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ń jest obiektem, który reprezentuje użytkownika, grupę, usługę lub tożsamość zarządzaną żądającą dostępu do zasobów platformy Azure. Rolę można przypisać do dowolnego z tych podmiotów zabezpieczeń.
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”.
Na platformie Azure można korzystać z kilku ról wbudowanych. 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.
Scope
Zakres to zestaw zasobów, w ramach którego jest przydzielany dostęp. Podczas przypisywania roli można dodatkowo ograniczyć dozwolone akcje przez zdefiniowanie zakresu. Jest to przydatne na przykład wówczas, gdy chcesz przypisać użytkownikowi rolę współautora witryny internetowej, ale tylko w jednej grupie 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.
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 marketingowi nie mają dostępu do zasobów spoza grupy zasobów pharma-sales, chyba że są częścią innego przypisania roli.
Role można przypisywać przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell, zestawów AZURE SDK 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 ma uprawnienia w przypisaniu roli.
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 w rzeczywistości rolą Współautor dla subskrypcji. Dlatego w tym przypadku przypisanie roli Czytelnik nie ma żadnego znaczenia.
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ę dostępu opartą na rolach platformy Azure w celu określenia, czy masz dostęp do zasobu. Te kroki dotyczą usługi Azure Resource Manager lub usług płaszczyzny danych zintegrowanych z kontrolą dostępu opartą na rolach platformy Azure. Jest to przydatne, aby zrozumieć, czy próbujesz rozwiązać problem z dostępem.
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).
Użytkownik tworzy wywołanie interfejsu API REST do usługi Azure Resource Manager, dołączając token.
Usługa Azure Resource Manager pobiera wszystkie przypisania roli lub odmowy, które dotyczą zasobu, wobec którego podejmowana jest akcja.
Jeśli tak, dostęp jest blokowany. W przeciwnym razie ocena będzie kontynuowana.
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.
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 (*
), skuteczne uprawnienia są obliczane przez odjęcieNotActions
elementu z dozwolonegoActions
elementu . Podobnie to samo odejmowanie jest wykonywane dla jakichkolwiek akcji danych.Actions - NotActions = Effective management permissions
DataActions - NotDataActions = Effective data permissions
Jeśli użytkownik nie ma roli z akcją w żądanym zakresie, dostęp nie jest dozwolony. W przeciwnym razie zostaną ocenione wszystkie warunki.
Jeśli przypisanie roli zawiera warunki, są oceniane. W przeciwnym razie dostęp jest dozwolony.
Jeśli warunki są spełnione, dostęp jest dozwolony. W przeciwnym razie dostęp nie jest dozwolony.
Na poniższym diagramie przedstawiono podsumowanie logiki oceny.
Gdzie są przechowywane dane RBAC platformy Azure?
Definicje ról, przypisania ról i przypisania odmowy są przechowywane globalnie, aby mieć pewność, że masz dostęp do zasobów niezależnie od regionu, w którym utworzono zasób.
Po usunięciu przypisania roli lub innych danych RBAC platformy Azure dane są globalnie usuwane. 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 dostępu oparta na rolach 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 uzyskania szybkości i odporności. W związku z tym kontrola dostępu oparta na rolach platformy Azure musi być wymuszana we wszystkich regionach, a dane są replikowane do wszystkich regionów. Aby uzyskać więcej informacji, zobacz Odporność usługi Azure Resource Manager.
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.
Wymagania dotyczące licencji
Korzystanie z tej funkcji jest bezpłatne i uwzględnione w subskrypcji platformy Azure.