Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Szczegółowa kontrola dostępu oparta na rolach (RBAC) w usłudze Azure Monitor Log Analytics umożliwia filtrowanie danych obszaru roboczego, które każdy użytkownik może wyświetlać lub wykonywać zapytania na podstawie określonych warunków, aby spełnić potrzeby biznesowe i związane z zabezpieczeniami. Zalety tej kontroli dostępu obejmują:
- Dostęp na poziomie wiersza
- Dostęp na poziomie tabeli
- Separacja płaszczyzn kontroli i danych
Jeśli architektura usługi Log Analytics zawiera wiele obszarów roboczych, które umożliwiają segregację danych, prywatność lub zgodność, szczegółowa kontrola dostępu oparta na rolach ułatwia uproszczenie topologii przez zmniejszenie liczby wymaganych obszarów roboczych.
Wideo z wprowadzeniem
Wymagania wstępne
| Akcja | Wymagane uprawnienie |
|---|---|
| Tworzenie nowej roli niestandardowej |
Microsoft.Authorization/roleDefinitions/write uprawnienia w zakresach możliwych do przypisania.
Na przykład, zgodnie z wbudowaną rolą uprzywilejowaną, administratorzy dostępu użytkowników. |
| Dodawanie lub aktualizowanie warunków |
Microsoft.Authorization/roleAssignments/write i Microsoft.Authorization/roleAssignments/delete uprawnienia do obszaru roboczego usługi Log Analytics.
Na przykład, zgodnie z uprzywilejowaną wbudowaną rolą, administrator kontroli dostępu opartej na rolach. |
Kiedy używać szczegółowej kontroli dostępu opartej na rolach?
Rozdzielcza kontrola dostępu oparta na rolach pomaga osiągnąć następujące scenariusze:
- Segregacja danych — oddziela dane różnych jednostek, zespołów i lokalizacji geograficznych z tego samego obszaru roboczego i upewnij się, że każdy użytkownik może uzyskiwać dostęp tylko do danych istotnych dla ich grupy. Warunki dostępu wykorzystują niestandardowe pola dziennika, aby kontrolować dostęp na poziomie wiersza, segregowany według atrybutów, takich jak zapora sieciowa, typ urządzenia, identyfikator subskrypcji lub inne identyfikatory.
- Prywatność danych — ochrona poufnych lub poufnych danych, takich jak dane osobowe, rekordy kondycji lub transakcje finansowe, i zezwalanie na dostęp tylko autoryzowanym użytkownikom.
- Zgodność danych — użyj szczegółowej kontroli dostępu opartej na rolach jako narzędzia, aby ułatwić spełnianie wymagań regulacyjnych lub prawnych twojej branży lub regionu. Wymuszanie odpowiednich zasad i kontroli dostępu do danych i użycia.
Szczegółowy system RBAC kontroluje dostęp do danych, na przykład wyświetlanie lub wykonywanie zapytań dotyczących danych. Nie dotyczy to akcji płaszczyzny sterowania, takich jak ustawianie uprawnień dostępu do danych, zarządzania obszarem roboczym, przekształceń ani eksportowania danych.
Konfigurowanie szczegółowego RBAC
Przejdź do szczegółowej kontroli dostępu opartej na rolach przy użyciu szczegółowego przykładu kontroli dostępu opartej na rolach krok po kroku.
Poniższe sekcje zawierają omówienie kluczowych pojęć i kroków związanych z konfigurowaniem granularnej RBAC.
Wybór roli
Aby skonfigurować szczegółową kontrolę RBAC, użyj wbudowanej roli, czytnika danych usługi Log Analytics lub utwórz rolę niestandardową z określonymi wymaganymi akcjami. Następnie przypisz wybraną rolę przy użyciu warunków. Aby uzyskać więcej informacji na temat ról niestandardowych, zobacz Role niestandardowe platformy Azure.
Minimalne wymagane uprawnienia akcji i akcji danych:
| Definicja roli niestandardowej | Pozwolenie | Opis |
|---|---|---|
| Płaszczyzna sterowania (akcje) | Microsoft.OperationalInsights/workspaces/query/read |
Uruchamianie zapytań w usłudze Log Analytics i wyświetlanie metadanych. To uprawnienie nie udziela dostępu do danych. |
| Płaszczyzna danych (DataActions) | Microsoft.OperationalInsights/workspaces/tables/data/read |
Dostęp do danych i jest dataaction wybierany w warunku przypisania roli. Jeśli nie ustawiono warunku, to uprawnienie udziela dostępu do wszystkich danych w przypisanym zakresie. |
Opcjonalnie dołącz dostęp do interfejsu użytkownika dzienników w portalu Azure, dodając akcję kontrolną Microsoft.OperationalInsights/workspaces/read. Aby uzyskać więcej informacji, zobacz Azure RBAC control and data actions (Kontrola RBAC platformy Azure i akcje danych).
Uwaga / Notatka
Granularne RBAC, podobnie jak Azure RBAC, jest modelem dodatkowym. Efektywne uprawnienia to suma przypisanych ról. Aby szczegółowe warunki kontroli dostępu opartej na rolach zaczęły obowiązywać, należy usunąć wszystkie przypisania ról z wyższymi uprawnieniami dostępu.
Jeśli na przykład masz dwa przypisania ról w tym samym zakresie, jedno z akcją */read, a drugie z warunkami ograniczającymi dostęp do określonych rekordów, to wynikowe uprawnienie to akcja */read, która udziela dostępu do wszystkich dzienników w zakresie. Nie ma jawnej akcji odmowy, tylko odmów przypisań.
Warunki i wyrażenia
Podobnie jak w przypadku zwykłych przypisań ról, utworzona rola niestandardowa musi być przypisana do użytkownika lub grupy. Różnica polega na tym, że podczas przypisywania roli warunki są skonfigurowane do precyzyjnego dostosowywania kontroli dostępu.
Granularne RBAC pozwala na ustawienie warunku w tabelach i na poziomie wiersza, w oparciu o dane w każdym rekordzie. Planowanie ograniczeń w oparciu o te dwie strategie:
| Metoda kontroli dostępu | Przykład |
|---|---|
| Brak dostępu do danych, z wyjątkiem tego, co jest dozwolone | Ogranicz dostęp do dzienników aplikacji, aby użytkownicy mogli wyświetlać tylko rekordy, w których kolumna application id jest aplikacją, do której mają dostęp. |
| Dostęp do wszystkich danych, z wyjątkiem tego, co nie jest dozwolone | Zezwalaj na dostęp do wszystkich dzienników logowania, z wyjątkiem rekordów, w których kolumna userPrincipalName jest dyrektorem generalnym. |
Warunek składa się z akcji danych roli oraz wyrażeń. Wyrażenie to instrukcja logiki z formatem AttributeOperatorValue.
Wartości są ograniczone do obsługiwanych następujących znaków:
- Znaki alfanumeryczne
- Znaki specjalne:
@,.,-
Szczegółowa kontrola dostępu oparta na rolach w Log Analytics obsługuje atrybuty tabel oraz kolumn/wartości.
| Źródło atrybutu | Wyświetlana nazwa | Typ | Opis | Nazwa atrybutu |
|---|---|---|---|---|
| Zasób | Nazwa tabeli | Sznurek | Nazwy tabel używane do przyznawania lub ograniczania dostępu. | Microsoft.OperationalInsights/workspaces/tables:«<name>» |
| Zasób | Wartość kolumny (Klucz jest nazwą kolumny) | Słownik (klucz-wartość) | Nazwa i wartość kolumny. Nazwa kolumny jest kluczem. Wartość danych w kolumnie jest wartością. | Microsoft.OperationalInsights/workspaces/tables/record:<key> |
Oto przykładowy zrzut ekranu przedstawiający szczegółowy warunek przypisania roli RBAC przy użyciu opcji Brak dostępu do danych, z wyjątkiem dozwolonej metody skonfigurowanej przy użyciu witryny Azure Portal.
Zmniejsz złożoność, konfigurując szczegółowe przypisania ról RBAC w zakresie, który jest dostosowany do ustawionych warunków. Jeśli na przykład rola niestandardowa jest przypisana w zakresie grupy zasobów, możliwe, że inne obszary robocze nie mają zasobów tabeli ani kolumn określonych w wyrażeniu, co powoduje nieoczekiwane zastosowanie warunku.
Jeśli jednak ustawisz warunek przypisania roli na poziomie tabeli, należy utworzyć dwie role w następujący sposób:
- Rola 1. Akcja:
Microsoft.OperationalInsights/workspaces/query/readdla obszaru roboczego tabeli. - Rola 2. DataAction:
Microsoft.OperationalInsights/workspaces/tables/data/readdla tabeli w tym obszarze roboczym. Zdefiniuj warunek roli za pomocą akcji danych.
Aby uniknąć tworzenia dwóch ról, użyj najprostszego podejścia, przypisując rolę w obszarze roboczym i ustawiając warunki do kontrolowania poziomu tabeli.
Aby uzyskać więcej informacji, zobacz Poziomy zakresu RBAC platformy Azure.
Operatory wyrażeń
Szczegółowe wyrażenia RBAC używają podzestawu operatorów kontroli dostępu opartej na atrybutach (ABAC).
Atrybut nazwy tabeli obsługuje cztery operatory. Te operatory zapewniają elastyczność dopasowania wartości nazw tabel podczas ustawiania warunku.
| Operatory ABAC | Opis |
|---|---|
StringEquals |
Dopasowanie uwzględniające wielkość liter. Wartości muszą być dokładnie zgodne z ciągiem. |
StringNotEquals |
Negacja StringEquals. |
ForAllOfAnyValues:StringEquals |
Logicznie równoważny in(). Jeśli każda wartość po lewej stronie spełnia porównanie z co najmniej jedną wartością po prawej stronie, wyrażenie daje wartość true. |
ForAllOfAllValues:StringNotEquals |
Logicznie równoważny !in(). Jeśli każda wartość po lewej stronie spełnia porównanie z co najmniej jedną wartością po prawej stronie, wyrażenie daje wartość false. |
Warunki ABAC zdefiniowane dla wartości w kolumnach w usłudze Log Analytics opierają się na danych zawartych w tej kolumnie. Można porównać tylko typy danych ciągów. W przypadku atrybutu dostępu na poziomie wiersza wszystkie rzutowania są oparte wyłącznie na zachowaniu KQL.
W poniższej tabeli przedstawiono obsługiwane operatory wyrażeń ABAC. Równoważne operatory Kusto są wymienione w celu zapewnienia przejrzystości.
| Operator ABAC | Operator odpowiednik Kusto | Opis |
|---|---|---|
StringEquals / StringEqualsIgnoreCase |
== / =~ |
Dopasowanie uwzględniające wielkość liter (lub bez uwzględniania wielkości liter). Wartości muszą być dokładnie zgodne z ciągiem. |
StringNotEquals / StringNotEqualsIgnoreCase |
!= / !~ |
Negacja StringEquals (lub StringEqualsIgnoreCase). |
StringLike / StringLikeIgnoreCase |
has_cs / has |
Dopasowanie uwzględniające wielkość liter (lub bez uwzględniania wielkości liter). Prawa strona operatora (RHS) jest całym terminem w lewej stronie (LHS). |
StringNotLike / StringNotLikeIgnoreCase |
!has_cs / !has |
Negacja operatora StringLike (lub StringLikeIgnoreCase) |
StringStartsWith / StringStartsWithIgnoreCase |
startswith_cs/ startswith |
Dopasowanie uwzględniające wielkość liter (lub bez uwzględniania wielkości liter). Wartość zaczyna się od ciągu. |
StringNotStartsWith / StringNotStartsWithIgnoreCase |
!startswith_cs / !startswith |
Negacja operatora StringStartsWith (lub StringStartsWithIgnoreCase). |
ForAllOfAnyValues:StringEquals / ForAllOfAnyValues:StringEqualsIgnoreCase ForAllOfAllValues:StringNotEquals / ForAllOfAllValues:StringNotEqualsIgnoreCaseForAnyOfAnyValues:StringLikeIgnoreCase |
In / In~ !in / !in~ has_any |
Element "ForAllOfAnyValues:<BooleanFunction>" obsługuje wiele ciągów i liczb.
Jeśli każda wartość po lewej stronie spełnia porównanie z co najmniej jedną wartością po prawej stronie, wyrażenie daje wartość true. |
Warunki ABAC nie są ustawiane bezpośrednio w funkcjach. Jeśli ustawisz warunek w tabeli, będzie ona propagowana do dowolnej funkcji, która na niej bazuje. Aby uzyskać więcej informacji na temat operatorów i terminów, zobacz Operatory ciągów.
Wskazówka
Przekształcanie służy do wzbogacania danych, zmieniania typów danych i zmieniania wielkości liter w celu lepszego dopasowania do wyrażeń ABAC. Jeśli dane nie obsługują warunków, które chcesz zastosować, przekształcenia są również rozwiązaniem. Aby na przykład zastosować warunki do danych o wysokiej kardynalności, takich jak zakresy adresów IP, użyj przekształceń do grupowania adresów IP należących do wybranych podsieci według nazwy podsieci.
Aby uzyskać więcej informacji, zobacz Przekształcenia zbierania danych w usłudze Azure Monitor.
Rozważania
Podczas korzystania z granularnej kontroli dostępu RBAC opartej na rolach w Log Analytics istnieje kilka kwestii do rozważenia. Poniższe sekcje zawierają szczegółowe informacje.
- Szczegółowa kontrola dostępu oparta na rolach jest dostępna w chmurze publicznej, w usługach Azure Commercial (GCC) i Azure Chinach.
Azure Monitor
- Zadania wyszukiwania i reguły podsumowania są planowane na potrzeby szczegółowej obsługi kontroli dostępu opartej na rolach, ale nie eksportowania danych. W przypadku wszystkich tych środowisk, jeśli pełny dostęp nie istnieje w tabelach zapytanych, użytkownik nie może skonfigurować zadania wyszukiwania lub reguły i otrzymuje błąd.
- Alerty: obsługiwane są tylko alerty dziennika oparte na tożsamości zarządzanej.
- Application Insights: obsługiwane są tylko usługi Application Insights oparte na obszarze roboczym.
Microsoft Sentinel
Gdy dane są replikowane z oryginalnych tabel przy użyciu wyszukiwania zagrożeń, zakładek, reguły analizy i zdarzeń, replikowane dane nie są chronione przez warunki ABAC.
Kontrola dostępu oparta na atrybutach (ABAC) i kontrola dostępu oparta na rolach (RBAC) w platformie Azure
Obowiązują normalne ograniczenia kontroli dostępu opartej na rolach (RBAC) i kontroli dostępu opartej na atrybutach (ABAC) platformy Azure. Na przykład próg maksymalnej liczby przypisań ról na subskrypcję to limit usługi Azure dla RBAC (kontroli dostępu opartej na rolach). Usługa Azure ABAC ogranicza liczbę wyrażeń na warunek i ogólny rozmiar warunku w kb. Aby uzyskać więcej informacji, zobacz następujące artykuły:
- Limity kontroli dostępu opartej na rolach platformy Azure
- Ograniczenia Azure ABAC
- Często zadawane pytania dotyczące warunków przypisywania ról platformy Azure
- Rozwiązywanie problemów z limitami rola-bazowanej kontroli dostępu w Azure
Inspekcja i monitorowanie
Zmiany przypisań ról są rejestrowane w dziennikach aktywności platformy Azure. Zapytania użytkownika w LAQueryLogs tabeli wskazują, czy zapytanie zostało wykonane z odpowiednim warunkiem dostępu ABAC w kolumnieConditionalDataAccess. Włącz dzienniki przy użyciu ustawień diagnostycznych w obszarze roboczym usługi Log Analytics. Aby uzyskać więcej informacji, zobacz Ustawienia diagnostyczne dzienników usługi Azure Monitor.
Często zadawane pytania
Uzyskuję dostęp do dzienników za pośrednictwem kontekstu zasobu. Czy można wymusić mój warunek?
RBAC i ABAC są egzekwowane dla zapytań dotyczących kontekstu zasobów, lecz wymagają, aby obszary robocze zawierające dzienniki zasobów spełniały następujące warunki wstępne:
- Ustaw tryb kontroli dostępu wszystkich odpowiednich obszarów roboczych na Wymagaj uprawnień obszaru roboczego.
Jeśli ustawiono opcję Użyj zasobów lub uprawnień obszaru roboczego, uprawnienie do odczytu platformy Azure przypisane do zasobu zapewnia dostęp do wszystkich dzienników. Uprawnienia obszaru roboczego i uprawnienia ABAC są ignorowane. - Ustaw ABAC na wszystkich odpowiednich przestrzeniach roboczych.
Aby uzyskać więcej informacji, zobacz Zarządzanie dostępem do obszarów roboczych usługi Log Analytics, tryb dostępu.
Czy szczegółowe warunki RBAC utrzymują się podczas eksportowania tabeli?
Szczegółowe warunki kontroli dostępu opartej na rolach są wymuszane tylko w przypadku zapytań. Na przykład dane pomyślnie wyeksportowane przy użyciu funkcji eksportowania danych obszaru roboczego nie zachowują warunków ABAC na danych tabeli docelowej.
Jak skonfigurować dostęp na podstawie klasyfikacji danych?
Aby zaimplementować model dostępu w stylu Bell-LaPadula, należy jawnie ustawić warunki ABAC, aby trzymać się zasad, takich jak odczyt w dół. Na przykład użytkownik z uprawnieniami ściśle tajnymi musi mieć jawnie ustawione uprawnienia dla niższych poziomów, takich jak wpis tajny, poufne i niesklasyfikowane, aby mieć pewność, że będzie mógł uzyskiwać dostęp do danych na poziomach niższych niż najwyższy przypisany poziom.