2016-07-18 12 views
1

Nach der docs können Azure Container wie folgt eingestellt werden:Bietet Azure Blob Storage eine allgemeine Privatsphäre, die mit anonymem Zugriff erreichbar ist?

  • Voll öffentlichen Lesezugriff: Container und Blob-Daten können über anonyme Anforderung gelesen werden. Clients können Blobs innerhalb des Containers über eine anonyme Anforderung aufzählen, können jedoch Container im Speicherkonto nicht aufzählen.
  • Öffentlicher Lesezugriff nur für Blobs: Blobdaten in diesem Container können über anonyme Anfrage gelesen werden, Containerdaten sind jedoch nicht verfügbar. Clients können Blobs innerhalb des Containers nicht über eine anonyme Anforderung auflisten.
  • Kein öffentlicher Lesezugriff: Container- und Blobdaten können nur vom Kontoinhaber gelesen werden.

Ressource: anonymous read access

Ich interessiere mich hauptsächlich für die zweite. Wenn ein Dateiname/Blob über eine dynamisch generierte GUID benannt wird (z. B. 07as51b9-a246-421x-f3sb-a7fdeasdf5cf.png), gibt es einen denkbaren Weg, dies programmatisch herauszufinden?

Ich möchte in der Lage sein, nur einen Link zu bestimmten Personen ohne gemeinsame Schlüssel oder eine andere Authentifizierung als anonym, aber neugierig auf Cookies, Tracking oder andere Faktoren, die irgendwie, irgendwie den Link zu den Link Blob in der offenen Welt. Offensichtlich, wenn die Verbindung geteilt wird, ist das ein Risiko.

Vielleicht ist dies besser für security.stackoverflow.com geeignet, aber Azure zeigt Personen direkt hier für Fragen (es sei denn, Sie haben einen bezahlten Plan).

+0

Ich habe die gleiche Frage; Ein öffentlicher Blob ist einfacher für die Entwicklung, aber ist er mit einem GUID-Blobnamen sicher genug? –

+0

@GuillaumeMorin Sie können nicht programmatisch über die Liste der Blobs iterieren, was gut ist. Das einzige Risiko ist, wenn der Link geteilt wird, oder wenn ein Widget oder eine App/Javascript oder wer weiß was, ist das Verfolgen von Links und es irgendwie los wird. Ob es sicher ist oder nicht, hängt von der Sicherheitsstufe ab, die Ihre Anwendung benötigt. Technisch ist es nicht völlig sicher. Ich denke, es ist vielleicht besser, eine parallele Frage an security.stackexchange.com zu stellen, weil es darauf ankommt, wie Links öffentlich zugänglich gemacht werden können. – user1447679

+0

@GuillaumeMorin Vielleicht möchten Sie sich das SAS-Modell ansehen, auf das Peter_Pan in der Antwort unten Bezug nahm. – user1447679

Antwort

0

Sie können ganz einfach die Blobs unter Ihrem öffentlichen Container auflisten, indem Sie die URL in Ihren Browser eingeben:

https: // {Ihr Kontoname} .blob.core.windows.net/{Ihr Containername}? restype = Behälter & comp = Liste

Es ruft eigentlich Azure Blob Storage-REST-API mit den anonymen Zugriff, für die Details dieser API finden Sie auf: https://msdn.microsoft.com/en-us/library/azure/dd135734.aspx

+0

Dies funktioniert nur, wenn die Sicherheit des Containers auf container festgelegt ist.Wenn ich es auf Blob setze, funktioniert es nicht, was eine gute Nachricht für mich ist. Es scheint, dass der letzte Teil meiner Frage immer noch steht, wenn es Ihnen nichts ausmacht, genauer hinzusehen. – user1447679

0

@ user1447679, As @ ZhaoxingLu-Microsoft sagte, Sie kann die Blob-Liste oder den Blob unter dem öffentlichen Container über die URL abrufen.

Wenn Sie jedoch einen Link eines Containers oder Blobs mit anonym teilen möchten, müssen Sie ein sas-Token als Abfrageparameter für die URL hinzufügen. Ich weiß, dass Sie Zweifel an der Sicherheit & Risiko der Link, aber die Ablaufzeit von sas Token stellen Sie sicher, die Link-Sicherheit und das Risiko zu reduzieren. Bitte beachten Sie den Teil 1 & 2 der Serie "Shared Access Signaturen", um in das SAS-Modell mit Speicher zu tauchen.