Correggere l'accesso in lettura anonimo ai dati BLOB (distribuzioni di Azure Resource Manager)

Archiviazione BLOB di Azure supporta l'accesso in lettura anonimo facoltativo ai contenitori e ai BLOB. Tuttavia, l'accesso anonimo può presentare un rischio per la sicurezza. È consigliabile disabilitare l'accesso anonimo per una sicurezza ottimale. La disattivazione dell'accesso anonimo consente di evitare violazioni dei dati causate da accessi anonimi indesiderati.

Per impostazione predefinita, l'accesso anonimo ai dati BLOB è sempre vietato. La configurazione predefinita per un account di archiviazione di Azure Resource Manager impedisce agli utenti di configurare l'accesso anonimo ai contenitori e ai BLOB in un account di archiviazione. Questa configurazione predefinita non consente l'accesso anonimo a un account di archiviazione di Azure Resource Manager, indipendentemente dall'impostazione di accesso per un singolo contenitore.

Quando l'accesso anonimo per l'account di archiviazione non è consentito, Archiviazione di Azure rifiuta tutte le richieste di lettura anonime sui dati BLOB. Gli utenti successivamente non possono configurare l'accesso anonimo per i contenitori di tale account. Tutti i contenitori già configurati per l'accesso anonimo non accetteranno più richieste anonime.

Avviso

Quando un contenitore è configurato per l'accesso anonimo, qualsiasi client può leggere i dati in tale contenitore. L'accesso anonimo presenta un potenziale rischio per la sicurezza, quindi se lo scenario non lo richiede, è consigliabile impedire l'accesso anonimo per l'account di archiviazione.

Correzione per Azure Resource Manager e account di archiviazione classici

Questo articolo descrive come usare un framework DRAG (Detection-Remediation-Audit-Governance, "Rilevamento-Correzione-Controllo-Governance") per gestire continuamente l'accesso anonimo per gli account di archiviazione che usano il modello di distribuzione Azure Resource Manager. Tutti gli account di archiviazione per utilizzo generico v2, gli account di archiviazione BLOB in blocchi premium, gli account di condivisione file premium e gli account di archiviazione BLOB usano il modello di distribuzione Azure Resource Manager. Alcuni account per utilizzo generico v1 meno recenti e account BLOB di pagine premium possono usare il modello di distribuzione classico.

Se l'account di archiviazione usa il modello di distribuzione classica, è consigliabile eseguire la migrazione al modello di distribuzione di Azure Resource Manager appena possibile. Gli account di archiviazione di Azure che usano il modello di distribuzione classica verranno ritirati il 31 agosto 2024. Per altre informazioni, vedere Gli account di archiviazione classica di Azure verranno ritirati il 31 agosto 2024.

Se al momento non è possibile eseguire la migrazione degli account di archiviazione classici, è necessario correggere l'accesso anonimo a tali account. Per informazioni su come correggere l'accesso anonimo per gli account di archiviazione classici, vedere Correggere l'accesso in lettura anonimo ai dati BLOB (distribuzioni classiche). Per altre informazioni sui modelli di distribuzione di Azure, vedere Resource Manager e distribuzione classica.

Informazioni sull'accesso in lettura anonimo

L'accesso anonimo ai dati è sempre vietato per impostazione predefinita. Esistono due impostazioni separate che influiscono sull'accesso anonimo:

  1. Impostazione di accesso anonimo per l'account di archiviazione. Un account di archiviazione di Azure Resource Manager offre un'impostazione per consentire o impedire l'accesso anonimo per l'account. Microsoft consiglia di non consentire l'accesso anonimo per gli account di archiviazione per una sicurezza ottimale.

    Quando l'accesso anonimo è consentito a livello di account, i dati BLOB non sono disponibili per l'accesso in lettura anonimo, a meno che l'utente non esegua il passaggio aggiuntivo per configurare in modo esplicito l'impostazione di accesso anonimo del contenitore.

  2. Configurare l'impostazione di accesso anonimo del contenitore. Per impostazione predefinita, l'impostazione di accesso anonimo di un contenitore è disabilitata, ossia è necessaria l'autorizzazione per ogni richiesta al contenitore o ai relativi dati. Un utente con le autorizzazioni appropriate può modificare l'impostazione di accesso anonimo di un contenitore per abilitare l'accesso anonimo solo se questo è consentito per l'account di archiviazione.

