Condividi tramite


Set Table ACL

L'operazione Set Table ACL imposta i criteri di accesso archiviati per la tabella che può essere usata con firme di accesso condiviso. Per altre informazioni, vedere Definire un criterio di accesso archiviato.

Nota

L'operazione Set Table ACL è disponibile nella versione 2012-02-12 e successive.

Nota

Un elenco di controllo di accesso (ACL) è un elenco di voci di controllo di accesso (ACL). Ogni voce dell'elenco di controllo di accesso identifica un elemento trusted e specifica i diritti di accesso concessi, negati o controllati per l'elemento trusted stesso. Per altre informazioni, vedere Elenchi di controllo di accesso.

Richiesta

È possibile costruire la Set Table ACL richiesta come indicato di seguito. È consigliabile usare HTTPS. Sostituire myaccount con il nome dell'account di archiviazione.

Metodo URI richiesta Versione HTTP
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1

URI del servizio di archiviazione emulato

Quando si effettua una richiesta per il servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta di archiviazione tabelle di Azure come 127.0.0.1:10002. Aggiungere quindi il nome dell'account di archiviazione emulato.

Metodo URI richiesta Versione HTTP
PUT http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl HTTP/1.1

Per altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo locale di Archiviazione di Azure.

Parametri URI

Nell'URI della richiesta puoi specificare i parametri seguenti:

Parametro Descrizione
timeout Facoltativa. Espresso in secondi. Per altre informazioni, vedere Impostare i timeout per le operazioni di archiviazione tabelle.

Intestazioni della richiesta

La tabella seguente descrive le intestazioni di richiesta obbligatorie e facoltative:

Intestazione della richiesta Descrizione
Authorization Obbligatorio. Specifica lo schema di autorizzazione, il nome dell'account e la firma. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
Date o x-ms-date Obbligatorio. Specifica la data per la richiesta nel fuso orario UTC (Coordinated Universal Time). Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
x-ms-version Facoltativa. Specifica la versione dell'operazione da usare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure.
x-ms-client-request-id Facoltativa. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log di Analisi archiviazione quando viene configurata la registrazione. È consigliabile usare questa intestazione per correlare le attività lato client alle richieste ricevute dal server.

Testo della richiesta

Per specificare criteri di accesso archiviati, specificare un identificatore univoco e criteri di accesso nel corpo della richiesta per l'operazione Set Table ACL.

L'elemento SignedIdentifier include l'identificatore univoco, come specificato nell'elemento Id . SignedIdentifier include anche i dettagli dei criteri di accesso, come specificato nell'elemento AccessPolicy . La lunghezza massima dell'identificatore univoco è 64 caratteri.

I campi Start e Expiry devono essere espressi come ore UTC ed essere conformi a un formato ISO 8061 valido. I formati ISO 8061 supportati includono:

  • YYYY-MM-DD

  • YYYY-MM-DDThh:mmTZD

  • YYYY-MM-DDThh:mm:ssTZD

  • YYYY-MM-DDThh:mm:ss.ffffffTZD

Per la parte relativa alla data di questi formati, YYYY è una rappresentazione dell'anno a quattro cifre, MM è la rappresentazione del mese a due cifre e DD è la rappresentazione del giorno a due cifre. Per la parte relativa all'ora, hh è la rappresentazione dell'ora nel formato 24 ore, mm è la rappresentazione dei minuti a due cifre, ss è la rappresentazione dei secondi a due cifre e ffffff è la rappresentazione dei millisecondi a sei cifre. L'identificatore T di ora separa le parti di data e ora della stringa. L'identificatore TZD del fuso orario specifica un fuso orario.

<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>unique-64-character-value</Id>  
    <AccessPolicy>  
      <Start>start-time</Start>  
      <Expiry>expiry-time</Expiry>  
      <Permission>abbreviated-permission-list</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Richiesta di esempio

Request Syntax:  
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2013-08-15  
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2013-11-26T08:49:37.0000000Z</Start>  
      <Expiry>2013-11-27T08:49:37.0000000Z</Expiry>  
      <Permission>raud</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Risposta

Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta.

Codice stato

