Fehlerbehebung

401: Nicht autorisiert

Problem: Anfragen an einen öffentlichen Bucket direkt oder über Cloud CDN schlagen mit den Antworten HTTP 401: Unauthorized und Authentication Required fehl.

Lösung: Achten Sie darauf, dass Ihr Client oder ein Zwischen-Proxy Anfragen an Cloud Storage keinen Authorization-Header hinzufügt. Jede Anfrage mit einem Authorization-Header wird überprüft, als wenn es sich um einen Authentifizierungsversuch handeln würde, selbst wenn die Anfrage leer ist.

403: Konto deaktiviert

Problem: Ich habe versucht, einen Bucket zu erstellen, erhalte jedoch den Fehler 403 Account Disabled.

Lösung: Dieser Fehler weist darauf hin, dass Sie die Abrechnung für das verknüpfte Projekt noch nicht aktiviert haben. Wie Sie vorgehen müssen, um die Abrechnung zu aktivieren, erfahren Sie unter Abrechnung für ein Projekt aktivieren.

Wenn die Abrechnung aktiviert ist und Sie weiterhin diese Fehlermeldung erhalten, wenden Sie sich an den Support. Geben Sie dabei Ihre Projekt-ID und eine Beschreibung des Problems an.

403: Zugriff verweigert

Problem: Ich habe versucht, die Objekte in meinem Bucket aufzulisten, erhalte jedoch einen 403 Access Denied-Fehler und/oder eine ähnliche Meldung wie Anonymous caller does not have storage.objects.list access.

Lösung: Prüfen Sie, ob Ihre Anmeldedaten korrekt sind. Wenn Sie beispielsweise gsutil verwenden, prüfen Sie, ob die in der Datei .boto gespeicherten Anmeldedaten korrekt sind. Prüfen Sie außerdem, ob gsutil die erwartete Datei .boto verwendet. Verwenden Sie dazu den Befehl gsutil version -l und prüfen Sie den Eintrag config path(s).

Vorausgesetzt, Sie verwenden die richtigen Anmeldedaten: Werden Ihre Anfragen mit HTTP anstelle von HTTPS über einen Proxyserver weitergeleitet? Prüfen Sie in diesem Fall, ob Ihr Proxy so konfiguriert ist, dass der Authorization-Header aus solchen Anfragen entfernt wird. Ist dies der Fall, verwenden Sie für Ihre Anfragen HTTPS anstelle von HTTP.

409: Konflikt

Problem: Ich habe versucht, einen Bucket zu erstellen, erhalte jedoch folgenden Fehler:

409 Conflict. Sorry, that name is not available. Please try a different one.

