Esplorare i criteri di accesso archiviati

Completato

Un criterio di accesso archiviato offre un ulteriore livello di controllo sulle firme di accesso condiviso a livello di servizio sul lato server. La definizione di un criterio di accesso archiviato raggruppa le firme di accesso condiviso e fornisce più restrizioni per le firme vincolate dal criterio. È possibile utilizzare un criterio di accesso archiviato per modificare l'ora di inizio, l'ora di scadenza o le autorizzazioni di una firma oppure per revocarla dopo l'emissione.

I criteri di accesso archiviati sono supportati dalle risorse di archiviazione seguenti:

  • Contenitori BLOB
  • Condivisioni file
  • Code
  • Tabelle

Creazione di un criterio di accesso archiviato

I criteri di accesso per una firma di accesso condiviso contengono l'ora di inizio, l'ora di scadenza e le autorizzazioni relative alla firma. È possibile specificare tutti questi parametri nell'URI della firma e non indicarne nessuno nel criterio di accesso archiviato, specificare tutti i parametri nel criterio di accesso archiviato e nessuno nell'URI oppure usare una combinazione di questi due scenari. Tuttavia, non è possibile specificare un determinato parametro sia nel token di firma di accesso condiviso che nel criterio di accesso archiviato.

Per creare o modificare un criterio di accesso archiviato, chiamare l'operazione Set ACL per la risorsa (vedere Set Container ACL, Set Queue ACL, Set Table ACL o Set Share ACL) con un corpo della richiesta che specifica i termini del criterio di accesso. Nel corpo della richiesta è incluso un identificatore univoco firmato a scelta dell'utente, fino a 64 caratteri in lunghezza, e i parametri facoltativi dei criteri di accesso, come indicato di seguito:

Nota

La creazione di un criterio di accesso archiviato in un contenitore, una tabella, una coda o una condivisione potrebbe richiedere fino a 30 secondi. Durante questo periodo le richieste a una firma di accesso condiviso associata al criterio di accesso archiviato potrebbero avere esito negativo con il codice di stato 403 (Accesso negato), finché il criterio non risulterà attivo. Le restrizioni dell'intervallo dell'entità tabella (startpk, startrk, endpk e endrk) non possono essere specificate nei criteri di accesso archiviati.

Di seguito sono riportati alcuni esempi di creazione di un criterio di accesso archiviato tramite C# .NET e l'interfaccia della riga di comando di Azure.

BlobSignedIdentifier identifier = new BlobSignedIdentifier
{
    Id = "stored access policy identifier",
    AccessPolicy = new BlobAccessPolicy
    {
        ExpiresOn = DateTimeOffset.UtcNow.AddHours(1),
        Permissions = "rw"
    }
};

blobContainer.SetAccessPolicy(permissions: new BlobSignedIdentifier[] { identifier });
az storage container policy create \
    --name <stored access policy identifier> \
    --container-name <container name> \
    --start <start time UTC datetime> \
    --expiry <expiry time UTC datetime> \
    --permissions <(a)dd, (c)reate, (d)elete, (l)ist, (r)ead, or (w)rite> \
    --account-key <storage account key> \
    --account-name <storage account name> \

Modifica o revoca di un criterio di accesso archiviato

Per modificare i parametri dei criteri di accesso archiviati, è possibile chiamare l'operazione di elenco di controllo di accesso per il tipo di risorsa per sostituire i criteri esistenti. Ad esempio, se il criterio esistente concede a una risorsa le autorizzazioni di lettura e di scrittura, è possibile modificarlo per concedere solo le autorizzazioni di lettura per tutte le richieste successive.

Per revocare un criterio di accesso archiviato, è possibile eliminarlo, rinominarlo modificando l'identificatore firmato oppure modificare la scadenza impostandola su un valore nel passato. La modifica dell'identificatore firmato interrompe le associazioni tra eventuali firme esistenti e il criterio di accesso archiviato. Se si modifica la scadenza usando un valore nel passato, tutte le firme associate scadranno. L'eliminazione o la modifica dei criteri di accesso archiviati interessa con effetto immediato tutte le firme di accesso condiviso ad essi associate.

Per rimuovere un singolo criterio di accesso, chiamare l'operazione Set ACL della risorsa, passando il set di identificatori firmati che si vuole gestire nel contenitore. Per rimuovere tutti i criteri di accesso dalla risorsa, chiamare l'operazione Set ACL lasciando vuoto il corpo della richiesta.