Un'operazione completata correttamente restituisce il codice di stato 204 (Nessun contenuto).

Per informazioni sui codici di stato, vedere Codici di stato e di errore.

Intestazioni di risposta

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; La risposta potrebbe includere anche intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

Intestazione risposta Descrizione
x-ms-request-id Identifica in modo univoco la richiesta effettuata. È anche possibile usarlo per risolvere i problemi della richiesta. Per altre informazioni, vedere Risolvere i problemi relativi alle operazioni api.
x-ms-version Indica la versione dell'archiviazione tabelle usata per eseguire la richiesta. Questa intestazione viene restituita per le richieste effettuate nella versione 2009-09-19 e successive.
Date Valore di data/ora UTC che indica l'ora in cui il servizio ha inviato la risposta.
x-ms-client-request-id Può essere usato per risolvere i problemi relativi alle richieste e alle risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id , se è presente nella richiesta e il valore è al massimo 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, questa intestazione non sarà presente nella risposta.

Risposta di esempio

Response Status:  
HTTP/1.1 204 No Content  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Mon, 25 Nov 2013 22:42:55 GMT  
x-ms-version: 2013-08-15  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
  

Autorizzazione

Solo il proprietario dell'account può chiamare questa operazione.

Commenti

Solo il proprietario dell'account può accedere alle risorse in una determinata tabella, a meno che il proprietario non abbia emesso una firma di accesso condiviso per una risorsa all'interno della tabella.

Quando si impostano le autorizzazioni per una tabella, le autorizzazioni esistenti vengono sostituite. Per aggiornare le autorizzazioni della tabella, chiamare Get Table ACL per recuperare tutti i criteri di accesso associati alla tabella. Modificare i criteri di accesso da modificare e quindi chiamare Set Table ACL con il set completo di dati per eseguire l'aggiornamento.

Definizione dei criteri di accesso archiviati

Un criterio di accesso archiviato può specificare l'ora di inizio, l'ora di scadenza e le autorizzazioni per le firme di accesso condiviso a cui è associato. A seconda di come si vuole controllare l'accesso alla condivisione o alla risorsa file, è possibile:

  • Specificare tutti questi parametri all'interno dei criteri di accesso archiviati e ometterli dall'URL per la firma di accesso condiviso. In questo modo è possibile modificare il comportamento della firma associata o revocarlo in qualsiasi momento.
  • Specificare uno o più parametri dei criteri di accesso all'interno dei criteri di accesso archiviati e specificare gli altri parametri nell'URL.
  • Specificare tutti i parametri nell'URL. In questo caso, è possibile usare i criteri di accesso archiviati per revocare la firma, ma non per modificarne il comportamento.

Per altre informazioni sulla definizione dei criteri di accesso, vedere Definire un criterio di accesso archiviato.

Insieme, la firma di accesso condiviso e i criteri di accesso archiviati devono includere tutti i campi necessari per autorizzare la firma. Se uno o più campi obbligatori sono mancanti, la richiesta avrà esito negativo. Analogamente, se un campo è specificato sia nell'URL della firma di accesso condiviso sia nei criteri di accesso archiviati, la richiesta avrà esito negativo e verrà restituito il codice di stato 400 (Richiesta non valida). Per altre informazioni sui campi che compongono una firma di accesso condiviso, vedere Creare una firma di accesso condiviso del servizio.

È possibile impostare un massimo di cinque criteri di accesso separati per una tabella in qualsiasi momento. Se nel corpo della richiesta vengono passati più di cinque criteri di accesso, il servizio restituisce il codice di stato 400 (richiesta non valida).

Nota

Quando si stabiliscono criteri di accesso archiviati in una tabella, potrebbero essere necessari fino a 30 secondi. Durante questo intervallo, una firma di accesso condiviso associata ai criteri di accesso archiviati avrà esito negativo con il codice di stato 403 (Accesso negato), fino a quando i criteri di accesso non diventano attivi.

Vedi anche

Definire criteri di accesso archiviati
Creare e usare una firma di accesso condiviso
Delegare l'accesso con una firma di accesso condiviso
Get Table ACL
Autorizzare le richieste ad Archiviazione di Azure
Stato e codici errore