Set Container ACL
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Set Container ACL

 

Die Set Container ACL Operation legt die Berechtigungen für den angegebenen Container. Die Berechtigungen geben an, ob öffentlicher Zugriff auf BLOBs in einem Container zulässig ist.

Ab Version 2009-09-19 bieten die Containerberechtigungen die folgenden Optionen zum Verwalten des Containerzugriffs:

  • Vollständiger öffentlicher Lesezugriff: Container und BLOB-Daten können über anonyme Anforderungen gelesen werden. Clients können BLOBs innerhalb des Containers über anonyme Anforderungen auflisten, Container innerhalb des Speicherkontos können jedoch nicht aufgelistet werden.

  • Öffentlicher Lesezugriff nur für BLOBs: BLOB-Daten im Container können per anonymer Anforderung gelesen werden, Containerdaten sind jedoch nicht verfügbar. Clients können BLOBs innerhalb des Containers nicht über anonyme Anforderungen auflisten.

  • Kein öffentlicher Lesezugriff: Container und BLOB-Daten können nur vom Kontobesitzer gelesen werden.

Set Container ACL Zudem wird eine gespeicherte Zugriffsrichtlinie für die Verwendung mit SAS. Weitere Informationen finden Sie unter verwenden eine gespeicherte Zugriffsrichtlinie.

Sämtlicher Zugriff auf den Container ist anonym, wie auch der Zugriff über eine SAS.

Die Set Container ACL -Anforderung kann wie folgt erstellt werden. HTTPS wird empfohlen. Ersetzen Sie Myaccount mit dem Namen Ihres Speicherkontos:

Methode

Anforderungs-URI

HTTP-Version

PUT

https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl

HTTP/1.1

Wenn eine Anforderung für den emulierten Speicherdienst ausführen, geben Sie den emulatorhostnamen und den Port des Blob-Dienst als 127.0.0.1:10000, gefolgt vom Namen emulierten Speicherkontos:

Methode

Anforderungs-URI

HTTP-Version

PUT

http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl

HTTP/1.1

Weitere Informationen finden Sie unter mithilfe der Azure-Speicheremulator für Entwicklungs- und.

Im Anforderungs-URI können die folgenden zusätzlichen Parameter angegeben werden.

Parameter

Beschreibung

timeout

Optional. Die timeout Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Blob-Dienstvorgänge.

In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.

Anforderungsheader

Beschreibung

Authorization

Erforderlich. Gibt das Authentifizierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Authentifizierung für die Azure-Speicherdienste.

Date oder x-ms-date

Erforderlich. Gibt die Uhrzeit der Anforderung in koordinierter Weltzeit (UTC) an. Weitere Informationen finden Sie unter Authentifizierung für die Azure-Speicherdienste.

x-ms-version

Optional. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionskontrolle für Azure-Speicherdienste.

x-ms-blob-public-access

Optional. Gibt an, ob öffentlicher Zugriff auf Daten im Container zulässig ist, und gibt die Zugriffsebene an. Zulässige Werte:

  • container: Gibt vollständigen öffentlichen Lesezugriff für Container- und BLOB-Daten. Clients können BLOBs innerhalb des Containers über anonyme Anforderungen auflisten, Container innerhalb des Speicherkontos können jedoch nicht aufgelistet werden.

  • blob: Gibt öffentlichen Lesezugriff für Blobs. BLOB-Daten im Container können per anonymer Anforderung gelesen werden, Containerdaten sind jedoch nicht verfügbar. Clients können BLOBs innerhalb des Containers nicht über anonyme Anforderungen auflisten.

Wenn dieser Header nicht in der Anforderung enthalten ist, sind Containerdaten für den Kontobesitzer privat.

Beachten Sie, dass das Festlegen des öffentlichen Zugriffs für einen Container in einem Azure-Premium-Speicherkonto nicht zulässig ist.

x-ms-lease-id: <ID>

Optional, Version 2012-02-12 und höher. Wenn angegeben, Set Container ACL ist nur erfolgreich, wenn die Lease des Containers aktiv ist und mit dieser ID übereinstimmt. Wenn keine aktive Lease vorhanden ist oder die ID nicht übereinstimmt, wird der Statuscode 412 (Vorbedingung nicht erfüllt) zurückgegeben.