Nella tabella seguente viene riepilogato il modo in cui le due impostazioni influiscono sull'accesso anonimo per un contenitore.

Il livello di accesso anonimo per il contenitore è impostato su Privato (impostazione predefinita) Il livello di accesso anonimo per il contenitore è impostato su Contenitore Il livello di accesso anonimo per il contenitore è impostato su BLOB
L'accesso anonimo non è consentito per l'account di archiviazione Nessun accesso anonimo ad alcun contenitore nell'account di archiviazione. Nessun accesso anonimo ad alcun contenitore nell'account di archiviazione. L'impostazione dell'account di archiviazione sostituisce l'impostazione del contenitore. Nessun accesso anonimo ad alcun contenitore nell'account di archiviazione. L'impostazione dell'account di archiviazione sostituisce l'impostazione del contenitore.
L'accesso anonimo è consentito per l'account di archiviazione Nessun accesso anonimo a questo contenitore (configurazione predefinita). L'accesso anonimo è consentito a questo contenitore e ai relativi BLOB. L'accesso anonimo è consentito ai BLOB in questo contenitore, ma non al contenitore stesso.

Quando l'accesso anonimo è consentito per un account di archiviazione e configurato per un contenitore specifico, una richiesta di lettura di un BLOB in tale contenitore passata senza un'intestazione Authorization viene accettata dal servizio e i dati del BLOB vengono restituiti nella risposta. Tuttavia, se la richiesta viene passata con un'intestazione Authorization, l'accesso anonimo nell'account di archiviazione viene ignorato e la richiesta autorizzata in base alle credenziali specificate.

Rilevare le richieste anonime dalle applicazioni client

Quando si impedisce l'accesso in lettura anonimo ad un account di archiviazione, si rischia di rifiutare le richieste ai contenitori e ai BLOB attualmente configurati per l'accesso anonimo. La disabilitazione dell'accesso anonimo ad un account di archiviazione sostituisce le impostazioni di accesso per i singoli contenitori in tale account di archiviazione. Quando l'accesso anonimo non è consentito per l'account di archiviazione, eventuali future richieste anonime a tale account avranno esito negativo.

Per comprendere come impedire l'accesso anonimo può influire sulle applicazioni client, è consigliabile abilitare la registrazione e le metriche per tale account e analizzare i modelli di richieste anonime in un intervallo di tempo. Usare le metriche per determinare il numero di richieste anonime all'account di archiviazione e usare i log per determinare i contenitori a cui si accede in modo anonimo.

Monitorare le richieste anonime con Esplora metriche

Per tenere traccia delle richieste anonime a un account di archiviazione, usare Esplora metriche di Azure nel portale di Azure. Per altre informazioni su Esplora metriche, vedere Analizzare le metriche con Esplora metriche di Monitoraggio di Azure.

Seguire questa procedura per creare una metrica che tiene traccia delle richieste anonime:

  1. Passare all'account di archiviazione nel portale di Azure. Nella sezione Monitoraggio selezionare Metriche.

  2. Selezionare Aggiungi metrica. Nella finestra di dialogo Metrica specificare i valori seguenti:

    1. Lasciare il campo Ambito impostato sul nome dell'account di archiviazione.
    2. Impostare lo Spazio dei nomi della metrica su BLOB. Questa metrica segnala solo le richieste per l'archiviazione BLOB.
    3. Impostare il campo Metrica su Transazioni.
    4. Impostare il campo Aggregazione su Somma.

    La nuova metrica visualizza la somma del numero di transazioni rispetto all'archivio BLOB in un determinato intervallo di tempo. La metrica risultante viene visualizzata come illustrato nell'immagine seguente:

    Screenshot che mostra come configurare la metrica per sommare le transazioni BLOB

  3. Selezionare quindi il pulsante Aggiungi filtro per creare un filtro sulla metrica per le richieste anonime.

  4. Nella finestra di dialogo Filtro specificare i valori seguenti:

    1. Impostare il valore della Proprietà su Autenticazione.
    2. Impostare il campo Operatore sul segno di uguale (=).
    3. Impostare il campo Valori su Anonimo selezionandolo dall'elenco a discesa o digitandolo.
  5. Nell'angolo in alto a destra, selezionare l'intervallo di tempo in cui si vuole visualizzare la metrica. È anche possibile indicare come deve essere granulare l'aggregazione delle richieste specificando intervalli da 1 minuto a 1 mese.

