Rollen, machtigingen en beveiliging in Azure Monitor

In dit artikel wordt beschreven hoe u snel een ingebouwde bewakingsrol kunt toepassen op een gebruiker in Azure of hoe u uw eigen aangepaste rol bouwt voor een gebruiker die beperkte bewakingsmachtigingen nodig heeft. In het artikel worden vervolgens beveiligingsoverwegingen besproken voor uw Azure Monitor-gerelateerde resources en hoe u de toegang tot de gegevens in deze resources kunt beperken.

Ingebouwde bewakingsrollen

Ingebouwde rollen in Azure Monitor helpen de toegang tot resources in een abonnement te beperken terwijl medewerkers die deze infrastructuur bewaken, de benodigde gegevens kunnen verkrijgen en configureren. Azure Monitor biedt deze twee kant-en-klare rollen: Controlelezer en Inzender voor bewaking. Azure Monitor-logboeken bieden ook ingebouwde rollen voor het beheren van toegang tot gegevens in een Log Analytics-werkruimte, zoals beschreven in Toegang tot Log Analytics-werkruimten beheren.

Lezer voor bewaking

Personen aan wie de rol Bewakingslezer is toegewezen, kunnen alle bewakingsgegevens in een abonnement bekijken, maar ze kunnen geen resource wijzigen of instellingen bewerken die betrekking hebben op bewakingsresources. Deze rol is geschikt voor gebruikers in een organisatie, zoals ondersteunings- of operationele technici, die het volgende moeten doen:

  • Bewakingsdashboards weergeven in Azure Portal.
  • Waarschuwingsregels weergeven die zijn gedefinieerd in Azure-waarschuwingen.
  • Query's uitvoeren op metrische gegevens van Azure Monitor met behulp van de Azure Monitor REST API, PowerShell-cmdlets of platformoverschrijdende CLI.
  • Voer een query uit in het activiteitenlogboek met behulp van de portal, Azure Monitor REST API, PowerShell-cmdlets of platformoverschrijdende CLI.
  • Bekijk de diagnostische instellingen voor een resource.
  • Bekijk het logboekprofiel voor een abonnement.
  • Instellingen voor automatisch schalen weergeven.
  • Waarschuwingsactiviteit en -instellingen weergeven.
  • Zoek in Log Analytics-werkruimtegegevens, inclusief gebruiksgegevens voor de werkruimte.
  • Haal de tabelschema's op in een Log Analytics-werkruimte.
  • Logboekquery's ophalen en uitvoeren in een Log Analytics-werkruimte.
  • Toegang tot Application Insights-gegevens.

Notitie

Deze rol biedt geen leestoegang tot logboekgegevens die zijn gestreamd naar een Event Hub of die zijn opgeslagen in een opslagaccount. Zie de sectie Beveiligingsoverwegingen voor het bewaken van gegevens verderop in dit artikel voor meer informatie over het configureren van toegang tot deze resources.

Bijdrager voor bewaking

De personen aan wie de rol Controlebijdrager is toegewezen, kunnen alle bewakingsgegevens in een abonnement bekijken. Ze kunnen ook de bewakingsinstellingen maken of wijzigen, maar ze kunnen geen andere resources wijzigen.

Deze rol is een superset van de rol Bewakingslezer. Het is geschikt voor leden van het bewakingsteam van een organisatie of beheerde serviceproviders die, naast de eerder genoemde machtigingen, het volgende moeten doen:

  • Bekijk bewakingsdashboards in de portal en maak hun eigen privébewakingsdashboards.
  • Diagnostische instellingen voor een resource maken en bewerken. 1
  • Stel activiteit en instellingen voor waarschuwingsregels in met behulp van Azure-waarschuwingen.
  • Gedeelde sleutels weergeven voor een Log Analytics-werkruimte.
  • Opgeslagen zoekopdrachten maken, verwijderen en uitvoeren in een Log Analytics-werkruimte.
  • Maak en verwijder de werkruimteopslagconfiguratie voor Log Analytics.
  • Webtests en onderdelen maken voor Application Insights. Zie Resources, rollen en toegangsbeheer in Application Insights.

1 Als u een diagnostische instelling wilt maken of bewerken, moeten gebruikers ook afzonderlijk de machtiging ListKeys krijgen voor de doelresource (opslagaccount of Event Hub-naamruimte).

Notitie

