Condividi tramite


Esercitazione: Aggiungere una condizione di assegnazione di ruolo per limitare l'accesso ai blob usando il portale di Azure

Nella maggior parte dei casi, un'assegnazione di ruolo concede le autorizzazioni necessarie alle risorse di Azure. Tuttavia, in alcuni casi potrebbe essere necessario fornire un controllo di accesso più granulare aggiungendo una condizione di assegnazione di ruolo.

In questa esercitazione si apprenderà come:

  • Aggiungere una condizione a un'assegnazione di ruolo
  • Limitare l'accesso ai BLOB in base a un tag indice BLOB

Importante

Il controllo degli accessi in base all'attributo di Azure (Azure ABAC) è disponibile a livello generale per il controllo dell'accesso ad Archiviazione BLOB di Azure, Azure Data Lake Storage Gen2 e Code di Azure tramite gli attributi request, resource, environment e principal nei livelli di prestazioni dell'account di archiviazione Standard e Premium. Il BLOB di elenco include attualmente l'attributo di richiesta e l'attributo di richiesta snapshot per lo spazio dei nomi gerarchico, disponibili in ANTEPRIMA. Per informazioni complete sullo stato della funzionalità di controllo degli accessi in base all'attributo (ABAC) per Archiviazione di Azure, vedere Stato delle funzionalità relative alle condizioni in Archiviazione di Azure.

Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.

Prerequisiti

Per informazioni sui prerequisiti per l'aggiunta o la modifica di condizioni di assegnazione di ruolo, vedere Prerequisiti per le condizioni.

Condizione

In questa esercitazione si limita l'accesso ai BLOB con un tag specifico. Ad esempio, si aggiunge una condizione a un'assegnazione di ruolo in modo che Chandra possa leggere solo i file con il tag Project=Cascade.

Diagramma dell'assegnazione di ruolo con una condizione.

Se Chandra tenta di leggere un BLOB senza il tag Project=Cascade, l'accesso non è consentito.

Diagramma che mostra l'accesso in lettura ai BLOB con il tag Project=Cascade.

Ecco l'aspetto della condizione nel codice:

(
    (
        !(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
        AND NOT
        SubOperationMatches{'Blob.List'})
    )
    OR
    (
        @Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'
    )
)

Passaggio 1: Creare un utente

  1. Accedere al portale di Azure come proprietario di una sottoscrizione.

  2. Seleziona Microsoft Entra ID.

  3. Creare un utente o trovare un utente esistente. Questa esercitazione usa Chandra come esempio.

Passaggio 2: Configurare l'archiviazione

  1. Creare un account di archiviazione compatibile con la funzionalità dei tag indice BLOB. Per altre informazioni, vedere Gestire e trovare i dati BLOB di Azure con tag indice BLOB.

  2. Creare un nuovo contenitore all'interno dell'account di archiviazione e impostare il livello di accesso anonimo su Privato (nessun accesso anonimo).

  3. Nel contenitore selezionare Carica per aprire il riquadro Carica BLOB.

  4. Trovare un file di testo da caricare.

  5. Selezionare Avanzate per espandere il riquadro.

  6. Nella sezione Tag indice BLOB, aggiungi il seguente tag di indice BLOB al file di testo.

    Se non visualizzi la sezione dei tag di indice Blob e la tua sottoscrizione è stata appena registrata, potrebbe essere necessario attendere alcuni minuti affinché le modifiche si propaghino. Per altre informazioni, vedere Usare i tag indice BLOB per gestire e trovare dati in Archiviazione BLOB di Azure.

    Annotazioni

    I BLOB supportano anche la possibilità di archiviare metadati chiave-valore arbitrari definiti dall'utente. Anche se i metadati sono simili ai tag indice BLOB, è necessario usare i tag indice BLOB con le condizioni.

    Chiave Valore
    Progetto Cascade

Screenshot che mostra il riquadro Carica BLOB con la sezione dei tag di indice blog.

  1. Selezionare il pulsante Carica per caricare il file.

  2. Caricare un secondo file di testo.

  3. Aggiungere il tag di indice BLOB seguente al secondo file di testo.

    Chiave Valore
    Progetto Baker

