Freigeben über


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:10002an. 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