Dopo aver configurato la metrica, le richieste anonime inizieranno a essere visualizzate nel grafico. L'immagine seguente mostra le richieste anonime aggregate negli ultimi 30 minuti.

Screenshot che mostra le richieste anonime aggregate nell'archivio BLOB

È anche possibile configurare una regola di avviso per notificare quando viene effettuato un determinato numero di richieste anonime sull'account di archiviazione. Per altre informazioni, vedere Creare, visualizzare e gestire gli avvisi delle metriche con Monitoraggio di Azure.

Analizzare i log per identificare i contenitori che ricevono richieste anonime

I log di Archiviazione di Azure acquisiscono i dettagli sulle richieste effettuate sull'account di archiviazione, inclusa la modalità di autorizzazione di una richiesta. È possibile analizzare i log per determinare quali contenitori ricevono richieste anonime.

Per registrare le richieste all'account di archiviazione di Azure affinché siano valutate le richieste anonime, è possibile usare la registrazione di Archiviazione di Azure in Monitoraggio di Azure. Per altre informazioni, vedere Monitoraggio di Archiviazione di Azure.

La registrazione di Archiviazione di Azure in Monitoraggio di Azure supporta l'uso delle query sui log per analizzarne i dati. Per eseguire query sui log, è possibile usare un'area di lavoro Log Analytics di Azure. Per altre informazioni sulle query di log, vedere Esercitazione: Introduzione alle query di Log Analytics.

Creare un'impostazione di diagnostica nel portale di Azure

Per registrare Archiviazione di Azure dati con Monitoraggio di Azure e analizzarli con Analisi dei log di Azure, è prima necessario creare un'impostazione di diagnostica che indica quali tipi di richieste e per quali servizi di archiviazione si vogliono registrare i dati. Dopo aver configurato la registrazione per l'account di archiviazione, i log sono disponibili nell'area di lavoro Log Analytics. Per creare un'area di lavoro, vedere Creare un'area di lavoro Log Analytics nel portale di Azure.

Per informazioni su come creare un'impostazione di diagnostica nel portale di Azure, vedere Creare impostazioni di diagnostica in Monitoraggio di Azure.

Per informazioni di riferimento sui campi disponibili nei log di Archiviazione di Azure in Monitoraggio di Azure, vedere Log delle risorse.

Eseguire query sui log per le richieste anonime

I log di Archiviazione di Azure in Monitoraggio di Azure includono il tipo di autorizzazione usato per effettuare una richiesta a un account di archiviazione. Nella query di log filtrare la proprietà AuthenticationType per visualizzare le richieste anonime.

Per recuperare i log per gli ultimi sette giorni per le richieste anonime nell'archivio BLOB, aprire l'area di lavoro Log Analytics. Incollare quindi la query seguente in una nuova query di log ed eseguirla:

StorageBlobLogs
| where TimeGenerated > ago(7d) and AuthenticationType == "Anonymous"
| project TimeGenerated, AccountName, AuthenticationType, Uri

Inoltre è possibile configurare una regola di avviso basata su questa query per inviare una notifica alle richieste anonime. Per altre informazioni, vedere Creare, visualizzare e gestire i registri utilizzando Monitoraggio di Azure.

Risposte alle richieste anonime

Quando l'archiviazione BLOB riceve una richiesta anonima, tale richiesta avrà esito positivo se tutte le condizioni seguenti sono vere:

  • L'accesso anonimo è consentito per l'account di archiviazione.
  • Il contenitore di destinazione è configurato per consentire l'accesso anonimo.
  • La richiesta è per l'accesso in lettura.