Lösung: Der Bucket-Name, den Sie verwenden wollten (z. B. gs://cats oder gs://dogs), ist bereits vergeben. Cloud Storage verfügt über einen globalen Namespace. Sie können einem Bucket daher keinen Namen geben, der bereits für einen anderen Bucket verwendet wird. Wählen Sie einen Namen, der noch nicht vergeben ist.

Proxyserver

Problem: Ich stelle die Verbindung über einen Proxyserver her. Was muss ich tun?

Lösung: Für den Zugriff auf Cloud Storage über einen Proxyserver müssen Sie den Zugriff auf diese Domains zulassen:

  • accounts.google.com zum Erstellen von OAuth2-Authentifizierungstokens über gsutil config
  • oauth2.googleapis.com für den OAuth2-Token-Austausch
  • *.googleapis.com für Speicheranfragen

Wenn Ihr Proxyserver oder Ihre Sicherheitsrichtlinie weiße Listen nach Domain nicht unterstützt und stattdessen weiße Listen nach IP-Netzwerkblock benötigt, sollten Sie Ihren Proxyserver unbedingt für alle IP-Adressbereiche von Google konfigurieren. Diese Adressbereiche finden Sie durch Abfrage der WHOIS-Daten unter ARIN. Als Best Practice sollten Sie Ihre Proxy-Einstellungen regelmäßig prüfen, um sicherzustellen, dass sie mit den IP-Adressen von Google übereinstimmen.

Die Konfiguration von Proxyservern mit einzelnen IP-Adressen, die Sie durch eine einmalige DNS-Abfrage von oauth2.googleapis.comund storage.googleapis.com erhalten haben, wird nicht empfohlen. Google-Dienste werden über DNS-Namen bereitgestellt, denen viele IP-Adressen zugeordnet sind, die sich im Laufe der Zeit ändern können. Daher können bei der Verbindung mit Cloud Storage Fehler auftreten, wenn Sie den Proxy anhand einer einzelnen Abfrage konfigurieren.

Wenn Ihre Anfragen über einen Proxyserver geleitet werden, klären Sie mit Ihrem Netzwerkadministrator, dass der Authorization-Header mit Ihren Anmeldedaten nicht durch den Proxy entfernt werden darf. Ohne den Authorization-Header werden Ihre Anfragen abgelehnt und Sie erhalten den Fehler MissingSecurityHeader.

gsutil stat

Problem: Ich habe versucht, mit dem Befehl gsutil stat den Objektstatus für ein Unterverzeichnis anzeigen zu lassen, und erhalte eine Fehlermeldung.

Lösung: Cloud Storage verwendet zum Speichern von Objekten in Buckets einen flachen Namespace. Sie können zwar Schrägstriche ("/") in Objektnamen verwenden, damit Objekte in einer hierarchischen Struktur erscheinen, der Befehl gsutil stat behandelt jedoch einen abschließenden Schrägstrich als Teil des Objektnamens.

Wenn Sie beispielsweise den Befehl gsutil -q stat gs://my-bucket/my-object/ ausführen, sucht gsutil nach Informationen zum Objekt my-object/ (mit abschließendem Schrägstrich), anstatt mit unter my-bucket/my-object/ verschachtelten Objekten zu arbeiten. Wenn Sie kein Objekt mit diesem Namen haben, schlägt der Vorgang fehl.

Verwenden Sie zum Auflisten von Unterverzeichnissen stattdessen gsutil ls.

gcloud auth

Problem: Ich habe versucht, gsutil mit dem Befehl gcloud auth zu authentifizieren, ich kann aber trotzdem nicht auf meine Buckets oder Objekte zugreifen.

Lösung: Auf Ihrem System ist sowohl die eigenständige Version als auch die Cloud SDK-Version von gsutil installiert. Führen Sie den Befehl gsutil version -l aus und prüfen Sie den Wert für using cloud sdk. Ist dieser False, verwendet Ihr System beim Ausführen von Befehlen die eigenständige Version von gsutil. Sie können diese Version von gsutil entweder aus Ihrem System entfernen oder zum Authentifizieren den Befehl gsutil config verwenden.

Als Website konfigurierter Bucket

Die folgenden Probleme treten häufig auf, wenn Sie einen Bucket zum Hosten einer statischen Website einrichten.

HTTPS-Bereitstellung

Problem: Ich möchte meine Inhalte über HTTPS bereitstellen, ohne einen Load-Balancer zu verwenden.

Lösung: Sie können statische Inhalte über HTTPS mit direkten URIs wie https://storage.googleapis.com/my-bucket/my-object bereitstellen. Außerdem haben Sie zur Bereitstellung Ihrer Inhalte über eine benutzerdefinierte Domain und SSL folgende Möglichkeiten:

Domainbestätigung

Problem: Ich kann meine Domain nicht bestätigen.

Lösung: Normalerweise werden Sie während der Prüfung in der Search Console angewiesen, eine Datei in Ihre Domain hochzuladen. Dies ist jedoch ohne den entsprechenden Bucket eventuell nicht möglich. Diesen können Sie erst erstellen, nachdem Sie die Domainbestätigung durchgeführt haben.

Prüfen Sie in diesem Fall die Inhaberschaft mithilfe der Verifizierungsmethode Domain Name Provider. Weitere Informationen hierzu finden Sie unter Prüfung der Domaininhaberschaft. Diese Bestätigung kann durchgeführt werden, bevor der Bucket erstellt wird.

Seite nicht zugänglich

Problem: Ich erhalte die Fehlermeldung Access denied für eine Webseite, die über meine Website bereitgestellt wird.

Lösung: Prüfen Sie, ob das Objekt öffentlich freigegeben ist. Wenn dies nicht der Fall ist, finden Sie eine Anleitung dazu unter Daten öffentlich machen.

Wenn Sie zuvor ein Objekt hochgeladen und freigegeben haben und dann eine neue Version hochladen, müssen Sie das Objekt noch einmal öffentlich freigeben. Der Grund hierfür ist, dass die öffentliche Berechtigung durch den neuen Upload überschrieben wird.

Herunterladen von Inhalten

Problem: Meine Website wird im Browser nicht dargestellt. Stattdessen werde ich aufgefordert, den Inhalt meiner Website herunterzuladen.

Lösung: Wenn Sie ein MainPageSuffix als Objekt angeben, das keinen Webinhaltstyp aufweist, wird die Seite den Besuchern nicht angezeigt. Stattdessen werden sie dazu aufgefordert, die Inhalte der Website herunterzuladen. Aktualisieren Sie den Metadateneintrag content-type auf einen geeigneten Wert wie text/html, um dieses Problem zu beheben. Eine Anleitung dazu finden Sie unter Objektmetadaten bearbeiten.

Inhalte mit storage.cloud.google.com herunterladen

Problem: Ich lade meine öffentlichen Inhalte von storage.cloud.google.com herunter und erhalte die Fehlermeldung 403 - Forbidden, wenn ich das öffentliche Objekt

https://storage.cloud.google.com/[BUCKET_NAME]/[OBJECT_NAME]
im Browser aufrufe.

Lösung: Die Verwendung von storage.cloud.google.com zum Herunterladen von Objekten wird als authentifizierter Browserdownload bezeichnet. Dabei wird immer eine cookiebasierte Authentifizierung verwendet, auch wenn Objekte für allUsers öffentlich zugänglich gemacht werden. Wenn Sie Audit-Logs für Cloud Storage aktiviert haben, besteht die Einschränkung, dass authentifizierte Browserdownloads deaktiviert sind. Solche Downloads führen bei aktivierten Audit-Logs zu einer 403-Antwort.

Sie können dieses Problem vermeiden, indem Sie entweder Audit-Logs deaktivieren oder direkte API-Aufrufe verwenden, die nicht authentifizierte Downloads unterstützen.

301: Dauerhaft verschoben

Problem: Beim Zugriff auf einen Verzeichnispfad werden ein leeres Objekt und der HTTP-Antwortcode 301 als Antwort zurückgegeben.

Lösung: Wenn beim Zugriff auf ein Verzeichnis, z. B. http://www.example.com/dir/, ein Nullbyte-Objekt vom Browser heruntergeladen wird und Sie den HTTP-Antwortcode 301 erhalten, enthält Ihr Bucket sehr wahrscheinlich ein leeres Objekt mit diesem Namen. Prüfen Sie, ob dies der Fall ist, und beheben Sie das Problem:

  1. Öffnen Sie den Cloud Storage-Browser in der Google Cloud Console.
    Zum Cloud Storage-Browser
  2. Klicken Sie im oberen Bereich der Google Cloud Console auf Activate Cloud Shell. Cloud Shell aktivieren
  3. Führen Sie gsutil ls -R gs://www.example.com/dir/ aus. Wenn die Ausgabe http://www.example.com/dir/ enthält, ist an diesem Speicherort ein leeres Objekt vorhanden.
  4. Entfernen Sie das leere Objekt mit dem folgenden Befehl: gsutil rm gs://www.example.com/dir/

Sie können nun auf http://www.example.com/dir/ zugreifen und die index.html-Datei dieses Verzeichnisses anstelle des leeren Objekts zurückgeben lassen.

Mögliche Fehler im Cloud Storage-Browser

Problem: Bei der Ausführung eines Vorgangs im Cloud Storage-Browser wird eine allgemeine Fehlermeldung zurückgegeben. Ich erhalte beispielsweise eine Fehlermeldung, wenn ich versuche, einen Bucket zu löschen, es wird aber nicht angezeigt, warum der Vorgang fehlgeschlagen ist.

Lösung: Verwenden Sie die Benachrichtigungen der Google Cloud Console, um detaillierte Informationen zum fehlgeschlagenen Vorgang anzeigen zu lassen:

  1. Klicken Sie in der Google Cloud Console auf die Schaltfläche Benachrichtigungen.

    Mitteilungen

    In einem Drop-down-Menü werden die zuletzt von der Google Cloud Console ausgeführten Vorgänge angezeigt.

  2. Klicken Sie auf das Element, zu dem Sie mehr erfahren möchten.

    Eine Seite mit detaillierten Informationen zum Vorgang wird geöffnet.

  3. Klicken Sie auf die einzelnen Zeilen, um die detaillierten Fehlerinformationen zu maximieren.

    Nachstehend finden Sie ein Beispiel für eine Fehlermeldung, die angezeigt wird, wenn das Löschen eines Buckets fehlgeschlagen ist. Darin wird erläutert, dass eine Bucket-Aufbewahrungsrichtlinie das Löschen des Buckets verhindert hat.

    Detailinformationen nach fehlgeschlagenem Löschen eines Buckets

Weitere Informationen