Festlegen der Warteschlangen-ACL
Der vorgang Set Queue ACL
legt gespeicherte Zugriffsrichtlinien für die Warteschlange fest, die mit einer SAS (shared access signature) verwendet werden kann. Weitere Informationen finden Sie unter Definieren einer gespeicherten Zugriffsrichtlinie.
Anmerkung
Der Set Queue ACL
-Vorgang ist in Version 2012-02-12 und höher verfügbar.
Bitten
Sie können die Set Queue ACL
Anforderung wie folgt erstellen. Es wird empfohlen, HTTPS zu verwenden.
Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos:
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue?comp=acl |
HTTP/1.1 |
Emulierte Speicherdienstanforderung
Wenn Sie eine Anforderung an den emulierten Speicherdienst stellen, geben Sie den Emulatorhost und den Warteschlangendienstport als 127.0.0.1:10001
an, gefolgt vom emulierten Speicherkontonamen:
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue?comp=acl |
HTTP/1.1 |
Weitere Informationen finden Sie unter Verwenden des Azurite-Emulators für die lokale Azure Storage-Entwicklung.
URI-Parameter
Sie können die folgenden zusätzlichen Parameter für den Anforderungs-URI angeben:
Parameter | Beschreibung |
---|---|
timeout |
Wahlfrei. Der parameter timeout wird in Sekunden ausgedrückt. Weitere Informationen finden Sie unter Festlegen von Timeouts für Warteschlangendienstvorgänge. |
Anforderungsheader
Die erforderlichen und optionalen Anforderungsheader werden in der folgenden Tabelle beschrieben:
Anforderungsheader | Beschreibung |
---|---|
Authorization |
Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
Date oder x-ms-date |
Erforderlich. Gibt die koordinierte Weltzeit (UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
x-ms-version |
Wahlfrei. Gibt die Version des Vorgangs an, der für diese Anforderung verwendet werden soll. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure Storage-Dienste. |
x-ms-client-request-id |
Wahlfrei. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem 1-Kibibyte-Zeichenlimit (KiB) bereit, der in den Protokollen aufgezeichnet wird, wenn die Protokollierung konfiguriert ist. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen von Azure Queue Storage. |
Anforderungstext
Um eine gespeicherte Zugriffsrichtlinie anzugeben, stellen Sie eine eindeutige ID und Zugriffsrichtlinie im Anforderungstext für den Set Queue ACL
-Vorgang bereit.
Das SignedIdentifier
-Element enthält den eindeutigen Bezeichner, wie im Id
-Element angegeben, und die Details der Zugriffsrichtlinie, wie im AccessPolicy
-Element angegeben. Die maximale Länge des eindeutigen Bezeichners beträgt 64 Zeichen.
Die Felder Start
und Expiry
müssen als UTC-Zeiten ausgedrückt werden und müssen einem gültigen ISO 8061-Format entsprechen. Unterstützte ISO 8061-Formate umfassen Folgendes:
YYYY-MM-DD
YYYY-MM-DDThh:mmTZD
YYYY-MM-DDThh:mm:ssTZD
YYYY-MM-DDThh:mm:ss.ffffffTZD
Für den Datumsteil dieser Formate ist YYYY
eine vierstellige Jahresdarstellung, MM
eine zweistellige Monatsdarstellung und DD
eine zweistellige Tagesdarstellung ist. Für den Zeitteil ist hh
die Stundendarstellung in 24-Stunden-Notation, mm
die zweistellige Minutendarstellung, ss
die zweistellige Zweite Darstellung und ffffff
die sechsstellige Millisekundendarstellung ist. Ein Zeitsenzeichner T
trennt die Datums- und Uhrzeitabschnitte der Zeichenfolge, und ein Zeitzonen-Kennzeichner TZD
gibt eine Zeitzone an.
<?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>
Beispielanforderung
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>
Antwort
Die Antwort enthält einen HTTP-Statuscode und eine Reihe von Antwortheadern.
Statuscode
Ein erfolgreicher Vorgang gibt den Statuscode 204 (Kein Inhalt) zurück.
Weitere Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.
Antwortheader
Die Antwort für diesen Vorgang enthält die folgenden Header. Die Antwort kann auch zusätzliche Standard-HTTP-Header enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.
Antwortheader | Beschreibung |
---|---|
x-ms-request-id |
Identifiziert eindeutig die Anforderung, die durchgeführt wurde, und kann zur Problembehandlung der Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge. |
x-ms-version |
Gibt die Warteschlangendienstversion an, die zum Ausführen der Anforderung verwendet wurde. Dieser Header wird für Anforderungen zurückgegeben, die für Version 2009-09-19 und höher vorgenommen wurden. |
Date |
Ein UTC-Datums-/Uhrzeitwert, der vom Dienst generiert wird, der die Uhrzeit angibt, zu der die Antwort initiiert wurde. |
x-ms-client-request-id |
Dieser Header kann zum Behandeln von Anforderungen und entsprechenden Antworten verwendet werden. Der Wert dieses Headers ist gleich dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist und der Wert nicht mehr als 1.024 sichtbare ASCII-Zeichen enthält. Wenn der x-ms-client-request-id -Header in der Anforderung nicht vorhanden ist, ist er in der Antwort nicht vorhanden. |
Beispielantwort
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
Ermächtigung
Die Autorisierung ist beim Aufrufen eines Datenzugriffsvorgangs in Azure Storage erforderlich. Sie können den Set Queue ACL
Vorgang mithilfe der Microsoft Entra-ID oder des freigegebenen Schlüssels autorisieren.
Um den Set Queue ACL
Vorgang mithilfe der Microsoft Entra-ID zu autorisieren, benötigt der Sicherheitsprinzipal eine benutzerdefinierte Azure RBAC-Rolle, die die folgende RBAC-Aktion enthält: Microsoft.Storage/storageAccounts/queueServices/queues/setAcl/action
.
Wichtig
Microsoft empfiehlt die Verwendung der Microsoft Entra-ID mit verwalteten Identitäten, um Anforderungen an Azure Storage zu autorisieren. Die Microsoft Entra-ID bietet eine bessere Sicherheit und Benutzerfreundlichkeit im Vergleich zur Shared Key-Autorisierung.
Bemerkungen
Wenn Sie Berechtigungen für eine Warteschlange festlegen, werden die vorhandenen Berechtigungen ersetzt. Um die Berechtigungen der Warteschlange zu aktualisieren, rufen Sie "Warteschlangen-ACL abrufen" auf, um alle Zugriffsrichtlinien abzurufen, die der Warteschlange zugeordnet sind. Ändern Sie die Zugriffsrichtlinie, die Sie ändern möchten, und rufen Sie dann Set Queue ACL
mit dem vollständigen Satz von Daten auf, um die Aktualisierung durchzuführen.
Einrichten von gespeicherten Zugriffsrichtlinien
Eine gespeicherte Zugriffsrichtlinie kann die Startzeit, die Ablaufzeit und die Berechtigungen für die freigegebenen Zugriffssignaturen angeben, denen sie zugeordnet ist. Je nachdem, wie Sie den Zugriff auf Ihre Warteschlangenressource steuern möchten, können Sie alle diese Parameter innerhalb der gespeicherten Zugriffsrichtlinie angeben und von der URL für die Signatur für den freigegebenen Zugriff weglassen. Dadurch können Sie das Verhalten der zugehörigen Signatur jederzeit ändern oder widerrufen. Sie können auch einen oder mehrere Zugriffsrichtlinienparameter innerhalb der gespeicherten Zugriffsrichtlinie und die anderen Auf der URL angeben. Schließlich können Sie alle Parameter für die URL angeben. In diesem Fall können Sie die gespeicherte Zugriffsrichtlinie verwenden, um die Signatur zu widerrufen, aber nicht, um das Verhalten zu ändern. Weitere Informationen zum Einrichten von Zugriffsrichtlinien finden Sie unter Definieren einer gespeicherten Zugriffsrichtlinie.
Zusammen müssen die Signatur für den freigegebenen Zugriff und die Richtlinie für den gespeicherten Zugriff alle Felder enthalten, die zum Autorisieren der Signatur erforderlich sind. Wenn erforderliche Felder fehlen, schlägt die Anforderung fehl. Wenn ein Feld sowohl in der URL der freigegebenen Zugriffssignatur als auch in der gespeicherten Zugriffsrichtlinie angegeben wird, schlägt die Anforderung mit dem Statuscode 400 (Ungültige Anforderung) fehl.
Höchstens können fünf separate Zugriffsrichtlinien für eine einzelne Warteschlange jederzeit festgelegt werden. Wenn mehr als fünf Zugriffsrichtlinien im Anforderungstext übergeben werden, gibt der Dienst den Statuscode 400 (Ungültige Anforderung) zurück.
Wenn Sie eine gespeicherte Zugriffsrichtlinie in einer Warteschlange einrichten, kann es bis zu 30 Sekunden dauern, bis sie wirksam wird. Während dieses Intervalls schlägt eine freigegebene Zugriffssignatur, die der gespeicherten Zugriffsrichtlinie zugeordnet ist, mit dem Statuscode 403 (Verboten) fehl, bis die Zugriffsrichtlinie aktiv wird.
Siehe auch
Definieren einer gespeicherten Zugriffsrichtlinie
Abrufen von ACL- der Warteschlange
Autorisieren von Anforderungen an Azure Storage
Status- und Fehlercodes