x-ms-client-request-id

Optional. Stellt einen vom Client generierten, nicht transparenten Wert mit einer Zeichenbeschränkung von 1 KB bereit, der bei Aktivierung der Speicheranalyse-Protokollierung in den Analyseprotokollen erfasst wird. Die Verwendung dieses Headers wird dringend empfohlen, um clientseitige Aktivitäten mit den vom Server empfangenen Anforderungen zu korrelieren. Weitere Informationen finden Sie unter Zur Protokollierung der Speicheranalyse und Azure-Protokollierung: Mithilfe von Protokollen zur Track-Speicheranforderungen.

Dieser Vorgang unterstützt zudem die Verwendung von bedingten Headern zum Ausführen des Vorgangs, wobei eine bestimmte Bedingung erfüllt sein muss. Weitere Informationen finden Sie unter Angeben von bedingten Headern für Blob-Dienstvorgänge.

Um eine gespeicherte Zugriffsrichtlinie anzugeben, geben Sie einen eindeutigen Bezeichner und die Zugriffsrichtlinie im Hauptteil Anforderung für die Set Container ACL Vorgang.

Die SignedIdentifier Element enthält den eindeutigen Bezeichner, gemäß der Id Element, und die Details der Zugriffsrichtlinie, gemäß dem AccessPolicy Element. Die maximale Länge des eindeutigen Bezeichners beträgt 64 Zeichen.

Die Start und Expiry Felder müssen als UTC-Zeit ausgedrückt werden und muss einem gültigen ISO 8061-Format. Folgende ISO 8061-Formate werden unterstützt:

  • YYYY-MM-DD

  • YYYY-MM-DDThh:mmTZD

  • YYYY-MM-DDThh:mm:ssTZD

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

Für den Datumsteil dieser Formate YYYY ist eine vierstellige Darstellung MM ist eine zweistellige Monatsangabe Darstellung und DD ist eine zweistellige Tagesangabe Darstellung. Für den Uhrzeitteil hh ist die Darstellung der Stunden im 24-Stunden-Schreibweise mm die zweistellige Darstellung der Minuten, ss die zweistellige Darstellung der Sekunden und fffffff Millisekunde siebenstellige Darstellung. Zeitkennzeichner T trennt den Datums- und Uhrzeitwert Zeichenfolge, und der zeitzonenkennzeichner TZD Gibt die Zeitzone.

<?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>

Request Syntax: PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1 Request Headers: x-ms-version: 2011-08-18 x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT x-ms-blob-public-access: container 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>rwd</Permission> </AccessPolicy> </SignedIdentifier> </SignedIdentifiers>

Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern.

Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben.

Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.

Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann außerdem weitere HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Antwortheader

Beschreibung

ETag

Das ETag für den Container. Wenn die Anforderungsversion 2011-08-18 oder höher ist, wird der ETag-Wert in Anführungszeichen eingeschlossen.

Last-Modified

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.

Durch jeden Vorgang, der den Container, seine Eigenschaften oder Metadaten ändert, wird der Zeitpunkt der letzten Änderung, einschließlich des Festlegens der Berechtigungen für den Container, geändert. Vorgänge für BLOBs sind ohne Auswirkung auf den Zeitpunkt der letzten Änderung des Containers.

x-ms-request-id

Dieser Header identifiziert die erfolgte Anforderung eindeutig und kann für die Problembehandlung der Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung bei API-Vorgänge 

x-ms-version

Gibt die Version des Blob-Diensts an, der zum Ausführen der Abfrage verwendet wird. Dieser Header wird für Anforderungen zurückgegeben, die für Version 2009-09-19 und höher erfolgen.

Date

Ein vom Dienst generierter Datums-/Uhrzeitwert in UTC, der angibt, wann die Antwort initiiert wurde.

Response Status: HTTP/1.1 200 OK Response Headers: Transfer-Encoding: chunked Date: Sun, 25 Sep 2011 22:42:55 GMT ETag: "0x8CB171613397EAB" Last-Modified: Sun, 25 Sep 2011 22:42:55 GMT x-ms-version: 2011-08-18 Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

