Role, oprávnění a zabezpečení ve službě Azure Monitor

Tento článek ukazuje, jak rychle použít předdefinované role monitorování pro uživatele v Azure nebo vytvořit vlastní roli pro uživatele, který potřebuje omezená oprávnění monitorování. Tento článek pak popisuje aspekty zabezpečení pro prostředky související se službou Azure Monitor a způsob omezení přístupu k datům v těchto prostředcích.

Předdefinované role monitorování

Předdefinované role ve službě Azure Monitor pomáhají omezit přístup k prostředkům v předplatném a zároveň umožňují zaměstnancům, kteří monitorují infrastrukturu, získat a konfigurovat potřebná data. Azure Monitor nabízí dvě předdefinované role: Čtenář monitorování a Přispěvatel monitorování. Protokoly služby Azure Monitor také poskytují předdefinované role pro správu přístupu k datům v pracovním prostoru služby Log Analytics, jak je popsáno v tématu Správa přístupu k pracovním prostorům služby Log Analytics.

Čtenář monitorování

Uživatelé s přiřazenou rolí Čtenář monitorování můžou zobrazit všechna data monitorování v předplatném, ale nemůžou upravovat žádné prostředky ani nastavení související s monitorováním prostředků. Tato role je vhodná pro uživatele v organizaci, jako je podpora nebo provozní technici, kteří potřebují:

  • Zobrazení řídicích panelů monitorování na webu Azure Portal
  • Zobrazení pravidel upozornění definovaných v upozorněních Azure
  • Dotazování metrik Azure Monitoru pomocí rozhraní REST API služby Azure Monitor, rutin PowerShellu nebo rozhraní příkazového řádku pro různé platformy
  • Dotazování protokolu aktivit pomocí portálu, rozhraní REST API služby Azure Monitor, rutin PowerShellu nebo rozhraní příkazového řádku pro různé platformy
  • Zobrazení nastavení diagnostiky pro prostředek
  • Zobrazte profil protokolu pro předplatné.
  • Zobrazení nastavení automatického škálování
  • Umožňuje zobrazit aktivitu a nastavení upozornění.
  • Prohledávat data pracovního prostoru služby Log Analytics, včetně dat o využití pro tento pracovní prostor.
  • Načtěte schémata tabulek v pracovním prostoru služby Log Analytics.
  • Načtěte a spusťte dotazy protokolu v pracovním prostoru služby Log Analytics.
  • Access Application Přehledy data.

Poznámka:

Tato role neuděluje přístup pro čtení k datům protokolu streamovaným do centra událostí nebo uloženým v účtu úložiště. Informace o tom, jak nakonfigurovat přístup k těmto prostředkům, najdete v části Aspekty zabezpečení pro monitorování dat dále v tomto článku.

Přispěvatel monitorování

Uživatelé s přiřazenou rolí Přispěvatel monitorování můžou zobrazit všechna data monitorování v předplatném. Můžou také vytvářet nebo upravovat nastavení monitorování, ale nemůžou upravovat žádné jiné prostředky.

Tato role je nadmnožinou role Čtenář monitorování. Je vhodné pro členy monitorovacího týmu organizace nebo poskytovatelů spravovaných služeb, kteří kromě výše uvedených oprávnění potřebují:

  • Zobrazte řídicí panely monitorování na portálu a vytvořte vlastní privátní řídicí panely monitorování.
  • Vytvořte a upravte nastavení diagnostiky pro prostředek. 1
  • Nastavte aktivitu a nastavení pravidla upozornění pomocí upozornění Azure.
  • Výpis sdílených klíčů pro pracovní prostor služby Log Analytics
  • Vytváření, odstraňování a spouštění uložených hledání v pracovním prostoru služby Log Analytics
  • Vytvořte a odstraňte konfiguraci úložiště pracovního prostoru pro Log Analytics.
  • Vytváření webových testů a komponent pro Přehledy aplikací Viz Prostředky, role a řízení přístupu v aplikaci Přehledy.

1 Chcete-li vytvořit nebo upravit nastavení diagnostiky, musí být uživatelům také uděleno oprávnění ListKeys k cílovému prostředku (účet úložiště nebo obor názvů centra událostí).

Poznámka:

Tato role neuděluje přístup pro čtení k datům protokolu streamovaným do centra událostí nebo uloženým v účtu úložiště. Informace o tom, jak nakonfigurovat přístup k těmto prostředkům, najdete v části Aspekty zabezpečení pro monitorování dat dále v tomto článku.

Monitorování oprávnění a vlastních rolí Azure

Pokud předchozí předdefinované role nesplňují přesné potřeby vašeho týmu, můžete vytvořit vlastní roli Azure s podrobnějšími oprávněními. Tady jsou uvedené běžné operace řízení přístupu na základě role v Azure (RBAC) pro Azure Monitor.

Operation Popis
Microsoft. Přehledy/ActionGroups/[Čtení, zápis, odstranění] Skupiny akcí pro čtení, zápis nebo odstranění
Microsoft. Přehledy/ActivityLogAlerts/[Čtení, zápis, odstranění] Upozornění protokolu aktivit pro čtení, zápis nebo odstranění
Microsoft. Přehledy/AlertRules/[Čtení, zápis, odstranění] Čtení, zápis nebo odstranění pravidel upozornění (z klasických upozornění)
Microsoft. Přehledy/ upozornění, incidenty/ čtení Vypisujte incidenty (historie aktivovaného pravidla upozornění) pro pravidla upozornění. To platí jenom pro portál.
Microsoft. Přehledy/Automatické škálování Nastavení/[Čtení, zápis, odstranění] Čtení, zápis nebo odstranění nastavení automatického škálování
Microsoft. Přehledy/Diagnostika Nastavení/[Čtení, zápis, odstranění] Čtení, zápis nebo odstranění nastavení diagnostiky
Microsoft. Přehledy/EventCategories/Read Zobrazení výčtu všech kategorií, které jsou v protokolu aktivit možné. Používá se na webu Azure Portal.
Microsoft. Přehledy/eventtypes/digestevents/Read Toto oprávnění je nezbytné pro uživatele, kteří potřebují přístup k protokolu aktivit prostřednictvím portálu.
Microsoft. Přehledy/eventtypes/values/Read Výpis událostí protokolu aktivit (událostí správy) v předplatném Toto oprávnění platí pro programový i portálový přístup k protokolu aktivit.
Microsoft. Přehledy/ExtendedDiagnostic Nastavení/[Čtení, zápis, odstranění] Čtení, zápis nebo odstranění nastavení diagnostiky pro protokoly toku sítě
Microsoft. Přehledy/LogDefinitions/Read Toto oprávnění je nezbytné pro uživatele, kteří potřebují přístup k protokolu aktivit prostřednictvím portálu.
Microsoft. Přehledy/LogProfiles/[Čtení, zápis, odstranění] Čtení, zápis nebo odstranění profilů protokolů (streamování protokolu aktivit do centra událostí nebo účtu úložiště)
Microsoft. Přehledy/MetricAlerts/[Čtení, zápis, odstranění] Pravidla upozornění na metriky můžete číst, zapisovat nebo odstraňovat.
Microsoft. Přehledy/MetricDefinitions/Read Přečtěte si definice metrik (seznam dostupných typů metrik pro prostředek).
Microsoft. Přehledy/ metriky/ čtení Čtení metriky pro prostředek.
Microsoft.Insights/Register/Action Zaregistrujte poskytovatele prostředků služby Azure Monitor.
Microsoft. Přehledy/ScheduledQueryRules/[Čtení, zápis, odstranění] Upozornění prohledávání protokolů ve službě Azure Monitor můžete číst, zapisovat nebo odstraňovat.

Poznámka:

Přístup k upozorněním, nastavením diagnostiky a metrikám prostředku vyžaduje, aby uživatel získal přístup pro čtení k typu prostředku a rozsahu daného prostředku. Vytvoření nastavení diagnostiky, které odesílá data do účtu úložiště nebo datových proudů do center událostí, vyžaduje, aby měl uživatel také oprávnění ListKeys k cílovému prostředku.

Pomocí předchozí tabulky můžete například vytvořit vlastní roli Azure pro čtenáře protokolu aktivit následujícím kódem:

$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 

Důležité informace o zabezpečení dat monitorování