Se una di queste condizioni non è true, la richiesta ha esito negativo. Il codice di risposta in caso di errore dipende dal fatto che la richiesta anonima sia stata effettuata con una versione del servizio che supporta la richiesta del token di connessione. La richiesta del token connessione è supportata con le versioni del servizio 2019-12-12 e successive:

  • Se la richiesta anonima è stata effettuata con una versione del servizio che supporta la richiesta del token di connessione, il servizio restituisce il codice di errore 401 (non autorizzato).
  • Se la richiesta anonima è stata effettuata con una versione del servizio che non supporta la richiesta del token di connessione e l'accesso anonimo non è consentito per l'account di archiviazione, il servizio restituisce il codice di errore 409 (conflitto).
  • Se la richiesta anonima è stata effettuata con una versione del servizio che non supporta la richiesta del token di connessione e l'accesso anonimo è consentito per l'account di archiviazione, il servizio restituisce il codice di errore 404 (non trovato).

Per altre informazioni sulla richiesta del token di connessione, vedere Richiesta del token di connessione.

Correggere l'accesso anonimo per l'account di archiviazione

Dopo aver valutato le richieste anonime ai contenitori e ai BLOB nell'account di archiviazione, è possibile intervenire per correggere l'accesso anonimo per l'intero account impostando la proprietà AllowBlobPublicAccess dell'account su False.

L'impostazione di accesso anonimo di un account di archiviazione sostituisce le singole impostazioni dei contenitori di tale account. Quando si impedisce l'accesso anonimo di un account di archiviazione, tutti i contenitori configurati per consentire l'accesso anonimo non sono più accessibili in modo anonimo. Se non si consente l'accesso anonimo per l’account, non è necessario disabilitare l'accesso anonimo per i singoli contenitori.

Se lo scenario richiede che determinati contenitori siano disponibili per l'accesso anonimo, è necessario spostare tali contenitori e i relativi BLOB in account di archiviazione separati riservati all'accesso anonimo. Quindi è possibile impedire l'accesso anonimo di qualsiasi altro account di archiviazione.

Per correggere l'accesso anonimo è necessaria la versione 2019-04-01 o successiva del provider di risorse di Archiviazione di Azure. Per altre informazioni, vedere API REST del provider di risorse di Archiviazione di Azure.

Autorizzazioni per impedire l'accesso anonimo

Per impostare la proprietà AllowBlobPublicAccess per l'account di archiviazione, un utente deve disporre delle autorizzazioni per creare e gestire gli account di archiviazione. I ruoli di controllo degli accessi in base al ruolo di Azure che forniscono queste autorizzazioni includono l'azione Microsoft.Storage/storageAccounts/write. I ruoli predefiniti con questa azione includono:

Le assegnazioni di ruolo devono avere come ambito minimo il livello dell'account di archiviazione per consentire a un utente di disabilitare l'accesso anonimo per l'account di archiviazione. Per altre informazioni sull'ambito del ruolo, vedere Informazioni sull'ambito per il controllo degli accessi in base al ruolo di Azure.

Prestare attenzione a limitare l'assegnazione di questi ruoli solo agli utenti amministratori che richiedono la possibilità di creare un account di archiviazione o di aggiornarne le proprietà. Usare il principio dei privilegi minimi per assicurarsi che gli utenti abbiano le autorizzazioni minime necessarie per eseguire le attività. Per altre informazioni sulla gestione dell'accesso con il controllo degli accessi in base al ruolo di Azure, vedere Procedure consigliate per il controllo degli accessi in base al ruolo di Azure.

Questi ruoli non forniscono l'accesso ai dati in un account di archiviazione tramite Microsoft Entra ID. Tuttavia, includono Microsoft.Storage/storageAccounts/listkeys/action, che concede l'accesso alle chiavi di accesso dell'account. Con questa autorizzazione, un utente può usare le chiavi di accesso dell'account per accedere a tutti i dati in un account di archiviazione.

Il ruolo Microsoft.Storage/storageAccounts/listkeys/action concede l'accesso ai dati tramite le chiavi dell'account, ma non concede a un utente la possibilità di modificare la proprietà AllowBlobPublicAccess per un account di archiviazione. Per gli utenti che devono accedere ai dati nell'account di archiviazione, ma non devono avere la possibilità di modificare la configurazione dell'account, valutare la possibilità di assegnare ruoli come Collaboratore ai dati dei BLOB di archiviazione, Lettore dati dei BLOB di archiviazioneo Lettore e accesso ai dati.

Nota

