Role, uprawnienia i zabezpieczenia w usłudze Azure Monitor

W tym artykule pokazano, jak szybko zastosować wbudowaną rolę monitorowania do użytkownika na platformie Azure lub utworzyć własną rolę niestandardową dla użytkownika, który potrzebuje ograniczonych uprawnień do monitorowania. W tym artykule omówiono zagadnienia dotyczące zabezpieczeń dotyczące zasobów związanych z usługą Azure Monitor oraz sposób ograniczania dostępu do danych w tych zasobach.

Wbudowane role monitorowania

Wbudowane role w usłudze Azure Monitor pomagają ograniczyć dostęp do zasobów w ramach subskrypcji, jednocześnie umożliwiając pracownikom, którzy monitorują infrastrukturę, uzyskiwanie i konfigurowanie potrzebnych danych. Usługa Azure Monitor udostępnia dwie gotowe role: Czytelnik monitorowania i Współautor monitorowania. Dzienniki usługi Azure Monitor udostępniają również wbudowane role do zarządzania dostępem do danych w obszarze roboczym usługi Log Analytics, zgodnie z opisem w temacie Zarządzanie dostępem do obszarów roboczych usługi Log Analytics.

Czytelnik monitorowania

Osoby przypisane do roli Czytelnik monitorowania mogą wyświetlać wszystkie dane monitorowania w subskrypcji, ale nie mogą modyfikować zasobów ani edytować ustawień związanych z zasobami monitorowania. Ta rola jest odpowiednia dla użytkowników w organizacji, takich jak inżynierowie pomocy technicznej lub operacyjnej, którzy muszą:

  • Wyświetlanie pulpitów nawigacyjnych monitorowania w witrynie Azure Portal.
  • Wyświetlanie reguł alertów zdefiniowanych w alertach platformy Azure.
  • Wykonywanie zapytań względem metryk usługi Azure Monitor przy użyciu interfejsu API REST usługi Azure Monitor, poleceń cmdlet programu PowerShell lub międzyplatformowego interfejsu wiersza polecenia.
  • Wykonywanie zapytań w dzienniku aktywności przy użyciu portalu, interfejsu API REST usługi Azure Monitor, poleceń cmdlet programu PowerShell lub międzyplatformowego interfejsu wiersza polecenia.
  • Wyświetl ustawienia diagnostyczne zasobu.
  • Wyświetlanie profilu dziennika dla subskrypcji.
  • Wyświetlanie ustawień automatycznego skalowania.
  • Wyświetlanie działań i ustawień alertu.
  • Przeszukaj dane obszaru roboczego usługi Log Analytics, w tym dane użycia dla obszaru roboczego.
  • Pobierz schematy tabeli w obszarze roboczym usługi Log Analytics.
  • Pobieranie i wykonywanie zapytań dziennika w obszarze roboczym usługi Log Analytics.
  • Uzyskiwanie dostępu do danych Szczegółowe informacje aplikacji.

Uwaga

Ta rola nie zapewnia dostępu do odczytu do danych dziennika przesyłanych strumieniowo do centrum zdarzeń ani przechowywanych na koncie magazynu. Aby uzyskać informacje na temat konfigurowania dostępu do tych zasobów, zobacz sekcję Zagadnienia dotyczące zabezpieczeń dotyczące monitorowania danych w dalszej części tego artykułu.

Współautor monitorowania

Osoby z przypisaną rolą Współautor monitorowania mogą wyświetlać wszystkie dane monitorowania w subskrypcji. Mogą też tworzyć i modyfikować ustawienia monitorowania, ale nie mogą modyfikować żadnych innych zasobów.

