Imposta ACL coda
L'operazione Set Queue ACL
imposta i criteri di accesso archiviati per la coda che possono essere usati con una firma di accesso condiviso (firma di accesso condiviso). Per altre informazioni, vedere Definire un criterio di accesso archiviato.
Nota
L'operazione Set Queue ACL
è disponibile nella versione 2012-02-12 e successive.
Richiesta
È possibile costruire la richiesta di Set Queue ACL
come indicato di seguito. È consigliabile usare HTTPS.
Sostituire myaccount con il nome dell'account di archiviazione:
Metodo | URI della richiesta | Versione HTTP |
---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue?comp=acl |
HTTP/1.1 |
Richiesta del servizio di archiviazione emulata
Quando si effettua una richiesta per il servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta del servizio di accodamento come 127.0.0.1:10001
, seguito dal nome dell'account di archiviazione emulato:
Metodo | URI della richiesta | Versione HTTP |
---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue?comp=acl |
HTTP/1.1 |
Per altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo locale di Archiviazione di Azure.
Parametri URI
È possibile specificare i parametri aggiuntivi seguenti nell'URI della richiesta:
Parametro | Descrizione |
---|---|
timeout |
Opzionale. Il parametro timeout è espresso in secondi. Per altre informazioni, vedere Impostare timeout per le operazioni del servizio di accodamento. |
Intestazioni della richiesta
Le intestazioni di richiesta obbligatorie e facoltative sono descritte nella tabella seguente:
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 l'ora UTC (Coordinated Universal Time) per la richiesta. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure. |
x-ms-version |
Opzionale. Specifica la versione dell'operazione da utilizzare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure. |
x-ms-client-request-id |
Opzionale. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log quando viene configurata la registrazione. È consigliabile usare questa intestazione per correlare le attività sul lato client alle richieste ricevute dal server. Per altre informazioni, vedere Monitorare l'archiviazione code di Azure. |
Corpo della richiesta
Per specificare un criterio di accesso archiviato, specificare un identificatore univoco e un criterio di accesso nel corpo della richiesta per l'operazione di Set Queue ACL
.
L'elemento SignedIdentifier
include l'identificatore univoco, come specificato nell'elemento Id
e i dettagli dei criteri di accesso, come specificato nell'elemento AccessPolicy
. La lunghezza massima dell'identificatore univoco è di 64 caratteri.
I campi Start
e Expiry
devono essere espressi come ore UTC e devono essere conformi a un formato ISO 8061 valido. I formati ISO 8061 supportati includono quanto segue:
YYYY-MM-DD
YYYY-MM-DDThh:mmTZD
YYYY-MM-DDThh:mm:ssTZD
YYYY-MM-DDThh:mm:ss.ffffffTZD
Per la parte data di questi formati, YYYY
è una rappresentazione dell'anno a quattro cifre, MM
è una rappresentazione mensile a due cifre e DD
è una rappresentazione di giorno a due cifre. Per la parte temporale, hh
è la rappresentazione dell'ora nella notazione di 24 ore, mm
è la rappresentazione di minuti a due cifre, ss
è la rappresentazione in seconda cifra e ffffff
è la rappresentazione in millisecondi a sei cifre. Un designatore dell'ora T
separa le parti di data e ora della stringa e un designatore del fuso orario TZD
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.queue.core.windows.net/myqueue?comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2012-02-12
x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2009-09-28T08:49:37.0000000Z</Start>
<Expiry>2009-09-29T08:49:37.0000000Z</Expiry>
<Permission>raup</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Risposta
La risposta include un codice di stato HTTP e un set di intestazioni di risposta.
Codice di stato
Un'operazione riuscita restituisce il codice di stato 204 (Nessun contenuto).
Per altre informazioni sui codici di stato, vedere Stato e codici di errore.
Intestazioni di risposta
La risposta per questa operazione include le intestazioni seguenti. La risposta può includere anche intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1 .
Intestazione della risposta | Descrizione |
---|---|
x-ms-request-id |
Identifica in modo univoco la richiesta effettuata e può essere usata per risolvere i problemi della richiesta. Per altre informazioni, vedere Risolvere i problemi relativi alle operazioni API. |
x-ms-version |
Indica la versione del servizio di accodamento utilizzata per eseguire la richiesta. Questa intestazione viene restituita per le richieste effettuate rispetto alla versione 2009-09-19 e successive. |
Date |
Valore di data/ora UTC generato dal servizio, che indica l'ora di avvio della risposta. |
x-ms-client-request-id |
Questa intestazione può essere usata 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 non contiene più di 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, non sarà presente nella risposta. |
Risposta di esempio
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Transfer-Encoding: chunked
Date: Sun, 25 Sep 2011 22:42:55 GMT
x-ms-version: 2012-02-12
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
Autorizzazione
L'autorizzazione è necessaria quando si chiama un'operazione di accesso ai dati in Archiviazione di Azure. È possibile autorizzare l'operazione di Set Queue ACL
usando Microsoft Entra ID o Chiave condivisa.
Per autorizzare l'operazione di Set Queue ACL
usando Microsoft Entra ID, l'entità di sicurezza necessita di un ruolo controllo degli accessi in base al ruolo personalizzato di Azure che include l'azione RBAC seguente: Microsoft.Storage/storageAccounts/queueServices/queues/setAcl/action
.
Importante
Microsoft consiglia di usare l'ID Microsoft Entra con identità gestite per autorizzare le richieste ad Archiviazione di Azure. Microsoft Entra ID offre maggiore sicurezza e facilità d'uso rispetto all'autorizzazione con chiave condivisa.
Osservazioni
Quando si impostano le autorizzazioni per una coda, le autorizzazioni esistenti vengono sostituite. Per aggiornare le autorizzazioni della coda, chiamare get queue ACL per recuperare tutti i criteri di accesso associati alla coda. Modificare i criteri di accesso da modificare e quindi chiamare Set Queue ACL
con il set completo di dati per eseguire l'aggiornamento.
Stabilire criteri di accesso archiviati
I criteri di accesso archiviati possono specificare l'ora di inizio, l'ora di scadenza e le autorizzazioni per le firme di accesso condiviso a cui è associata. A seconda di come si vuole controllare l'accesso alla risorsa della coda, è 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 in qualsiasi momento o revocarlo. In alternativa, è possibile specificare uno o più parametri dei criteri di accesso all'interno dei criteri di accesso archiviati e gli altri nell'URL. Infine, è possibile 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 mancano campi obbligatori, la richiesta ha esito negativo. Analogamente, se un campo viene specificato sia nell'URL della firma di accesso condiviso che nei criteri di accesso archiviati, la richiesta ha esito negativo con codice di stato 400 (richiesta non valida).
Al massimo, è possibile impostare cinque criteri di accesso separati per una singola coda 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).
Quando si stabilisce un criterio di accesso archiviato in una coda, potrebbero essere necessari fino a 30 secondi. Durante questo intervallo, una firma di accesso condiviso associata ai criteri di accesso archiviati non riesce con il codice di stato 403 (Accesso negato), fino a quando il criterio di accesso non diventa attivo.
Vedere anche
Definire un criterio di accesso archiviato
get queue ACL
Autorizzare le richieste ad Archiviazione di Azure
codici di errore e stato