Condividi tramite


Impostare l'ACL di condivisione

L'operazione Set Share ACL imposta un criterio di accesso archiviato da usare con firme di accesso condiviso. Per altre informazioni sull'impostazione dei criteri di accesso, vedere Concedere l'accesso limitato alle risorse di Archiviazione di Azure usando le firme di accesso condiviso.

Disponibilità del protocollo

Protocollo di condivisione file abilitato Disponibile
SMB Sì
NFS No

Richiesta

È possibile costruire la Set Share 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.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1

Parametri URI

Nell'URI della richiesta puoi specificare i parametri seguenti:

Parametro Descrizione
timeout Facoltativa. Il parametro timeout viene espresso in secondi. Per altre informazioni, vedere Impostare timeout per le operazioni di File di Azure.

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 Obbligatorio per tutte le richieste autorizzate. Specifica la versione dell'operazione da usare per questa richiesta. Questa operazione è disponibile solo nella versione 2015-02-21 e successive.

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. Per altre informazioni, vedere Monitorare Archiviazione BLOB di Azure.
x-ms-lease-id:<ID> Obbligatorio se la condivisione file di destinazione ha un lease attivo. Disponibile per la versione 2020-02-10 e successive. Se la richiesta non include l'ID lease o non è valida, l'operazione ha esito negativo con codice di stato 412 (Precondizione non riuscita).

Se questa intestazione viene specificata e la condivisione file di destinazione non ha attualmente un lease attivo, l'operazione ha esito negativo con codice di stato 412 (precondizione non riuscita).

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 Share 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.fffffffTZD

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 fffffff è la rappresentazione dei millisecondi a sette 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.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2015-07-01T08:49:37.0000000Z</Start>  
      <Expiry>2015-07-02T08:49:37.0000000Z</Expiry>  
      <Permission>rwd</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 200 (OK).

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
ETag Restituisce la data e l'ora dell'ultima modifica del contenitore. Il formato data è conforme a RFC 1123. Per altre informazioni, vedere Rappresentazione dei valori di data/ora nelle intestazioni.
Last-Modified Qualsiasi operazione che modifica la condivisione o le relative proprietà o metadati aggiorna l'ora dell'ultima modifica, inclusa l'impostazione delle autorizzazioni del file. Le operazioni sui file non influiscono sull'ora dell'ultima modifica della condivisione.
x-ms-request-id Identifica in modo univoco la richiesta effettuata e può essere usata per la risoluzione dei problemi della richiesta. Per altre informazioni, vedere Risolvere i problemi relativi alle operazioni api.
x-ms-version Indica la versione di File di Azure utilizzata per eseguire la richiesta.
Date o x-ms-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 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: <date>  
ETag: "0x8CB171613397EAB"  
Last-Modified: <date>  
x-ms-version: 2015-02-21  
Server: Windows-Azure-File/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 condivisione, a meno che non sia soddisfatta una delle condizioni seguenti:

  • Il proprietario ha specificato che le risorse di condivisione sono disponibili per l'accesso pubblico impostando le autorizzazioni per la condivisione.
  • Il proprietario ha emesso una firma di accesso condiviso per una risorsa all'interno della condivisione.

Quando si impostano le autorizzazioni per un contenitore, le autorizzazioni esistenti vengono sostituite. Per aggiornare le autorizzazioni del contenitore, chiamare Get Share ACL per recuperare tutti i criteri di accesso associati al contenitore. Modificare i criteri di accesso da modificare e quindi chiamare Set Share ACL con il set completo di dati per eseguire l'aggiornamento.

Definizione dei criteri di accesso a livello di condivisione

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 modificare il comportamento.

Per altre informazioni sull'impostazione dei criteri di accesso, vedere Concedere l'accesso limitato alle risorse di archiviazione di Azure usando le firme di accesso condiviso.

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 Usare una firma di accesso condiviso.

È possibile impostare un massimo di cinque criteri di accesso separati per una condivisione 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).

Una firma di accesso condiviso può essere emessa in una condivisione o in un file indipendentemente dal fatto che i dati del contenitore siano disponibili per l'accesso in lettura anonimo. Una firma di accesso condiviso fornisce un maggiore controllo su come, quando e a chi viene resa accessibile una risorsa.

Non è possibile impostare o recuperare un criterio di accesso per uno snapshot di condivisione. Se si tenta di impostare un criterio di accesso, il servizio restituisce il codice di stato 400 (InvalidQueryParameterValue).

Nota

Quando si stabilisce un criterio di accesso archiviato in un contenitore, potrebbe richiedere 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 (Non consentito), fino a quando i criteri di accesso non diventano attivi.

Vedi anche

Operazioni sulle risorse FileShare (File di Azure)