I ruoli di amministratore della sottoscrizione classica Amministratore del servizio e Coamministratore includono l'equivalente del ruolo di Proprietario di Azure Resource Manager. Il ruolo di Proprietario include tutte le azioni, quindi un utente con uno di questi ruoli amministrativi può anche creare account di archiviazione e gestire la configurazione dell'account. Per altre informazioni, vedere Ruoli di Azure, ruoli di Microsoft Entra e ruoli di amministratore della sottoscrizione classica.

Impostare la proprietà AllowBlobPublicAccess dell'account di archiviazione su False

Per impedire l'accesso anonimo per un account di archiviazione, impostare la proprietà AllowBlobPublicAccess dell'account su False.

Importante

La disabilitazione dell'accesso anonimo di un account di archiviazione sostituisce le impostazioni di accesso di tutti i contenitori in tale account di archiviazione. Quando l'accesso anonimo non è consentito per l'account di archiviazione, eventuali future richieste anonime a tale account avranno esito negativo. Prima di modificare questa impostazione, assicurarsi di comprendere gli effetti di tale operazione sulle applicazioni client che potrebbero accedere ai dati nell'account di archiviazione in modo anonimo seguendo i passaggi descritti in Rilevare le richieste anonime dalle applicazioni client.

Per impedire l'accesso anonimo per un account di archiviazione nel portale di Azure, seguire questa procedura:

  1. Passare all'account di archiviazione nel portale di Azure.

  2. Individuare l'impostazione Configurazione in Impostazioni.

  3. Impostare Consenti accesso anonimo BLOB su Disabilitato.

    Screenshot che mostra come impedire l'accesso anonimo per l'account

Nota

La disabilitazione dell'accesso anonimo per un account di archiviazione non influisce sui siti Web statici ospitati in tale account di archiviazione. Il contenitore $web è sempre accessibile pubblicamente.

Dopo aver aggiornato l'impostazione di accesso anonimo per l'account di archiviazione, potrebbero essere necessari fino a 30 secondi prima che la modifica venga propagata completamente.

Script di esempio per la correzione bulk

Lo script di PowerShell di esempio seguente viene eseguito su tutti gli account di archiviazione di Azure Resource Manager in una sottoscrizione e imposta l'impostazione AllowBlobPublicAccess per tali account su False.

<#
.SYNOPSIS
Finds storage accounts in a subscription where AllowBlobPublicAccess is True or null.

.DESCRIPTION
This script runs against all Azure Resource Manager storage accounts in a subscription
and sets the "AllowBlobPublicAccess" property to False.

Standard operation will enumerate all accounts where the setting is enabled and allow the 
user to decide whether or not to disable the setting.  

Classic storage accounts will require individual adjustment of containers to remove public
access, and will not be affected by this script.

Run with BypassConfirmation=$true if you wish to disallow public access on all Azure Resource Manager 
storage accounts without individual confirmation.

You will need access to the subscription to run the script.

.PARAMETER BypassConformation
Set this to $true to skip confirmation of changes. Not recommended.

.PARAMETER SubscriptionId
The subscription ID of the subscription to check.

.PARAMETER ReadOnly
Set this parameter so that the script makes no changes to any subscriptions and only reports affect accounts.

.PARAMETER NoSignin
Set this parameter so that no sign-in occurs -- you must sign in first. Use this if you're invoking this script repeatedly for multiple subscriptions and want to avoid being prompted to sign-in for each subscription.

.OUTPUTS
This command produces only STDOUT output (not standard PowerShell) with information about affect accounts.
#>
param(
    [boolean]$BypassConfirmation = $false,
    [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = 'SubscriptionId')]
    [String] $SubscriptionId,
    [switch] $ReadOnly, # Use this if you don't want to make changes, but want to get information about affected accounts
    [switch] $NoSignin # Use this if you are already signed in and don't want to be prompted again
)

begin {
    if ( ! $NoSignin.IsPresent ) {
        Login-AzAccount | Out-Null
    }
}

