Freigeben über


Set Table ACL

Der Set Table ACL Vorgang legt die gespeicherten Zugriffsrichtlinien für die Tabelle fest, die mit Shared Access Signatures verwendet werden kann. Weitere Informationen finden Sie unter Definieren einer gespeicherten Zugriffsrichtlinie.

Hinweis

Der Set Table ACL-Vorgang ist in Version 2012-02-12 und höheren Versionen verfügbar.

Hinweis

Eine Zugriffssteuerungsliste (Access Control List , ACL) ist eine Liste von Zugriffssteuerungseinträgen (Access Control Entries , ACEs). Jeder ACE in einer ACL bezeichnet einen Vertrauensnehmer und gibt die Zugriffsrechte an, die dem Vertrauensnehmer gewährt, verweigert oder im Hinblick auf den Vertrauensnehmer überwacht werden. Weitere Informationen finden Sie unter Zugriffssteuerungslisten.

Anforderung

Sie können die Set Table ACL Anforderung wie folgt erstellen. Wir empfehlen HTTPS. 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 an den emulierten Speicherdienst stellen, geben Sie den Hostnamen des Emulators und den Azure Table Storage-Port als an 127.0.0.1:10002. Fügen Sie dann den Namen des emulierten Speicherkontos 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 lokale Azure Storage-Entwicklung.

URI-Parameter

Sie können im Anforderungs-URI die folgenden zusätzlichen Parameter angeben:

Parameter BESCHREIBUNG
timeout Optional. Ausgedrückt in Sekunden. Weitere Informationen finden Sie unter Festlegen von Timeouts für Table Storage-Vorgä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 (Coordinated Universal Time, UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage.
x-ms-version Optional. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste.
x-ms-client-request-id Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der beim Konfigurieren der Protokollierung in den Storage Analytics Protokollen aufgezeichnet wird. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt.

Anforderungstext

Sie geben eine gespeicherte Zugriffsrichtlinie an, indem Sie im Anforderungstext für den Set Table ACL-Vorgang einen eindeutigen Bezeichner und eine Zugriffsrichtlinie bereitstellen.

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.

Das Start-Feld und das Expiry-Feld müssen als UTC-Zeit ausgedrückt werden und einem gültigen ISO 8061-Format entsprechen. Zu den unterstützten ISO 8061-Formaten gehören:

  • YYYY-MM-DD

  • YYYY-MM-DDThh:mmTZD

  • YYYY-MM-DDThh:mm:ssTZD

  • YYYY-MM-DDThh:mm:ss.ffffffTZD

Im Datumsteil dieser Formate ist YYYY die vierstellige Darstellung des Jahrs, MM die zweistellige Darstellung des Monats und DD die zweistellige Darstellung des Tags. Im Uhrzeitteil ist hh die Darstellung der Stunden in 24-Stunden-Notation, mm die zweistellige Darstellung der Minuten, ss die zweistellige Darstellung der Sekunden und ffffff die sechsstellige Darstellung der Millisekunden. Der Zeitentwurf T trennt die Datums- und Uhrzeitteile der Zeichenfolge. Der Zeitzonenentwurf 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>  
  

Beispiel für eine Anforderung

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 den HTTP-Statuscode und einen Satz von Antwortheadern.

Statuscode

Bei einem erfolgreichen Vorgang wird der Statuscode 204 (Kein Inhalt) zurückgegeben.

Informationen zu status Codes finden Sie unter Status- und Fehlercodes.

Antwortheader

Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann auch zusätzliche HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Antwortheader BESCHREIBUNG
x-ms-request-id Identifiziert die durchgeführte Anforderung eindeutig. 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 von Table Storage an, die zum Ausführen der Anforderung verwendet wird. Dieser Header wird für Anforderungen zurückgegeben, die für Version 2009-09-19 und höher erfolgen.
Date Ein UTC-Datums-/Uhrzeitwert, der den Zeitpunkt angibt, zu dem der Dienst die Antwort gesendet hat.
x-ms-client-request-id Kann zur Problembehandlung 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 höchstens 1.024 sichtbare ASCII-Zeichen umfasst. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist dieser Header in der Antwort nicht vorhanden.

Beispiel für eine Antwort

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  
  

Authorization

Nur der Kontobesitzer kann diesen Vorgang aufrufen.

Hinweise

Nur der Kontobesitzer kann auf Ressourcen in einer bestimmten Tabelle zugreifen, es sei denn, der Besitzer hat eine Shared Access Signature für eine Ressource innerhalb der Tabelle ausgestellt.

Wenn Sie Berechtigungen für eine Tabelle festlegen, werden die vorhandenen Berechtigungen ersetzt. Um die Berechtigungen der Tabelle zu aktualisieren, rufen Sie die Get Table-ACL auf, um alle Zugriffsrichtlinien abzurufen, die der Tabelle zugeordnet sind. Ändern Sie die Zugriffsrichtlinie, die Sie ändern möchten, und rufen Set Table ACL Sie dann mit dem vollständigen Datensatz auf, um das Update auszuführen.

Einrichten gespeicherter Zugriffsrichtlinien

Eine gespeicherte Zugriffsrichtlinie kann die Startzeit, die Ablaufzeit und die Berechtigungen für die shared access signatures angeben, mit denen sie verknüpft ist. Je nachdem, wie Sie den Zugriff auf Ihre Freigabe oder Dateiressource steuern möchten, können Sie:

  • Geben Sie alle diese Parameter innerhalb der gespeicherten Zugriffsrichtlinie an, und lassen Sie sie aus der URL für die Shared Access Signature aus. Auf diese Weise können Sie das Verhalten der zugeordneten Signatur jederzeit ändern oder widerrufen.
  • Geben Sie mindestens einen der Zugriffsrichtlinienparameter in 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 ihr Verhalten zu ändern.

Weitere Informationen zum Einrichten von Zugriffsrichtlinien finden Sie unter Definieren einer gespeicherten Zugriffsrichtlinie.

Zusammen müssen die Shared Access Signature und die gespeicherte Zugriffsrichtlinie alle Felder enthalten, die zum Autorisieren der Signatur erforderlich sind. Wenn eines der Pflichtfelder fehlt, schlägt die Anforderung fehl. Wenn ein Feld sowohl in der URL der SAS als auch in der gespeicherten Zugriffsrichtlinie angegeben ist, schlägt die Anforderung mit dem Statuscode 400 (Ungültige Anforderung) fehl. Weitere Informationen zu den Feldern, aus denen eine Shared Access Signature besteht, finden Sie unter Erstellen einer Dienst-SAS.

Sie können jederzeit maximal fünf separate Zugriffsrichtlinien für eine Tabelle festlegen. Wenn mehr als fünf Zugriffsrichtlinien im Anforderungstext übergeben werden, gibt der Dienst status Code 400 (Ungültige Anforderung) zurück.

Hinweis

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 Shared Access Signature, die der gespeicherten Zugriffsrichtlinie zugeordnet ist, mit status Code 403 (Verboten) fehl, bis die Zugriffsrichtlinie aktiv wird.

Weitere Informationen

Definieren einer gespeicherten Zugriffsrichtlinie
Erstellen und Verwenden einer Shared Access Signature
Delegieren des Zugriffs mit einer Shared Access Signature
Get Table ACL
Autorisieren von Anforderungen an Azure Storage
Status- und Fehlercodes