Tabellen-ACL festlegen
Der vorgang Set Table ACL
legt die gespeicherten Zugriffsrichtlinien für die Tabelle fest, die mit freigegebenen Zugriffssignaturen verwendet werden kann. Weitere Informationen finden Sie unter Definieren einer gespeicherten Zugriffsrichtlinie.
Anmerkung
Der Set Table ACL
-Vorgang ist in Version 2012-02-12 und höher verfügbar.
Anmerkung
Eine Zugriffssteuerungsliste (Access Control List, ACL) ist eine Liste Zugriffssteuerungseinträgen (ACEs). Jede ACE in einer ACL identifiziert einen Trustee und gibt die Zugriffsrechte zulässig, verweigert oder überwacht für diesen Trustee an. Weitere Informationen finden Sie unter Zugriffssteuerungslisten.
Bitten
Sie können die Set Table ACL
Anforderung wie folgt erstellen. Https wird empfohlen. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PUT |
https://myaccount.table.core.windows.net/mytable?comp=acl |
HTTP/1.1 |
Emulierter Speicherdienst-URI
Wenn Sie eine Anforderung für den emulierten Speicherdienst stellen, geben Sie den Hostnamen des Emulators und den Azure Table Storage-Port als 127.0.0.1:10002
an. Fügen Sie dann den emulierten Speicherkontonamen hinzu.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PUT |
http://127.0.0.1:10002/devstoreaccount1/mytable?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. Ausgedrückt in Sekunden. Weitere Informationen finden Sie unter Festlegen von Timeouts für Tabellenspeichervorgänge. |
Anforderungsheader
In der folgenden Tabelle werden die erforderlichen und optionalen Anforderungsheader 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, das in den Storage Analytics-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. |
Anforderungstext
Um eine gespeicherte Zugriffsrichtlinie anzugeben, stellen Sie eine eindeutige ID und Zugriffsrichtlinie im Anforderungstext für den Set Table ACL
-Vorgang bereit.
Das SignedIdentifier
-Element enthält den eindeutigen Bezeichner, wie im Id
-Element angegeben.
SignedIdentifier
enthält auch 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:
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. Der Zeitdesignator T
trennt die Datums- und Uhrzeitabschnitte der Zeichenfolge. Der 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.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>
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.
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. Sie können sie auch zur Problembehandlung für die Anforderung verwenden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge. |
x-ms-version |
Gibt die Version des Tabellenspeichers an, die zum Ausführen der Anforderung verwendet wird. Dieser Header wird für Anforderungen zurückgegeben, die mit Version 2009-09-19 und höher vorgenommen wurden. |
Date |
Ein UTC-Datums-/Uhrzeitwert, der die Uhrzeit angibt, zu der der Dienst die Antwort gesendet hat. |
x-ms-client-request-id |
Kann verwendet werden, um Anfragen und entsprechende Antworten zu behandeln. 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 höchstens 1.024 sichtbare ASCII-Zeichen aufweist. Wenn der x-ms-client-request-id -Header in der Anforderung nicht vorhanden ist, ist dieser Header in der Antwort nicht vorhanden. |
Beispielantwort
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
Ermächtigung
Die Autorisierung ist beim Aufrufen eines Datenzugriffsvorgangs in Azure Storage erforderlich. Sie können den Set Table ACL
Vorgang mithilfe der Microsoft Entra-ID oder des freigegebenen Schlüssels autorisieren.
Um den Set Table 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/tableServices/tables/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 Tabelle festlegen, werden die vorhandenen Berechtigungen ersetzt. Um die Berechtigungen der Tabelle zu aktualisieren, rufen Sie Get Table ACL- auf, um alle Zugriffsrichtlinien abzurufen, die der Tabelle zugeordnet sind. Ändern Sie die Zugriffsrichtlinie, die Sie ändern möchten, und rufen Sie dann Set Table 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 Freigabe- oder Dateiressource steuern möchten, können Sie:
- Geben Sie alle diese Parameter in der gespeicherten Zugriffsrichtlinie an, und lassen Sie sie von der URL für die Signatur für den freigegebenen Zugriff weg. Auf diese Weise können Sie das Verhalten der zugehörigen Signatur jederzeit ändern oder widerrufen.
- Geben Sie einen oder mehrere Zugriffsrichtlinienparameter innerhalb der gespeicherten Zugriffsrichtlinie an, und geben Sie die anderen Parameter für die URL an.
- Geben Sie alle Parameter für die URL an. 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 gemeinsamen Zugriff und die gespeicherte Zugriffsrichtlinie 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. Weitere Informationen zu den Feldern, die eine Freigegebene Zugriffssignatur erstellen, finden Sie unter Erstellen eines Dienst-SAS-.
Sie können maximal fünf separate Zugriffsrichtlinien für eine Tabelle jederzeit festlegen. Wenn mehr als fünf Zugriffsrichtlinien im Anforderungstext übergeben werden, gibt der Dienst den Statuscode 400 (Ungültige Anforderung) zurück.
Anmerkung
Wenn Sie eine gespeicherte Zugriffsrichtlinie für eine Tabelle 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
Erstellen und Verwenden einer freigegebenen Zugriffssignatur
Stellvertretungszugriff mit einer freigegebenen Zugriffssignatur
Tabellen-ACL- abrufen
Autorisieren von Anforderungen an Azure Storage
Status- und Fehlercodes