process {
    try {
        Select-AzSubscription -SubscriptionId $SubscriptionId -ErrorAction Stop | Out-Null
    }
    catch {
        Write-Error "Unable to access select subscription '$SubscriptionId' as the signed in user -- ensure that you have access to this subscription." -ErrorAction Stop
    }

    foreach ($account in Get-AzStorageAccount) {
        if ($null -eq $account.AllowBlobPublicAccess -or $account.AllowBlobPublicAccess -eq $true) {
            Write-host "Account:" $account.StorageAccountName " isn't disallowing public access."

            if ( ! $ReadOnly.IsPresent ) {
                if (!$BypassConfirmation) {
                    $confirmation = Read-Host "Do you wish to disallow public access? [y/n]"
                }
                if ($BypassConfirmation -or $confirmation -eq 'y') {
                    try {
                        Set-AzStorageAccount -Name $account.StorageAccountName -ResourceGroupName $account.ResourceGroupName -AllowBlobPublicAccess $false
                        Write-Host "Success!"
                    }
                    catch {
                        Write-Output $_
                    }
                }
            }
        }
        elseif ($account.AllowBlobPublicAccess -eq $false) {
            Write-Host "Account:" $account.StorageAccountName "has public access disabled, no action required."
        }
        else {
            Write-Host "Account:" $account.StorageAccountName ". Error, please manually investigate."
        }
    }
}

end {
    Write-Host "Script complete"
}

Controllare l'impostazione di accesso anonimo per più account

Per controllare l'impostazione di accesso anonimo in un set di account di archiviazione con prestazioni ottimali, è possibile usare Azure Resource Graph Explorer nel portale di Azure. Per altre informazioni sull'uso di Resource Graph Explorer, vedere Avvio rapido: Eseguire la prima query di Resource Graph usando Azure Resource Graph Explorer.

L'esecuzione della query seguente in Resource Graph Explorer restituisce un elenco di account di archiviazione e mostra l'impostazione di accesso anonimo per ogni account:

resources
| where type =~ 'Microsoft.Storage/storageAccounts'
| extend allowBlobPublicAccess = parse_json(properties).allowBlobPublicAccess
| project subscriptionId, resourceGroup, name, allowBlobPublicAccess

L'immagine seguente mostra i risultati di una query in una sottoscrizione. Per gli account di archiviazione in cui viene impostata la proprietà AllowBlobPublicAccess in modo esplicito, i risultati vengono visualizzati come true o false. Se la proprietà AllowBlobPublicAccess non è impostata per un account di archiviazione, questa viene visualizzata come vuota (o null) nei risultati della query.

Screenshot che mostra i risultati della query per l'impostazione di accesso anonimo tra gli account di archiviazione

Usare Criteri di Azure per controllare la conformità

Se si dispone di un numero elevato di account di archiviazione, è consigliabile eseguire un controllo per assicurarsi che siano configurati per impedire l'accesso anonimo. Per controllare la conformità di un set di account di archiviazione, usare Criteri di Azure. Criteri di Azure è un servizio che è possibile usare per creare, assegnare e gestire criteri che applicano regole alle risorse di Azure. Criteri di Azure consente di mantenere la conformità delle risorse con gli standard aziendali e i contratti di servizio. Per altre informazioni, vedere Panoramica di Criteri di Azure.

Creare un criterio con un effetto Audit

Criteri di Azure supporta effetti che determinano quello che accade quando una regola dei criteri viene valutata rispetto a una risorsa. L'effetto Audit crea un avviso quando una risorsa non è conforme, ma non arresta la richiesta. Per altre informazioni sugli effetti, vedere Informazioni sugli effetti di Criteri di Azure.

Per creare un criterio con effetto Controllo dell'impostazione di accesso anonimo in un account di archiviazione con il portale di Azure, seguire questa procedura:

  1. Nel portale di Azure, andare al servizio Criteri di Azure.

  2. Nella sezione Creazione selezionare Definizioni.

  3. Selezionare Aggiungi definizione dei criteri per creare una nuova definizione di criteri.

  4. Per il campo Località della definizione selezionare il pulsante Altro per specificare dove si trova la risorsa dei criteri di controllo.

  5. Specificare un nome per il criterio. Facoltativamente, è possibile specificare una descrizione e una categoria.

  6. In Regola dei criteri aggiungere la definizione di criteri seguente alla sezione policyRule.

    {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Storage/storageAccounts"
          },
          {
            "not": {
              "field":"Microsoft.Storage/storageAccounts/allowBlobPublicAccess",
              "equals": "false"
            }
          }
        ]
      },
      "then": {
        "effect": "audit"
      }
    }
    
  7. Salvare il criterio.

Assegnare i criteri