Ta rola jest nadzbiorem roli Czytelnik monitorowania. Jest to odpowiednie dla członków zespołu monitorowania organizacji lub zarządzanych dostawców usług, którzy oprócz wymienionych wcześniej uprawnień muszą:

  • Wyświetlanie pulpitów nawigacyjnych monitorowania w portalu i tworzenie własnych prywatnych pulpitów nawigacyjnych monitorowania.
  • Tworzenie i edytowanie ustawień diagnostycznych dla zasobu. 1
  • Ustawianie działań i ustawień reguły alertu przy użyciu alertów platformy Azure.
  • Wyświetlanie listy kluczy udostępnionych dla obszaru roboczego usługi Log Analytics.
  • Tworzenie, usuwanie i wykonywanie zapisanych wyszukiwań w obszarze roboczym usługi Log Analytics.
  • Utwórz i usuń konfigurację magazynu obszaru roboczego dla usługi Log Analytics.
  • Tworzenie testów sieci Web i składników dla Szczegółowe informacje aplikacji. Zobacz Zasoby, role i kontrola dostępu w Szczegółowe informacje aplikacji.

1 Aby utworzyć lub edytować ustawienie diagnostyczne, użytkownicy muszą również przyznać uprawnienie ListKeys do zasobu docelowego (konto magazynu lub przestrzeń nazw centrum zdarzeń).

Uwaga

Ta rola nie zapewnia dostępu do odczytu do danych dziennika przesyłanych strumieniowo do centrum zdarzeń ani przechowywanych na koncie magazynu. Aby uzyskać informacje na temat konfigurowania dostępu do tych zasobów, zobacz sekcję Zagadnienia dotyczące zabezpieczeń dotyczące monitorowania danych w dalszej części tego artykułu.

Monitorowanie uprawnień i ról niestandardowych platformy Azure

Jeśli poprzednie wbudowane role nie spełniają dokładnych potrzeb twojego zespołu, możesz utworzyć rolę niestandardową platformy Azure z bardziej szczegółowymi uprawnieniami. Typowe operacje kontroli dostępu opartej na rolach (RBAC) platformy Azure dla usługi Azure Monitor są wymienione tutaj.

Działanie opis
Microsoft. Szczegółowe informacje/ActionGroups/[Odczyt, Zapis, Usuwanie] Odczyt, zapis lub usuwanie grup akcji.
Microsoft. Szczegółowe informacje/ActivityLogAlerts/[Odczyt, Zapis, Usuwanie] Odczytywanie, zapisywanie lub usuwanie alertów dziennika aktywności.
Microsoft. Szczegółowe informacje/AlertRules/[Odczyt, Zapis, Usuwanie] Odczytywanie, zapisywanie lub usuwanie reguł alertów (z alertów klasycznych).
Microsoft. Szczegółowe informacje/AlertRules/Incidents/Read Wyświetl listę zdarzeń (historia wyzwalanej reguły alertu) dla reguł alertów. Dotyczy to tylko portalu.
Microsoft. Szczegółowe informacje/Autoskalowania Ustawienia/[Odczyt, Zapis, Usuwanie] Odczyt, zapis lub usuwanie ustawień autoskalowania.
Microsoft. Szczegółowe informacje/Diagnostyka Ustawienia/[Odczyt, Zapis, Usuwanie] Odczyt, zapis lub usuwanie ustawień diagnostycznych.
Microsoft. Szczegółowe informacje/EventCategories/Read Wyliczanie wszystkich kategorii możliwych w dzienniku aktywności. Używany przez witrynę Azure Portal.
Microsoft. Szczegółowe informacje/eventtypes/digestevents/Read To uprawnienie jest niezbędne dla użytkowników, którzy potrzebują dostępu do dziennika aktywności za pośrednictwem portalu.
Microsoft. Szczegółowe informacje/eventtypes/values/Read Wyświetlanie listy zdarzeń dziennika aktywności (zdarzeń zarządzania) w subskrypcji. To uprawnienie ma zastosowanie zarówno do dostępu programowego, jak i portalu do dziennika aktywności.
Microsoft. Szczegółowe informacje/ExtendedDiagnostic Ustawienia/[Odczyt, Zapis, Usuwanie] Odczyt, zapis lub usuwanie ustawień diagnostycznych dzienników przepływu sieci.
Microsoft. Szczegółowe informacje/LogDefinitions/Read To uprawnienie jest niezbędne dla użytkowników, którzy potrzebują dostępu do dziennika aktywności za pośrednictwem portalu.
Microsoft. Szczegółowe informacje/LogProfiles/[Odczyt, Zapis, Usuwanie] Odczyt, zapis lub usuwanie profilów dziennika (przesyłanie strumieniowe dziennika aktywności do centrum zdarzeń lub konta magazynu).
Microsoft. Szczegółowe informacje/MetricAlerts/[Odczyt, Zapis, Usuwanie] Odczytywanie, zapisywanie lub usuwanie reguł alertów dotyczących metryk.
Microsoft. Szczegółowe informacje/MetricDefinitions/Read Czytanie definicji metryk (lista dostępnych typów metryk dla zasobu).
Microsoft. Szczegółowe informacje/metryki/odczyt Czytanie metryk zasobu.
Microsoft.Insights/Register/Action Zarejestruj dostawcę zasobów usługi Azure Monitor.
Microsoft. Szczegółowe informacje/ScheduledQueryRules/[Odczyt, Zapis, Usuwanie] Odczytywanie, zapisywanie lub usuwanie alertów wyszukiwania dzienników w usłudze Azure Monitor.

