Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo spiega come applicare i ruoli di monitoraggio del controllo degli accessi in base al ruolo per concedere o limitare l'accesso e illustra le considerazioni sulla sicurezza per le risorse correlate ad Monitoraggio di Azure.
Ruoli di monitoraggio predefiniti
Azure controllo degli accessi in base al ruolo (Azure controllo degli accessi in base al ruolo) fornisce ruoli predefiniti per il monitoraggio da assegnare a utenti, gruppi, entità servizio e identità gestite. I ruoli più comuni sono Il lettore di monitoraggio e collaboratore al monitoraggio rispettivamente per le autorizzazioni di lettura e scrittura. Quando si assegna un ruolo, specificare l'ambito dell'assegnazione di ruolo. I ruoli possono essere assegnati a livello di sottoscrizione, gruppo di risorse o risorsa. Più ampio è l'ambito, maggiore è il numero di risorse a cui si applica l'assegnazione di ruolo. Assegnare il ruolo nell'ambito appropriato per limitare l'accesso solo alle risorse necessarie all'utente.
Per informazioni più dettagliate sui ruoli di monitoraggio, vedere Ruoli di monitoraggio RBAC.
Lettore di monitoraggio e collaboratore al monitoraggio
Collaboratore monitoraggio è un superset di lettore di monitoraggio. La tabella seguente confronta immediatamente i due ruoli. Per l'elenco completo delle funzionalità, vedere le sezioni seguenti.
| Capability | Lettore di dati di monitoraggio | Collaboratore al monitoraggio |
|---|---|---|
| Visualizzare dati di monitoraggio, dashboard, metriche e avvisi | Sì | Sì |
| Eseguire query sui dati del log attività e Log Analytics'area di lavoro | Sì | Sì |
| Visualizzare le impostazioni di diagnostica, le impostazioni di scalabilità automatica e i dati di Application Insights | Sì | Sì |
| Creare dashboard di monitoraggio privato | No | Sì |
| Creare e modificare le impostazioni di diagnostica | No | Sì 1 |
| Impostare le regole di avviso e le impostazioni degli avvisi | No | Sì |
| Elencare le chiavi condivise per un'area di lavoro Log Analytics | No | Sì |
| Creare, eliminare ed eseguire ricerche salvate | No | Sì |
| Creare test Web e componenti per Application Insights | No | Sì |
1Prerequisiti di ListKeys: la creazione o la modifica di un'impostazione di diagnostica che invia dati a un account di archiviazione o flussi a un hub eventi richiede l'autorizzazione ListKeys per la risorsa di destinazione (account di archiviazione o spazio dei nomi di Hub eventi), oltre al ruolo Collaboratore monitoraggio. Concedere ListKeys nell'ambito della risorsa o del gruppo di risorse, mai nell'ambito della sottoscrizione per gli utenti che necessitano solo del monitoraggio dell'accesso. Per informazioni dettagliate, vedere Considerazioni sulla sicurezza per i dati di monitoraggio.
Nessuno dei due ruoli concede l'accesso in lettura ai dati di log trasmessi a un hub eventi o archiviati in un account di archiviazione. Per configurare l'accesso a tali dati, vedere Considerazioni sulla sicurezza per il monitoraggio dei dati.
Lettore di dati di monitoraggio
Le persone a cui è assegnato il ruolo di lettore di monitoraggio possono visualizzare tutti i dati di monitoraggio in una sottoscrizione ma non possono modificare alcuna risorsa o impostazione relativa alle risorse di monitoraggio. Questo ruolo è appropriato per gli utenti di un'organizzazione, ad esempio il servizio di supporto o i tecnici operativi, che devono:
- Visualizzare i dashboard di monitoraggio nel portale di Azure.
- Visualizzare le regole di avviso definite in Avvisi di Azure.
- Eseguire query Monitoraggio di Azure metriche usando l'API REST Monitoraggio di Azure, i cmdlet di PowerShell o interfaccia della riga di comando di Azure.
- Eseguire query sul log attività usando il portale, Monitoraggio di Azure API REST, i cmdlet di PowerShell o interfaccia della riga di comando di Azure.
- Visualizzare le impostazioni di diagnostica per una risorsa.
- Visualizzare il profilo di log per una sottoscrizione. I profili di log sono una funzionalità legacy per il routing del log attività. Non creare nuove dipendenze da esse.
- Visualizzare le impostazioni di scalabilità automatica.
- Visualizzare impostazioni e attività di avviso.
- Cercare i dati dell'area di lavoro Log Analytics, inclusi i dati sull'utilizzo dell'area di lavoro.
- Recuperare gli schemi di tabella in un'area di lavoro Log Analytics.
- Recuperare ed eseguire query su log in un'area di lavoro Log Analytics.
- Accedere ai dati di Application Insights.
Collaboratore al monitoraggio
Le persone a cui è assegnato il ruolo di Collaboratore al monitoraggio possono visualizzare tutti i dati di monitoraggio in una sottoscrizione. Possono anche creare o modificare le impostazioni di monitoraggio, ma non possono modificare altre risorse.
Questo ruolo è un superset del ruolo Lettore monitoraggio. È appropriato per i membri del team di monitoraggio dell'organizzazione o dei provider di servizi gestiti di un'organizzazione che, oltre alle autorizzazioni indicate in precedenza, devono:
- Visualizzare i dashboard di monitoraggio nel portale e creare i propri dashboard di monitoraggio privati.
- Creare e modificare impostazioni di diagnostica per una risorsa. La creazione o la modifica di un'impostazione di diagnostica richiede anche il prerequisito ListKeys.
- Configurare l'attività e le impostazioni delle regole di avviso usando Avvisi di Azure.
- Elencare le chiavi condivise per un'area di lavoro Log Analytics.
- Creare, eliminare ed eseguire ricerche salvate in un'area di lavoro Log Analytics.
- Creare ed eliminare la configurazione di archiviazione dell'area di lavoro per Log Analytics.
- Creare test Web e componenti per Application Insights.
Monitorare le autorizzazioni e i ruoli personalizzati di Azure
Se i ruoli predefiniti non soddisfano le esigenze del team, creare un ruolo personalizzato Azure con autorizzazioni granulari.
Ad esempio, usare autorizzazioni granulari per creare un ruolo personalizzato Azure per un lettore di log attività con lo script di PowerShell seguente.
$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/<SubscriptionId>")
New-AzRoleDefinition -Role $role
L'accesso a avvisi, impostazioni di diagnostica e metriche per una risorsa richiede l'accesso in lettura al tipo di risorsa e all'ambito di tale risorsa. La creazione di un'impostazione di diagnostica che invia dati a un account di archiviazione o flussi a un hub eventi richiede anche il prerequisito ListKeys.
Assegnare un ruolo
Per assegnare un ruolo, vedere Assegnare ruoli di Azure usando Azure PowerShell.
Ad esempio, lo script di PowerShell seguente assegna un ruolo a un utente specificato.
Sostituire <RoleId> con l'ID del ruolo di monitoraggio Controllo degli accessi in base al ruolo da assegnare.
Sostituire <SubscriptionID>, <ResourceGroupName> e <UserPrincipalName> con i valori appropriati per l'ambiente in uso.
# Define variables
$SubscriptionId = "<SubscriptionID>"
$ResourceGroupName = "<ResourceGroupName>"
$UserPrincipalName = "<UserPrincipalName>" # The UPN of the user to whom you want to assign the role
$RoleId = "<RoleId>" # The ID of the role
# Get the user object
$User = Get-AzADUser -UserPrincipalName $UserPrincipalName
# Define the scope (e.g., subscription or resource group level)
$Scope = "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName"
# Assign the role
New-AzRoleAssignment -ObjectId $User.Id -RoleDefinitionId $RoleId -Scope $Scope
Per usare invece il portale, vedere Assegnare ruoli Azure usando il portale di Azure.
Importante
- Per assegnare ruoli, è necessario il ruolo Proprietario, Basato su ruoli Controllo di accesso Amministratore o Amministratore accesso utenti o un ruolo personalizzato con l'autorizzazione
Microsoft.Authorization/roleAssignments/writenell'ambito di destinazione. - Assegnare l'accesso all'ambito di sottoscrizione, gruppo di risorse o risorsa. Usare l'ambito più ristretto che soddisfi i requisiti.
Query di PowerShell per determinare l'appartenenza al ruolo
Può essere utile generare elenchi di utenti che appartengono a un determinato ruolo. Per facilitare la generazione di questi tipi di elenchi, è possibile modificare le query di esempio seguenti in base alle esigenze specifiche.
Query dell'intera sottoscrizione per i ruoli di Amministratore + Collaboratore
Il -IncludeClassicAdministrators parametro e i ruoli e CoAdministrator classici ServiceAdministrator sono legacy. Azure i ruoli di amministratore classico ritirati nell'agosto 2024, quindi questa query spesso non restituisce voci di amministratore classiche. Rimane qui solo per gli ambienti che fanno ancora riferimento a questi ruoli.
(Get-AzRoleAssignment -IncludeClassicAdministrators | Where-Object {$_.RoleDefinitionName -in @('ServiceAdministrator', 'CoAdministrator', 'Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "
Query all'interno del contesto di una risorsa specifica di Application Insights per proprietari e collaboratori
$resourceGroup = "ResourceGroupName"
$resourceName = "AppInsightsName"
$resourceType = "microsoft.insights/components"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup -ResourceType $resourceType -ResourceName $resourceName | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "
Query all'interno del contesto di un gruppo di risorse specifico per proprietari e collaboratori
$resourceGroup = "ResourceGroupName"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "
Considerazioni sulla sicurezza per i dati sul monitoraggio
I dati in Monitoraggio di Azure possono essere inviati a un account di archiviazione o trasmessi a un hub eventi, che sono risorse di Azure per utilizzo generico. Trattandosi di risorse per utilizzo generico, la creazione, l'eliminazione e l'accesso sono operazioni con privilegi riservate a un amministratore. Poiché questi dati possono contenere informazioni riservate, ad esempio indirizzi IP o nomi utente, usare le procedure seguenti per evitare un uso improprio delle risorse correlate al monitoraggio:
- Usare un account di archiviazione singolo e dedicato per il monitoraggio dei dati. Se è necessario separare i dati di monitoraggio in più account di archiviazione, gli account di archiviazione devono essere usati solo per il monitoraggio dei dati. Se si condividono gli account di archiviazione per i dati di monitoraggio e altri tipi di dati, è possibile concedere inavvertitamente l'accesso ad altri dati alle organizzazioni che devono accedere solo ai dati di monitoraggio. Ad esempio, un'organizzazione non Microsoft per informazioni di sicurezza e gestione degli eventi necessita solo dell'accesso ai dati di monitoraggio.
- Usare un singolo bus di servizio o spazio dei nomi dell'hub eventi dedicato in tutte le impostazioni di diagnostica per lo stesso motivo specificato al punto precedente.
- Limitare l'accesso agli hub eventi o agli account di archiviazione correlati al monitoraggio mantenendoli in un gruppo di risorse separato. Usare l'ambito nei ruoli di monitoraggio per limitare l'accesso solo a tale gruppo di risorse.
- È consigliabile non concedere mai l'autorizzazione ListKeys per gli account di archiviazione o gli hub eventi a livello di sottoscrizione quando un utente deve accedere solo ai dati di monitoraggio. Assegnare invece queste autorizzazioni all'utente a livello di risorsa o di gruppo di risorse (se si dispone di un gruppo di risorse di monitoraggio dedicato).
Limitare l'accesso agli account di archiviazione correlati al monitoraggio
Quando un utente o un'applicazione richiede l'accesso ai dati di monitoraggio in un account di archiviazione, è necessario generare una firma di accesso condiviso nell'account di archiviazione che contiene i dati di monitoraggio con accesso in sola lettura a livello di servizio all'archivio BLOB. In PowerShell, la firma di accesso condiviso dell'account potrebbe avere un aspetto simile al codice seguente:
$context = New-AzStorageContext -ConnectionString "[connection string for your monitoring Storage Account]"
$token = New-AzStorageAccountSASToken -ResourceType Service -Service Blob -Permission "rl" -Context $context
Assegnare il token all'entità che deve leggere da tale account di archiviazione. L'entità può elencare ed eseguire la lettura da tutti i BLOB in tale account di archiviazione.
In alternativa, per controllare questa autorizzazione con Azure controllo degli accessi in base al ruolo, concedere a tale entità l'autorizzazione Microsoft.Storage/storageAccounts/listkeys/action per tale account di archiviazione specifico. Questa autorizzazione è necessaria per gli utenti che devono definire un'impostazione di diagnostica per inviare dati a un account di archiviazione. Ad esempio, creare il Azure ruolo personalizzato per un utente o un'applicazione che deve leggere da un solo account di archiviazione:
$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/<SubscriptionId>/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myMonitoringStorageAccount")
New-AzRoleDefinition -Role $role
Avvertimento
L'autorizzazione ListKeys consente all'utente di elencare le chiavi dell'account di archiviazione primario e secondario. Queste chiavi concedono all'utente tutte le autorizzazioni firmate, quali lettura, scrittura, creazione di blob ed eliminazione di blob, in tutti i servizi firmati (blob, coda, tabelle, file) di tale account di archiviazione. Quando possibile, è consigliabile usare una firma di accesso condiviso dell'account.
Limitare l'accesso agli hub di eventi correlati al monitoraggio
Seguire un modello simile con hub eventi, ma creare prima di tutto una regola di autorizzazione dedicata per l'ascolto. Per concedere l'accesso a un'applicazione che deve solo rimanere in ascolto degli hub eventi correlati al monitoraggio, seguire questa procedura:
Nel portale, creare un criterio di accesso condiviso negli hub eventi creati per lo streaming dei dati di monitoraggio solo con attestazioni di ascolto. Ad esempio, è possibile chiamarlo "monitoringReadOnly". Se possibile, assegnare la chiave direttamente al consumer e ignorare il passaggio successivo.
Se il consumer deve ottenere la chiave su richiesta, concedere all'utente l'azione
ListKeysper l'hub eventi. Questo passaggio è necessario anche per gli utenti che devono impostare un'impostazione di diagnostica per lo streaming su un hub eventi. Ad esempio, è possibile creare una regola di 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/<SubscriptionId>/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/namespaces/myEventHubNamespace") New-AzRoleDefinition -Role $role
Passaggi successivi
- Informazioni su Azure RBAC e sulle autorizzazioni in Azure Resource Manager
- Panoramica sul monitoraggio in Azure