Dieser Vorgang kann nur vom Kontobesitzer aufgerufen werden.

Nur der Kontobesitzer hat Zugriff auf Ressourcen in einem bestimmten Container, es sei denn, der Besitzer hat durch Festlegen der Berechtigungen für den Container öffentlichen Zugriff auf Containerressourcen zugelassen oder eine SAS für eine Ressource im Container ausgegeben.

Wenn Sie Berechtigungen für einen Container festlegen, werden die vorhandenen Berechtigungen ersetzt. Um Berechtigungen für den Container zu aktualisieren, rufen Sie Get Container ACL ändern, um alle dem Container zugeordneten Zugriffsrichtlinien abzurufen, die Zugriffsrichtlinie, die Sie verwenden möchten, ändern und rufen dann Set Container ACL mit dem vollständigen Satz von Daten, um das Update durchzuführen.

Aktivieren von anonymem öffentlichen Zugriff auf Containerdaten

Um anonymen öffentlichen Lesezugriff auf Containerdaten zu aktivieren, rufen Sie Set Container ACL mit der x-ms-blob-public-access -Header festgelegt werden, um container oder blob. Um anonymen Zugriff zu deaktivieren, rufen Set Container ACL ohne Angabe der x-ms-blob-public-access Header.

Wenn Sie festlegen, x-ms-blob-public-accessblob, können Clients die folgenden Vorgänge anonym aufrufen:

Wenn Sie festlegen, x-ms-blob-public-accesscontainer, können Clients die folgenden Vorgänge anonym aufrufen:

Festlegen von Zugriffsrichtlinien auf Containerebene

Eine gespeicherte Zugriffsrichtlinie kann die Startzeit, die Ablaufzeit und die Berechtigungen für die SAS angeben, denen sie zugeordnet ist. Je nachdem, wie Sie den Zugriff auf die Container- oder BLOB-Ressource steuern möchten, können Sie alle diese Parameter in der gespeicherten Zugriffsrichtlinie angeben und sie in der URL für die SAS auslassen. Auf diese Weise können Sie das Verhalten der zugeordneten Signatur jederzeit ändern sowie aufheben. Oder Sie können einen oder mehrere der Zugriffsrichtlinienparameter in der gespeicherten Zugriffsrichtlinie und die anderen Zugriffsrichtlinienparameter in der URL angeben. Schließlich können Sie alle Parameter in der URL angeben. In diesem Fall können Sie die gespeicherte Zugriffsrichtlinie verwenden, um die Signatur aufzuheben, aber nicht um ihr Verhalten zu ändern. Finden Sie unter Angabe einer verwenden eine gespeicherte Zugriffsrichtlinie für Weitere Informationen zum Festlegen von Zugriffsrichtlinien.

Die SAS und die gespeicherte Zugriffsrichtlinie müssen zusammen alle Felder enthalten, die zum Authentifizieren 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.

Für einen Container können höchstens fünf separate Zugriffsrichtlinien gleichzeitig festgelegt werden. Wenn im Anforderungstext mehr als fünf Zugriffsrichtlinien übergeben werden, gibt der Dienst den Statuscode 400 (Ungültige Anforderung) zurück.

Eine SAS für einen Container oder ein BLOB kann unabhängig davon ausgegeben werden, ob Containerdaten für anonymen Lesezugriff verfügbar sind. Mit einer SAS lässt sich genauer steuern, wie, wann und für wen eine Ressource verfügbar gemacht wird.

System_CAPS_noteHinweis

Wenn Sie eine gespeicherte Zugriffsrichtlinie für einen Container einrichten, kann es bis zu 30 Sekunden dauern, bis die Richtlinie angewendet wird. Während dieses Intervalls schlägt eine SAS, die der gespeicherten Zugriffsrichtlinie zugeordnet ist, mit dem Statuscode 403 (Unzulässig) so lange fehl, bis die Zugriffsrichtlinie aktiv ist.

Anzeigen:
© 2016 Microsoft