Uwaga

Dostęp do alertów, ustawień diagnostycznych i metryk dla zasobu wymaga, aby użytkownik miał dostęp do odczytu do typu zasobu i zakresu tego zasobu. Utworzenie ustawienia diagnostycznego, które wysyła dane do konta magazynu lub strumieni do centrów zdarzeń, wymaga, aby użytkownik miał również uprawnienie ListKeys do zasobu docelowego.

Na przykład możesz użyć powyższej tabeli, aby utworzyć rolę niestandardową platformy Azure dla czytnika dzienników aktywności z następującymi elementami:

$role = Get-AzRoleDefinition "Reader"
$role.Id = $null
$role.Name = "Activity Log Reader"
$role.Description = "Can view activity logs."
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Insights/eventtypes/*")
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/mySubscription")
New-AzRoleDefinition -Role $role 

Zagadnienia związane z zabezpieczeniami dotyczące monitorowania danych

Dane w usłudze Azure Monitor można wysyłać na koncie magazynu lub przesyłać strumieniowo do centrum zdarzeń, z których oba są zasobami platformy Azure ogólnego przeznaczenia. Ponieważ są to zasoby ogólnego przeznaczenia, tworzenie, usuwanie i uzyskiwanie do nich dostępu jest operacją uprzywilejowaną zarezerwowaną dla administratora. Ponieważ te dane mogą zawierać poufne informacje, takie jak adresy IP lub nazwy użytkowników, należy użyć następujących rozwiązań dotyczących monitorowania zasobów, aby zapobiec niewłaściwemu używaniu:

  • Użyj jednego dedykowanego konta magazynu do monitorowania danych. Jeśli musisz oddzielić dane monitorowania do wielu kont magazynu, nigdy nie współużytkuj użycia konta magazynu między danymi monitorowania i nie monitorowania. Udostępnianie użycia w ten sposób może przypadkowo zapewnić dostęp do danych nie monitorujących organizacjom, które potrzebują dostępu tylko do danych monitorowania. Na przykład organizacja innej firmy do zarządzania informacjami i zdarzeniami zabezpieczeń powinna potrzebować dostępu tylko do danych monitorowania.
  • Użyj pojedynczej, dedykowanej przestrzeni nazw usługi Service Bus lub centrum zdarzeń we wszystkich ustawieniach diagnostycznych z tej samej przyczyny opisanej w poprzednim punkcie.
  • Ogranicz dostęp do kont magazynu lub centrów zdarzeń związanych z monitorowaniem, utrzymując je w oddzielnej grupie zasobów. Użyj zakresu dla ról monitorowania, aby ograniczyć dostęp tylko do tej grupy zasobów.
  • Nigdy nie udzielaj uprawnień ListKeys dla kont magazynu lub centrów zdarzeń w zakresie subskrypcji, gdy użytkownik potrzebuje tylko dostępu do danych monitorowania. Zamiast tego nadaj użytkownikowi te uprawnienia w zakresie zasobu lub grupy zasobów (jeśli masz dedykowaną grupę zasobów monitorowania).

Gdy użytkownik lub aplikacja potrzebuje dostępu do danych monitorowania na koncie magazynu, wygeneruj sygnaturę dostępu współdzielonego na koncie magazynu zawierającym dane monitorowania z dostępem tylko do odczytu na poziomie usługi do magazynu obiektów blob. W programie PowerShell sygnatura dostępu współdzielonego konta może wyglądać podobnie do następującego kodu:

$context = New-AzStorageContext -ConnectionString "[connection string for your monitoring Storage Account]"
$token = New-AzStorageAccountSASToken -ResourceType Service -Service Blob -Permission "rl" -Context $context

Następnie możesz nadać token jednostce, która musi odczytywać dane z tego konta magazynu. Jednostka może wyświetlać i odczytywać ze wszystkich obiektów blob na tym koncie magazynu.

Alternatywnie, jeśli musisz kontrolować to uprawnienie za pomocą kontroli dostępu opartej na rolach platformy Azure, możesz przyznać Microsoft.Storage/storageAccounts/listkeys/action tej jednostce uprawnienie do tego konkretnego konta magazynu. To uprawnienie jest niezbędne dla użytkowników, którzy muszą ustawić ustawienie diagnostyczne w celu wysyłania danych na konto magazynu. Możesz na przykład utworzyć następującą rolę niestandardową platformy Azure dla użytkownika lub aplikacji, która musi odczytywać dane tylko z jednego konta magazynu:

$role = Get-AzRoleDefinition "Reader"
$role.Id = $null
$role.Name = "Monitoring Storage Account Reader"
$role.Description = "Can get the storage account keys for a monitoring storage account."
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Storage/storageAccounts/listkeys/action")
$role.Actions.Add("Microsoft.Storage/storageAccounts/Read")
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myMonitoringStorageAccount")
New-AzRoleDefinition -Role $role 

Ostrzeżenie

Uprawnienie ListKeys umożliwia użytkownikowi wyświetlanie listy kluczy konta magazynu podstawowego i pomocniczego. Te klucze przyznają użytkownikowi wszystkie podpisane uprawnienia (takie jak odczyt, zapis, tworzenie obiektów blob i usuwanie obiektów blob) we wszystkich podpisanych usługach (blob, queue, table, file) na tym koncie magazynu. Zalecamy używanie sygnatury dostępu współdzielonego konta, jeśli jest to możliwe.

Możesz postępować zgodnie z podobnym wzorcem za pomocą centrów zdarzeń, ale najpierw należy utworzyć dedykowaną regułę autoryzacji na potrzeby nasłuchiwania. Jeśli chcesz udzielić dostępu do aplikacji, która musi nasłuchiwać tylko centrów zdarzeń związanych z monitorowaniem, wykonaj następujące kroki:

  1. W portalu utwórz zasady dostępu współdzielonego w centrach zdarzeń utworzonych na potrzeby przesyłania strumieniowego danych monitorowania tylko z oświadczeniami nasłuchiwania. Możesz na przykład nazwać ją "monitoringReadOnly". Jeśli to możliwe, przekaż ten klucz bezpośrednio użytkownikowi i pomiń następny krok.

  2. Jeśli użytkownik musi uzyskać klucz ad hoc, przyznaj użytkownikowi akcję ListKeys dla tego centrum zdarzeń. Ten krok jest również niezbędny dla użytkowników, którzy muszą ustawić ustawienie diagnostyczne lub profil dziennika, aby przesyłać strumieniowo do centrów zdarzeń. Możesz na przykład utworzyć regułę RBAC platformy Azure:

    $role = Get-AzRoleDefinition "Reader"
    $role.Id = $null
    $role.Name = "Monitoring Event Hub Listener"
    $role.Description = "Can get the key to listen to an event hub streaming monitoring data."
    $role.Actions.Clear()
    $role.Actions.Add("Microsoft.EventHub/namespaces/authorizationrules/listkeys/action")
    $role.Actions.Add("Microsoft.EventHub/namespaces/Read")
    $role.AssignableScopes.Clear()
    $role.AssignableScopes.Add("/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.ServiceBus/namespaces/mySBNameSpace")
    New-AzRoleDefinition -Role $role 
    

Następne kroki