Passaggio 3: Assegnare un ruolo per i dati dei BLOB di archiviazione

  1. Aprire il gruppo di risorse.

  2. Seleziona Controllo di accesso (IAM).

  3. Selezionare la scheda Assegnazioni di ruolo per visualizzare tutte le assegnazioni di ruolo in questo ambito.

  4. Seleziona Aggiungi>Aggiungi assegnazione ruolo. Verrà visualizzata la pagina Aggiungi assegnazione di ruolo:

Screenshot che mostra il menu Aggiungi > Aggiungi assegnazione di ruolo.

  1. Nella scheda Ruoli selezionare il Ruolo con autorizzazioni di lettura per i dati dei BLOB di archiviazione.

Screenshot della pagina Aggiungi assegnazione di ruolo con la scheda Ruoli.

  1. Nella scheda Membri selezionare l'utente creato in precedenza.

Screenshot che mostra la pagina Aggiungi assegnazione di ruolo con la scheda Membri.

  1. (Facoltativo) Nella casella Descrizione immettere Accesso in lettura ai BLOB con il tag Project=Cascade.

  2. Seleziona Avanti.

Passaggio 4: Aggiungere una condizione

  1. Nella scheda Condizioni (facoltativo) selezionare Aggiungi condizione. Viene visualizzata la pagina Aggiungi condizione di assegnazione di ruolo:

Screenshot della pagina Aggiungi condizione di assegnazione di ruolo per una nuova condizione.

  1. Nella sezione Aggiungi azione selezionare Aggiungi azione.

    Viene visualizzato il riquadro Seleziona un'azione. Questo riquadro è un elenco filtrato di azioni di dati in base all'assegnazione di ruolo che sarà la destinazione della condizione. Seleziona la casella accanto a Leggere un BLOB, quindi fai clic su Seleziona:

Schermata del riquadro Azioni con un'azione selezionata.

  1. Nella sezione Espressione di build selezionare Aggiungi espressione.

    La sezione Espressione si espande.

  2. Specificare le impostazioni di espressione seguenti:

    Impostazione Valore
    Origine attributo Risorsa
    Attributo Tag dell'indice BLOB [valori nella chiave]
    Chiave Progetto
    Operatore StringEqualsIgnoreCase
    Valore Cascade

Screenshot della sezione Build expression per i tag di indice BLOB.

  1. Scorrere verso l'alto fino al tipo di editor e selezionare Codice.

    La condizione viene visualizzata come codice. È possibile apportare modifiche alla condizione in questo editor di codice. Per tornare all'editor visivo, selezionare Oggetto visivo.

Screenshot della condizione visualizzata nell'editor di codice.

  1. Selezionare Salva per aggiungere la condizione e tornare alla pagina Aggiungi assegnazione di ruolo.

  2. Seleziona Avanti.

  3. Nella scheda Rivedi e assegna selezionare Rivedi e assegna per assegnare il ruolo con una condizione.

    Dopo qualche istante, all'entità di sicurezza verrà assegnato il ruolo per l'ambito selezionato.

Screenshot dell'elenco di assegnazioni di ruolo dopo l'assegnazione del ruolo.

Passaggio 5: Assegnare il ruolo di lettore

  • Ripetere i passaggi precedenti per assegnare il ruolo Lettore all'utente creato in precedenza nell'ambito del gruppo di risorse.

    Annotazioni

    In genere non è necessario assegnare il ruolo Lettore. Questa operazione viene tuttavia eseguita in modo da poter testare la condizione usando il portale di Azure.

Passaggio 6: Testare la condizione

  1. In una nuova finestra accedere al portale di Azure.

  2. Accedere come utente creato in precedenza.

  3. Apri l'account di archiviazione e il contenitore che hai creato.

  4. Assicurarsi che il metodo di autenticazione sia impostato su Account utente Microsoft Entra e non sulla chiave di accesso.

Screenshot del contenitore di archiviazione con i file di test.

  1. Selezionare il file di testo Baker.

    Non dovrebbe essere possibile visualizzare o scaricare il blob e dovrebbe essere visualizzato un messaggio di autorizzazione non riuscita.

  2. Selezionare il file di testo Cascade.

    È possibile visualizzare e scaricare il blob.

Passaggio 7: Pulire le risorse

  1. Rimuovere l'assegnazione di ruolo aggiunta.

  2. Eliminare l'account di archiviazione di test creato.

  3. Eliminare l'utente creato.

Passaggi successivi