Festlegen der Freigabe-ACL

Der Set Share ACL Vorgang legt eine gespeicherte Zugriffsrichtlinie für die Verwendung mit Shared Access Signatures fest. Weitere Informationen zum Festlegen von Zugriffsrichtlinien finden Sie unter Gewähren des eingeschränkten Zugriffs auf Azure Storage-Ressourcen mithilfe von Shared Access Signatures.

Protokollverfügbarkeit

Aktiviertes Dateifreigabeprotokoll Verfügbar
SMB Ja
NFS Nein

Anforderung

Sie können die Set Share ACL Anforderung wie folgt erstellen. Wir empfehlen HTTPS. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos.

Methode Anforderungs-URI HTTP-Version
PUT https://myaccount.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1

URI-Parameter

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

Parameter BESCHREIBUNG
timeout Optional. Der timeout-Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Azure Files 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 Erforderlich für alle autorisierten Anforderungen. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Dieser Vorgang ist nur in Version 2015-02-21 und höher verfügbar.

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. Weitere Informationen finden Sie unter Überwachen Azure Blob Storage.
x-ms-lease-id:<ID> Erforderlich, wenn die Zieldateifreigabe über eine aktive Lease verfügt. Verfügbar für Version 2020-02-10 und höher. Wenn die Anforderung die Lease-ID nicht enthält oder ungültig ist, schlägt der Vorgang mit status Code 412 (Vorbedingung fehlgeschlagen) fehl.

Wenn dieser Header angegeben ist und die Zieldateifreigabe derzeit nicht über eine aktive Lease verfügt, schlägt der Vorgang mit status Code 412 (Vorbedingung fehlgeschlagen) fehl.

Anforderungstext

Sie geben eine gespeicherte Zugriffsrichtlinie an, indem Sie im Anforderungstext für den Set Share 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.fffffffTZD

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 fffffff die siebenstellige 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.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2015-07-01T08:49:37.0000000Z</Start>  
      <Expiry>2015-07-02T08:49:37.0000000Z</Expiry>  
      <Permission>rwd</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 200 (OK) zurückgegeben.

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
ETag Gibt das Datum und die Uhrzeit der letzten Änderung des Containers zurück. Das Datumsformat entspricht RFC 1123. Weitere Informationen finden Sie unter Darstellung von Datums-/Uhrzeitwerten in Headern.
Last-Modified Jeder Vorgang, der die Freigabe oder deren Eigenschaften oder Metadaten ändert, aktualisiert den Zeitpunkt der letzten Änderung, einschließlich des Festlegens der Berechtigungen der Datei. Vorgänge für Dateien wirken sich nicht auf den Zeitpunkt der letzten Änderung der Freigabe aus.
x-ms-request-id Identifiziert die durchgeführte Anforderung eindeutig und kann für die Problembehandlung der Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge.
x-ms-version Gibt die Version von Azure Files an, die zum Ausführen der Anforderung verwendet wurde.
Date oder x-ms-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 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: <date>  
ETag: "0x8CB171613397EAB"  
Last-Modified: <date>  
x-ms-version: 2015-02-21  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Authorization

Nur der Kontobesitzer kann diesen Vorgang aufrufen.

Hinweise

Nur der Kontobesitzer kann auf Ressourcen in einer bestimmten Freigabe zugreifen, es sei denn, eine der folgenden Bedingungen trifft zu:

  • Der Besitzer hat angegeben, dass Freigaberessourcen für den öffentlichen Zugriff verfügbar sind, indem er die Berechtigungen für die Freigabe festlegt.
  • Der Besitzer hat eine Shared Access Signature für eine Ressource innerhalb der Freigabe ausgestellt.

Wenn Sie Berechtigungen für einen Container festlegen, werden die vorhandenen Berechtigungen ersetzt. Um die Berechtigungen des Containers zu aktualisieren, rufen Sie die Freigabe-ACL abrufen auf, um alle Zugriffsrichtlinien abzurufen, die dem Container zugeordnet sind. Ändern Sie die Zugriffsrichtlinie, die Sie ändern möchten, und rufen Set Share ACL Sie dann mit dem vollständigen Datensatz auf, um das Update auszuführen.

Einrichten von Zugriffsrichtlinien auf Share-Ebene

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 Festlegen von Zugriffsrichtlinien finden Sie unter Gewähren des eingeschränkten Zugriffs auf Azure Storage-Ressourcen mithilfe von Shared Access Signatures.

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 Verwenden einer Shared Access Signature.

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

Eine Shared Access Signature kann für eine Freigabe oder eine Datei ausgestellt werden, unabhängig davon, ob Containerdaten für anonymen Lesezugriff verfügbar sind. Eine Shared Access Signature bietet mehr Kontrolle darüber, wie, wann und wem eine Ressource zugänglich gemacht wird.

Sie können keine Zugriffsrichtlinie für eine Freigabe Momentaufnahme festlegen oder abrufen. Wenn Sie versuchen, eine Zugriffsrichtlinie festzulegen, gibt der Dienst status Code 400 (InvalidQueryParameterValue) zurück.

Hinweis

Wenn Sie eine gespeicherte Zugriffsrichtlinie für einen Container 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

Vorgänge für FileShare-Ressourcen (Azure Files)