Deze rol biedt geen leestoegang tot logboekgegevens die zijn gestreamd naar een Event Hub of die zijn opgeslagen in een opslagaccount. Zie de sectie Beveiligingsoverwegingen voor het bewaken van gegevens verderop in dit artikel voor meer informatie over het configureren van toegang tot deze resources.

Machtigingen en aangepaste Azure-rollen bewaken

Als de voorgaande ingebouwde rollen niet voldoen aan de exacte behoeften van uw team, kunt u een aangepaste Azure-rol maken met gedetailleerdere machtigingen. De algemene RBAC-bewerkingen (op rollen gebaseerd toegangsbeheer) van Azure Monitor worden hier vermeld.

Operation Omschrijving
Microsoft.Insights/ActionGroups/[Lezen, Schrijven, Verwijderen] Actiegroepen lezen, schrijven of verwijderen.
Microsoft.Insights/ActivityLogAlerts/[Lezen, Schrijven, Verwijderen] Waarschuwingen voor activiteitenlogboeken lezen, schrijven of verwijderen.
Microsoft.Insights/AlertRules/[Lezen, Schrijven, Verwijderen] Waarschuwingsregels lezen, schrijven of verwijderen (uit klassieke waarschuwingen).
Microsoft.Insights/AlertRules/Incidents/Read Vermeld incidenten (geschiedenis van de waarschuwingsregel die wordt geactiveerd) voor waarschuwingsregels. Dit geldt alleen voor de portal.
Microsoft.Insights/Automatische schaalaanpassing Instellingen/[Lezen, Schrijven, Verwijderen] Instellingen voor automatisch schalen lezen, schrijven of verwijderen.
Microsoft.Insights/Diagnostic Instellingen/[Lezen, Schrijven, Verwijderen] Diagnostische instellingen lezen, schrijven of verwijderen.
Microsoft.Insights/EventCategories/Read Inventariseer alle categorieën die mogelijk zijn in het activiteitenlogboek. Wordt gebruikt door Azure Portal.
Microsoft.Insights/eventtypes/digestevents/Read Deze machtiging is nodig voor gebruikers die toegang nodig hebben tot het activiteitenlogboek via de portal.
Microsoft.Insights/eventtypes/values/Read Activiteitenlogboeken (beheerevenementen) weergeven in een abonnement. Deze machtiging is van toepassing op zowel programmatische als portaltoegang tot het activiteitenlogboek.
Microsoft.Insights/ExtendedDiagnostic Instellingen/[Lezen, Schrijven, Verwijderen] Diagnostische instellingen voor netwerkstroomlogboeken lezen, schrijven of verwijderen.
Microsoft.Insights/LogDefinitions/Read Deze machtiging is nodig voor gebruikers die toegang nodig hebben tot het activiteitenlogboek via de portal.
Microsoft.Insights/LogProfiles/[Lezen, Schrijven, Verwijderen] Logboekprofielen lezen, schrijven of verwijderen (het activiteitenlogboek streamen naar een Event Hub of opslagaccount).
Microsoft.Insights/MetricAlerts/[Lezen, Schrijven, Verwijderen] Waarschuwingsregels voor metrische gegevens lezen, schrijven of verwijderen.
Microsoft.Insights/MetricDefinitions/Read Metrische definities lezen (lijst met beschikbare metrische typen voor een resource).
Microsoft.Insights/Metrics/Read Metrische gegevens voor een resource lezen.
Microsoft.Insights/Register/Action Registreer de Azure Monitor-resourceprovider.
Microsoft.Insights/ScheduledQueryRules/[Lezen, Schrijven, Verwijderen] Waarschuwingen voor zoeken in logboeken lezen, schrijven of verwijderen in Azure Monitor.

Notitie

Toegang tot waarschuwingen, diagnostische instellingen en metrische gegevens voor een resource vereist dat de gebruiker leestoegang heeft tot het resourcetype en het bereik van die resource. Als u een diagnostische instelling maakt waarmee gegevens worden verzonden naar een opslagaccount of streams naar Event Hubs, moet de gebruiker ook de machtiging ListKeys voor de doelresource hebben.

U kunt bijvoorbeeld de voorgaande tabel gebruiken om een aangepaste Azure-rol te maken voor een activiteitenlogboeklezer met het volgende:

$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 

Beveiligingsoverwegingen voor het bewaken van gegevens

