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.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden Rollen für den Bucket zuzuweisen, der die zu veröffentlichenden Daten enthält, um die erforderlichen Berechtigungen zum Veröffentlichen von Objekten zu erhalten:
So machen Sie alle Objekte in einem Bucket öffentlich lesbar: Storage-Administrator (
roles/storage.admin
)So machen Sie einzelne Objekte öffentlich lesbar: Storage-Objekt-Administrator (
roles/storage.objectAdmin
)- Wenn Sie die Google Cloud Console verwenden möchten, benötigen Sie die Rolle „Storage-Administrator“ (
roles/storage.admin
) anstelle der Rolle „Storage-Objekt-Administrator“.
- Wenn Sie die Google Cloud Console verwenden möchten, benötigen Sie die Rolle „Storage-Administrator“ (
Diese Rollen enthalten die Berechtigungen, die zum Freigeben von Objekten erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
storage.objects.get
storage.objects.getIamPolicy
storage.objects.setIamPolicy
storage.objects.update
Die folgenden Berechtigungen sind nur für die Verwendung der Google Cloud Console zum Ausführen der Aufgaben auf dieser Seite erforderlich:
storage.buckets.list
storage.objects.list
Sie können diese Berechtigungen auch mit anderen vordefinierten Rollen oder benutzerdefinierten Rollen erhalten.
Eine Anleitung zum Zuweisen von Rollen für Buckets finden Sie unter IAM mit Buckets verwenden.
Alle Objekte in einem Bucket öffentlich lesbar machen
Damit alle Objekte in einem Bucket für alle Nutzer im öffentlichen Internet lesbar sind, weisen Sie dem Hauptkonto allUsers
die Rolle Storage-Objekt-Betrachter (roles/storage.objectViewer
) zu:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
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 Abschnitt Berechtigungen auf die Schaltfläche
Zugriff erlauben.Das Dialogfeld Zugriff erlauben wird angezeigt.
Geben Sie im Feld Neue Hauptkonten
allUsers
ein.Geben Sie im Drop-down-Menü Rolle auswählen
Storage Object Viewer
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.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
buckets add-iam-policy-binding
aus:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
Dabei ist
BUCKET_NAME
der Name des Buckets, dessen Objekte Sie veröffentlichen möchten. Beispiel:my-bucket
.
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Terraform
Sie können eine Terraform-Ressource verwenden, um alle Objekte in einem Bucket öfentlich zu machen.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.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 $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Dabei gilt:
JSON_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 2 erstellt haben.BUCKET_NAME
ist der Name des Buckets, dessen Objekte Sie veröffentlichen möchten. Beispiel:my-bucket
.
XML API
Die öffentliche Freigabe aller Objekte in einem Bucket wird von der XML API nicht unterstützt. Verwenden Sie die Google Cloud Console oder gcloud storage
.
Teil eines Buckets öffentlich lesbar machen
Verwenden Sie einen verwalteten Ordner, um den Zugriff auf Objekte zu steuern, deren Namenspräfix mit dem Namen des verwalteten Ordners übereinstimmt. Beispielsweise kann ein verwalteter Ordner mit dem Namen my-folder
verwendet werden, um den Zugriff auf Objekte mit den Namen my-folder/cats.jpg
und my-folder/dogs.jpg
zu steuern.
Um solche Objekte öffentlich zugänglich zu machen, erstellen Sie zuerst den verwalteten Ordner und legen dann eine IAM-Richtlinie für den Ordner fest, die allUsers
die Rolle Storage-Objekt-Betrachter (roles/storage.objectViewer
) zuweist:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie auf den Namen des Buckets, der die Objekte enthält, die Sie veröffentlichen möchten.
So erstellen Sie einen Ordner:
Klicken Sie auf Ordner erstellen.
Geben Sie den Namen für den Ordner ein. Sobald der Ordner in einen verwalteten Ordner umgewandelt wurde, unterliegen Objekte, deren Name mit diesem Namen beginnt, den im Ordner festgelegten IAM-Rollen.
Klicken Sie auf Erstellen.
Konvertieren Sie den Ordner mithilfe der folgenden Schritte in einen verwalteten Ordner:
Suchen Sie im Bereich mit dem Inhalt des Buckets nach dem Namen des von Ihnen erstellten Ordners und klicken Sie auf das Symbol Weitere Optionen
.Klicken Sie auf Zugriff bearbeiten.
Klicken Sie im dann angezeigten Fenster auf Aktivieren.
Fügen Sie dem Ordner eine IAM-Richtlinie hinzu, die
allUsers
die Rolle „Storage-Objekt-Betrachter“ (roles/storage.objectViewer
) zuweist. Gehen Sie dazu so vor:Wenn der Bereich Berechtigungen für Ihren verwalteten Ordner noch nicht geöffnet ist, klicken Sie auf das Symbol Weitere Optionen
für den verwalteten Ordner. und dann auf Zugriff bearbeiten.Klicken Sie im Bereich Berechtigungen auf die Schaltfläche
Hauptkonto hinzufügen.Geben Sie im Feld Neue Hauptkonten
allUsers
ein.Geben Sie im Drop-down-Menü Rolle auswählen
Storage Object Viewer
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 für jedes relevante Objekt die Option URL kopieren angezeigt. Sie können auf diese Schaltfläche klicken, um die öffentliche URL für das Objekt abzurufen.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Erstellen Sie in Ihrer Entwicklungsumgebung mit dem
gcloud storage managed-folders create
-Befehl einen verwalteten Ordner:gcloud storage managed-folders create gs://BUCKET_NAME/MANAGED_FOLDER_NAME/
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, in dem Sie einen verwalteten Ordner erstellen möchten. Beispiel:my-bucket
.MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, den Sie erstellen möchten. Beispiel:my-managed-folder
.
Fügen Sie in Ihrer Entwicklungsumgebung der IAM-Richtlinie des verwalteten Ordners mit dem Befehl
gcloud storage managed-folders add-iam-policy-binding
allUsers
hinzu:gcloud storage managed-folders add-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=allUsers --role=roles/storage.objectViewer
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, dem Sie die IAM-Richtlinie hinzufügen. Beispiel:my-bucket
.MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, dem Sie öffentlichen Zugriff hinzufügen möchten. Beispiel:my-managed-folder
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "name": "MANAGED_FOLDER_NAME" }
MANAGED_FOLDER_NAME
ist der Name des Ordners, den Sie erstellen möchten. Beispiel:my-managed-folder
.Verwenden Sie
cURL
, um die JSON API mit einerInsert ManagedFolder
-Anfrage aufzurufen:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders"
Dabei gilt:
JSON_FILE_NAME
ist der Pfad für die Datei, die Sie im vorherigen Schritt erstellt haben.BUCKET_NAME
ist der Name des Buckets, in dem Sie einen verwalteten Ordner erstellen möchten. Beispiel:my-bucket
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 einersetIamPolicy
-ManagedFolder-Anfrage aufzurufen:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dabei gilt:
JSON_FILE_NAME
ist der Pfad für die Datei, die Sie im vorherigen Schritt erstellt haben.BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, dem Sie die IAM-Richtlinie hinzufügen. Beispiel:my-bucket
.MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, dem Sie die IAM-Richtlinie hinzufügen. Beispiel:my-managed-folder
.
XML API
Die XML API unterstützt verwaltete Ordner nicht. Verwenden Sie ein anderes Tool wie die Google Cloud Console oder legen Sie ACLs für einzelne Objekte mit Set Object ACL
-Anfragen fest. Das folgende Beispiel zeigt eine ACL-Datei, die allUsers
Zugriff auf ein Objekt gewährt:
<AccessControlList> <Entries> <Entry> <Scope type="AllUsers"/> <Permission>READ</Permission> </Entry> </Entries> </AccessControlList>
Nächste Schritte
- Auf veröffentlichte Daten zugreifen
- Mehr über Zugriffssteuerungsoptionen für Buckets und Objekte erfahren