Auf dieser Seite wird gezeigt, wie Sie Objekte, deren Inhaber Sie sind, für jeden im öffentlichen Internet lesbar machen können. Informationen über den Zugriff auf öffentliche Daten finden Sie hier: Auf öffentliche Daten zugreifen.
Auf öffentlich freigegebene Objekte kann jeder Nutzer zugreifen, der den Objekt-URI kennt, solange es öffentlich ist.
Vorbereitung
Die Voraussetzungen können je nach verwendetem Tool variieren:
Console
Sie benötigen die entsprechenden IAM-Berechtigungen, um diesen Leitfaden mit der Google Cloud Console abzuschließen. Wenn sich die Objekte oder Buckets, auf die Sie zugreifen möchten, in einem Projekt befinden, das nicht Sie erstellt haben, muss Ihnen der Projektinhaber möglicherweise erst eine Rolle zuweisen, die die erforderlichen Berechtigungen enthält.
Eine Liste der erforderlichen Berechtigungen für bestimmte Aktionen finden Sie unter IAM-Berechtigungen für die Google Cloud Console.
Eine Liste der relevanten Rollen finden Sie unter Cloud Storage-Rollen. Alternativ können Sie eine benutzerdefinierte Rolle erstellen, die spezifische, eingeschränkte Berechtigungen hat.
Befehlszeile
Damit Sie diese Anleitung mit einem Befehlszeilendienstprogramm ausführen können, benötigen Sie die entsprechenden IAM-Berechtigungen. Wenn sich die Objekte oder Buckets, auf die Sie zugreifen möchten, in einem Projekt befinden, das nicht Sie erstellt haben, muss Ihnen der Projektinhaber möglicherweise erst eine Rolle zuweisen, die die erforderlichen Berechtigungen enthält.
Eine Liste der erforderlichen Berechtigungen für bestimmte Aktionen finden Sie unter IAM-Berechtigungen für gsutil-Befehle.
Eine Liste der relevanten Rollen finden Sie unter Cloud Storage-Rollen. Alternativ können Sie eine benutzerdefinierte Rolle erstellen, die spezifische, eingeschränkte Berechtigungen hat.
Codebeispiele
Sie benötigen die entsprechenden IAM-Berechtigungen, um diesen Leitfaden mit den Cloud Storage-Clientbibliotheken abzuschließen. Wenn sich die Objekte oder Buckets, auf die Sie zugreifen möchten, in einem Projekt befinden, das nicht Sie erstellt haben, muss Ihnen der Projektinhaber möglicherweise erst eine Rolle zuweisen, die die erforderlichen Berechtigungen enthält. Sofern nicht anders angegeben, werden Clientbibliotheksanfragen über die JSON API gestellt.
Eine Liste der für bestimmte Aktionen erforderlichen Berechtigungen finden Sie unter IAM-Berechtigungen für JSON-Methoden.
Eine Liste der relevanten Rollen finden Sie unter Cloud Storage-Rollen. Alternativ können Sie eine benutzerdefinierte Rolle erstellen, die spezifische, eingeschränkte Berechtigungen hat.
REST APIs
JSON API
Sie benötigen die entsprechenden IAM-Berechtigungen, um diese Anleitung mit der JSON API abzuschließen. Wenn sich die Objekte oder Buckets, auf die Sie zugreifen möchten, in einem Projekt befinden, das nicht Sie erstellt haben, muss Ihnen der Projektinhaber möglicherweise erst eine Rolle zuweisen, die die erforderlichen Berechtigungen enthält.
Eine Liste der für bestimmte Aktionen erforderlichen Berechtigungen finden Sie unter IAM-Berechtigungen für JSON-Methoden.
Eine Liste der relevanten Rollen finden Sie unter Cloud Storage-Rollen. Alternativ können Sie eine benutzerdefinierte Rolle erstellen, die spezifische, eingeschränkte Berechtigungen hat.
Einzelne Objekte öffentlich lesbar machen
So werden einzelne Objekte für jeden im öffentlichen Internet lesbar:
Console
- Wechseln Sie in der Cloud Console zum Cloud Storage-Browser.
Klicken Sie auf den Namen des Buckets, der das Objekt enthält, das Sie veröffentlichen möchten, und wechseln Sie zum Objekt, wenn es sich in einem Unterverzeichnis befindet.
Klicken Sie auf das Dreipunkt-Menü (
), das dem Objekt zugeordnet ist, das Sie veröffentlichen möchten.
Wählen Sie Zugriff bearbeiten aus dem Drop-down-Menü aus.
Klicken Sie im angezeigten Overlay auf die Schaltfläche + Eintrag hinzufügen.
Fügen Sie eine Berechtigung für allUsers (alle Nutzer) hinzu.
- Wählen Sie für die Entität die Option Öffentlich aus.
- Wählen Sie für den Namen die Option allUsers aus.
- Wählen Sie unter Zugriff die Option Reader aus.
Klicken Sie auf Speichern.
Sobald der öffentliche Zugriff gewährt wurde, wird in der Spalte Öffentlicher Zugriff die Option URL kopieren angezeigt. Sie können auf diese Schaltfläche klicken, um die öffentliche URL für das Objekt abzurufen.
Informationen zum Abrufen detaillierter Fehlerinformationen zu fehlgeschlagenen Vorgängen im Cloud Storage-Browser finden Sie unter Fehlerbehebung.
Befehlszeile
Führen Sie den Befehl gsutil acl ch
aus:
gsutil acl ch -u AllUsers:R gs://BUCKET_NAME/OBJECT_NAME
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der das Objekt enthält, das Sie veröffentlichen möchten. Beispiel:my-bucket
OBJECT_NAME
ist der Name des Objekts, das Sie veröffentlichen möchten. Beispiel:pets/dog.png
Wenn der Vorgang erfolgreich ausgeführt wurde, sieht die Antwort in etwa so aus:
Updated ACL on gs://my-bucket/pets/dog.png
Codebeispiele
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
REST APIs
JSON API
- Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden. Eine Anleitung finden Sie unter API-Authentifizierung.
Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "entity": "allUsers", "role": "READER" }
Verwenden Sie
cURL
, um die JSON API mit einerInsert
-ACL-Anfrage aufzurufen:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/acl"
Wobei:
JSON_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 2 erstellt haben.OAUTH2_TOKEN
ist das Zugriffstoken, das Sie in Schritt 1 erstellt haben.BUCKET_NAME
ist der Name des Buckets, der das Objekt enthält, das Sie veröffentlichen möchten. Beispiel:my-bucket
OBJECT_NAME
ist der URL-codierte Name des Objekts, das Sie veröffentlichen möchten. Beispiel:pets/dog.png
, URL-codiert alspets%2Fdog.png
.
XML API
- Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden. Eine Anleitung finden Sie unter API-Authentifizierung.
Erstellen Sie eine XML-Datei, die die folgenden Informationen enthält:
<AccessControlList> <Entries> <Entry> <Scope type="AllUsers"/> <Permission>READ</Permission> </Entry> </Entries> </AccessControlList>
Verwenden Sie
cURL
, um die XML API mit einerSet Object ACL
-Anfrage aufzurufen:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?acl"
Wobei:
XML_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 2 erstellt haben.OAUTH2_TOKEN
ist das Zugriffstoken, das Sie in Schritt 1 erstellt haben.BUCKET_NAME
ist der Name des Buckets, der das Objekt enthält, das Sie veröffentlichen möchten. Beispiel:my-bucket
OBJECT_NAME
ist der URL-codierte Name des Objekts, das Sie veröffentlichen möchten. Beispiel:pets/dog.png
, URL-codiert alspets%2Fdog.png
.
Alle Objekte in einem Bucket öffentlich lesbar machen
So machen Sie alle Objekte in einem Bucket für alle Nutzer im öffentlichen Internet lesbar:
Console
- Wechseln Sie in der Cloud Console zum Cloud Storage-Browser.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie veröffentlichen möchten.
Wählen Sie oben auf der Seite den Tab Berechtigungen aus.
Klicken Sie im Bereich Berechtigungen auf die Schaltfläche + Hinzufügen.
Das Dialogfeld Hauptkonten hinzufügen wird angezeigt.
Geben Sie im Feld Neue Hauptkonten
allUsers
ein.Geben Sie im Drop-down-Menü Rolle auswählenStorage-Objekt-Betrachter in das Filterfeld ein und wählen Sie Storage-Objekt-Betrachter aus den gefilterten Ergebnissen aus.
Klicken Sie auf Speichern.
Klicken Sie auf Öffentlichen Zugriff erlauben.
Sobald der öffentliche Zugriff gewährt wurde, wird in der Spalte für den öffentlichen Zugriff die Option URL kopieren angezeigt. Sie können auf diese Schaltfläche klicken, um die öffentliche URL für das Objekt abzurufen.
Informationen zum Abrufen detaillierter Fehlerinformationen zu fehlgeschlagenen Vorgängen im Cloud Storage-Browser finden Sie unter Fehlerbehebung.
Befehlszeile
Führen Sie den Befehl gsutil iam ch
aus:
gsutil iam ch allUsers:objectViewer gs://BUCKET_NAME
Dabei ist BUCKET_NAME
der Name des Buckets, dessen Objekte Sie veröffentlichen möchten. Beispiel: my-bucket
Codebeispiele
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Terraform
Sie können eine Terraform-Ressource verwenden, um alle Objekte in einem Bucket öfentlich zu machen.
REST APIs
JSON API
- Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden. Eine Anleitung finden Sie unter API-Authentifizierung.
Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Verwenden Sie
cURL
, um die JSON API mit einerPUT
-Bucket-Anfrage aufzurufen:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Wobei:
JSON_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 2 erstellt haben.OAUTH2_TOKEN
ist das Zugriffstoken, das Sie in Schritt 1 erstellt haben.BUCKET_NAME
ist der Name des Buckets, dessen Objekte Sie veröffentlichen möchten. Beispiel:my-bucket
XML API
Das Veröffentlichen aller Objekte in einem Bucket wird von der XML API nicht unterstützt. Verwenden Sie dafür gsutil oder die JSON API.
Nächste Schritte
- Auf veröffentlichte Daten zugreifen
- Mehr über Zugriffssteuerungsoptionen für Buckets und Objekte erfahren