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 zuzuweisen, um die erforderlichen Berechtigungen zum Veröffentlichen von Objekten zu erhalten:
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" (
So machen Sie alle Objekte in einem Bucket öffentlich lesbar: Storage-Administrator (
roles/storage.admin
) oder Inhaber alter Storage-Buckets (roles/storage.legacyBucketOwner
)
Diese Rollen enthalten die Berechtigungen, die zum Veröffentlichen 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.
Einzelne Objekte öffentlich lesbar machen
Damit einzelne Objekte für jeden im öffentlichen Internet lesbar sind, weisen Sie dem Hauptkonto allUsers
die Rolle READER
zu:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
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 den Namen des gewünschten Objekts.
Klicken Sie auf Zugriff bearbeiten.
Klicken Sie im angezeigten Overlay auf die Schaltfläche add_boxEintrag 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.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
objects update
mit dem Flag--add-acl-grant
aus:gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --add-acl-grant=entity=AllUsers,role=READER
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
.
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.
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:
{ "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 $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/acl"
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, 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
Die gcloud CLI installieren und initialisieren, 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 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 $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?acl"
Dabei gilt:
XML_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 2 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
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ä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.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
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
.
Nächste Schritte
- Auf veröffentlichte Daten zugreifen
- Mehr über Zugriffssteuerungsoptionen für Buckets und Objekte erfahren