Gegevens in Azure Monitor kunnen worden verzonden in een opslagaccount of worden gestreamd naar een Event Hub, beide azure-resources voor algemeen gebruik. Omdat dit algemene resources zijn, is het maken, verwijderen en openen ervan een bevoegde bewerking die is gereserveerd voor een beheerder. Omdat deze gegevens gevoelige informatie, zoals IP-adressen of gebruikersnamen, kunnen bevatten, gebruikt u de volgende procedures voor het bewaken van gerelateerde resources om misbruik te voorkomen:

  • Gebruik één toegewezen opslagaccount voor het bewaken van gegevens. Als u bewakingsgegevens wilt scheiden in meerdere opslagaccounts, deelt u nooit het gebruik van een opslagaccount tussen bewakings- en niet-bewakingsgegevens. Het delen van gebruik op die manier kan onbedoeld toegang geven tot niet-bewakingsgegevens voor organisaties die alleen toegang nodig hebben tot bewakingsgegevens. Een externe organisatie voor beveiligingsinformatie en gebeurtenisbeheer hoeft bijvoorbeeld alleen toegang te hebben tot bewakingsgegevens.
  • Gebruik één toegewezen servicebus- of Event Hub-naamruimte voor alle diagnostische instellingen om dezelfde reden die in het vorige punt is beschreven.
  • Beperk de toegang tot bewakingsgerelateerde opslagaccounts of Event Hubs door ze in een afzonderlijke resourcegroep te houden. Gebruik het bereik voor uw bewakingsrollen om de toegang tot alleen die resourcegroep te beperken.
  • Verdeel nooit de ListKeys-machtigingen voor opslagaccounts of Event Hubs binnen het abonnementsbereik wanneer een gebruiker alleen toegang nodig heeft tot bewakingsgegevens. Geef in plaats daarvan deze machtigingen aan de gebruiker op een resource- of resourcegroepbereik (als u een toegewezen bewakingsresourcegroep hebt).

Wanneer een gebruiker of toepassing toegang nodig heeft tot het bewaken van gegevens in een opslagaccount, genereert u een SAS (Shared Access Signature) in het opslagaccount dat bewakingsgegevens bevat met alleen-lezentoegang op serviceniveau tot blobopslag. In PowerShell kan de SAS van het account eruitzien als de volgende code:

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

Vervolgens kunt u het token aan de entiteit geven die moet worden gelezen uit dat opslagaccount. De entiteit kan alle blobs in dat opslagaccount weergeven en lezen.

Als u deze machtiging wilt beheren met Azure RBAC, kunt u die entiteit ook de Microsoft.Storage/storageAccounts/listkeys/action machtiging verlenen voor dat specifieke opslagaccount. Deze machtiging is nodig voor gebruikers die een diagnostische instelling moeten instellen om gegevens naar een opslagaccount te verzenden. U kunt bijvoorbeeld de volgende aangepaste Azure-rol maken voor een gebruiker of toepassing die uit slechts één opslagaccount moet worden gelezen:

$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 

Waarschuwing

Met de machtiging ListKeys kan de gebruiker de primaire en secundaire opslagaccountsleutels vermelden. Deze sleutels verlenen de gebruiker alle ondertekende machtigingen (zoals lezen, schrijven, blobs maken en blobs verwijderen) voor alle ondertekende services (blob, wachtrij, tabel, bestand) in dat opslagaccount. We raden u aan om indien mogelijk een account-SAS te gebruiken.

U kunt een vergelijkbaar patroon volgen met Event Hubs, maar eerst moet u een toegewezen autorisatieregel maken om te luisteren. Als u toegang wilt verlenen tot een toepassing die alleen hoeft te luisteren naar bewakingsgerelateerde Event Hubs, voert u de volgende stappen uit:

  1. Maak in de portal een beleid voor gedeelde toegang op de Event Hubs die zijn gemaakt voor het streamen van bewakingsgegevens met alleen luisterende claims. U kunt deze bijvoorbeeld 'monitoringReadOnly' noemen. Geef deze sleutel indien mogelijk rechtstreeks aan de consument en sla de volgende stap over.

  2. Als de consument de sleutel ad hoc moet ophalen, verleent u de gebruiker de actie ListKeys voor die Event Hub. Deze stap is ook nodig voor gebruikers die een diagnostische instelling of een logboekprofiel moeten instellen om naar Event Hubs te streamen. U kunt bijvoorbeeld een Azure RBAC-regel maken:

    $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 
    

Volgende stappen