Assegnare quindi il criterio a una risorsa. L'ambito dei criteri corrisponde a tale risorsa e a tutte le risorse sottostanti. Per altre informazioni sull'assegnazione dei criteri, vedere Struttura di assegnazione di Criteri di Azure.

Per assegnare il criterio con il portale di Azure, seguire questa procedura:

  1. Nel portale di Azure, andare al servizio Criteri di Azure.
  2. Nella sezione Creazione selezionare Assegnazioni.
  3. Selezionare Assegnare criteri per creare una nuova assegnazione di criteri.
  4. Per il campo Ambito selezionare l'ambito dell'assegnazione di criteri.
  5. Per il campo Definizione di criteri selezionare il pulsante Altro, quindi selezionare il criterio definito nella sezione precedente nell'elenco.
  6. Immettere un nome per l'assegnazione del criterio. La descrizione è facoltativa.
  7. Lasciare Applicazione dei criteri impostato su Abilitata. Questa impostazione non ha alcun effetto sui criteri di controllo.
  8. Selezionare Rivedere e creare per creare l'assegnazione.

Visualizzare il report di conformità

Dopo aver assegnato i criteri, è possibile visualizzare il report di conformità. Il report di conformità per un criterio di controllo fornisce informazioni su quali account di archiviazione non sono conformi ai criteri. Per altre informazioni, vedere Ottenere i dati di conformità ai criteri.

Potrebbero essere necessari alcuni minuti dopo la creazione dell'assegnazione dei criteri affinché il report di conformità risulti disponibile.

Per visualizzare il report di conformità nel portale di Azure, seguire questa procedura:

  1. Nel portale di Azure, andare al servizio Criteri di Azure.

  2. Selezionare Conformità.

  3. Filtrare i risultati in base al nome dell'assegnazione dei criteri creata nel passaggio precedente. Il report mostra il numero di risorse non conformi ai criteri.

  4. È possibile eseguire il drill-down nel report per altri dettagli, incluso un elenco di account di archiviazione non conformi.

    Screenshot che mostra il report di conformità dei criteri di controllo per l'accesso anonimo

Usare Criteri di Azure per applicare l'accesso autorizzato

Criteri di Azure supporta la governance del cloud assicurandosi che le risorse di Azure rispettino i requisiti e gli standard. Per garantire che gli account di archiviazione nell'organizzazione consentano solo le richieste autorizzate, è possibile creare criteri che impediscono la creazione di un nuovo account di archiviazione con un'impostazione di accesso anonimo che consenta richieste anonime. Questo criterio impedirà inoltre tutte le modifiche della configurazione in un account esistente se l'impostazione dell'accesso anonimo per tale account non è conforme ai criteri.

I criteri di applicazione adottano l'effetto Deny per impedire una richiesta che creerebbe o modificherebbe un account di archiviazione che consenta l'accesso anonimo. Per altre informazioni sugli effetti, vedere Informazioni sugli effetti di Criteri di Azure.

Per creare un criterio con effetto Nega delle impostazioni dell'accesso anonimo che consenta le richieste anonime, seguire la stessa procedura descritta in Usare Criteri di Azure per controllare la conformità, ma specificare il codice JSON seguente nella sezione policyRule della definizione dei criteri:

{
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.Storage/storageAccounts"
      },
      {
        "not": {
          "field":"Microsoft.Storage/storageAccounts/allowBlobPublicAccess",
          "equals": "false"
        }
      }
    ]
  },
  "then": {
    "effect": "deny"
  }
}

Dopo aver creato il criterio con l'effetto Nega e averlo assegnato a un ambito, un utente non può creare un account di archiviazione che consenta l'accesso anonimo. Un utente non può tantomeno apportare modifiche di configurazione a un account di archiviazione esistente che attualmente consente l'accesso anonimo. Se tenta di eseguire queste operazioni viene generato un errore. L'impostazione di accesso anonimo per l'account di archiviazione deve essere impostata su false per procedere con la creazione o la configurazione dell'account.

L'immagine seguente mostra l'errore che si verifica se si tenta di creare un account di archiviazione che consenta l'accesso anonimo quando un criterio con effetto Nega richiede che l'accesso anonimo non sia consentito.

Screenshot che mostra l'errore che si verifica durante la creazione di un account di archiviazione in violazione dei criteri

Passaggi successivi