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 | |
NFS |
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.