Data ve službě Azure Monitor je možné odesílat v účtu úložiště nebo streamovat do centra událostí, z nichž obě jsou prostředky Azure pro obecné účely. Vzhledem k tomu, že se jedná o prostředky pro obecné účely, vytváření, odstraňování a přístup k nim, je privilegovaná operace vyhrazená pro správce. Vzhledem k tomu, že tato data mohou obsahovat citlivé informace, jako jsou IP adresy nebo uživatelská jména, použijte následující postupy pro monitorování prostředků souvisejících s monitorováním, aby se zabránilo zneužití:

  • Pro monitorování dat použijte jeden vyhrazený účet úložiště. Pokud potřebujete oddělit data monitorování do více účtů úložiště, nikdy nesdílejte využití účtu úložiště mezi monitorováním a neschovávacími daty. Sdílení využití tímto způsobem může neúmyslně udělit přístup k datům bez monitorování organizacím, které potřebují přístup pouze k datům monitorování. Například organizace třetí strany pro informace o zabezpečení a správu událostí by měla potřebovat přístup pouze k datům monitorování.
  • Pro všechna nastavení diagnostiky použijte jeden vyhrazený obor názvů služby Service Bus nebo centra událostí z stejného důvodu, který je popsaný v předchozím bodu.
  • Omezte přístup k účtům úložiště nebo centrem událostí souvisejícím s monitorováním tím, že je necháte v samostatné skupině prostředků. Pomocí oboru u rolí monitorování omezte přístup jenom na tuto skupinu prostředků.
  • Nikdy neudělujte oprávnění ListKeys pro účty úložiště nebo centra událostí v oboru předplatného, pokud uživatel potřebuje přístup pouze k datům monitorování. Místo toho uživateli udělte tato oprávnění v oboru prostředku nebo skupiny prostředků (pokud máte vyhrazenou skupinu prostředků monitorování).

Když uživatel nebo aplikace potřebuje přístup k datům monitorování v účtu úložiště, vygenerujte sdílený přístupový podpis (SAS) v účtu úložiště, který obsahuje data monitorování s přístupem jen pro čtení na úrovni služby k úložišti objektů blob. V PowerShellu může SAS účtu vypadat jako následující kód:

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

Token pak můžete dát entitě, která potřebuje číst z daného účtu úložiště. Entita může vypsat a číst ze všech objektů blob v daném účtu úložiště.

Pokud potřebujete toto oprávnění řídit pomocí Azure RBAC, můžete této entitě Microsoft.Storage/storageAccounts/listkeys/action udělit oprávnění k tomuto konkrétnímu účtu úložiště. Toto oprávnění je nezbytné pro uživatele, kteří potřebují nastavit nastavení diagnostiky pro odesílání dat do účtu úložiště. Můžete například vytvořit následující vlastní roli Azure pro uživatele nebo aplikaci, která potřebuje číst jenom z jednoho účtu úložiště:

$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 

Upozorňující

Oprávnění ListKeys umožňuje uživateli vypsat primární a sekundární klíče účtu úložiště. Tyto klíče uživateli udělují všechna podepsaná oprávnění (například čtení, zápis, vytváření objektů blob a odstraňování objektů blob) ve všech podepsaných službách (blob, fronta, tabulka, soubor) v tomto účtu úložiště. Pokud je to možné, doporučujeme použít SAS účtu.

U center událostí můžete postupovat podle podobného vzoru, ale nejprve musíte vytvořit vyhrazené autorizační pravidlo pro naslouchání. Pokud chcete udělit přístup k aplikaci, která potřebuje jenom naslouchat centrem událostí souvisejícím s monitorováním, postupujte takto:

  1. Na portálu vytvořte zásadu sdíleného přístupu v centrech událostí, která byla vytvořena pro streamování dat monitorování, pouze s nasloucháním deklarací identity. Můžete ho například volat "monitoringReadOnly". Pokud je to možné, dejte ho přímo příjemci a přeskočte další krok.

  2. Pokud uživatel potřebuje získat klíč ad hoc, udělte uživateli akci ListKeys pro toto centrum událostí. Tento krok je také nezbytný pro uživatele, kteří potřebují nastavit nastavení diagnostiky nebo profil protokolu pro streamování do center událostí. Můžete například vytvořit pravidlo Azure RBAC:

    $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 
    

Další kroky