gsutil-Fehler beheben: 401 Anonymous caller does not have storage.objects.list access to the Google Cloud Storage bucket

English Deutsch

Problem:

Beim Ausführen eines Befehls wie

gsutil_rsync_error.txt
gsutil rsync my-folder gs://my-bucket

siehst du eine Fehlermeldung wie

gsutil_401_error.txt
Building synchronization state...
Caught non-retryable exception while listing gs://mfwh-backups/: ServiceException: 401 Anonymous caller does not have storage.objects.list access to the Google Cloud Storage bucket.
CommandException: Caught non-retryable exception - aborting rsync

Lösung

Dieser Fehler sagt dir im Wesentlichen, dass du nicht eingeloggt bist!

Erstelle zuerst ein Service-Account für das Projekt auf Google Cloud: Direkter Link zur Service-Account-Seite. Du musst je nach deinem Setup herausfinden, welche Rollen du dem Service-Account zuweisen möchtest. Wenn du nicht weißt, was du auswählen sollst, weise ihm einfach Admin-Rechte für den Storage zu, aber beachte, dass dies sicherheitstechnische Auswirkungen haben kann, da dieses Account auch Storage-Buckets löschen oder erstellen kann.

Öffne dann die Seite für dieses Service-Account und erstelle einen neuen Key!

Dies gibt dir eine JSON-Datei wie z.B. my-project-4d267a915c4e.json. Speichere sie auf dem Server oder Computer, auf dem du gsutil ausführen möchtest. Ich empfehle, sie in ~ (dem Home-Verzeichnis des Benutzers) mit dem ursprünglichen Dateinamen zu speichern, z.B. ~/my-project-4d267a915c4e.json.

Dann musst du dieses Service-Account aktivieren mit

gcloud_activate_service_account.sh
gcloud auth activate-service-account --key-file [path to JSON file]

wie z.B.

gcloud_activate_example.txt
gcloud auth activate-service-account --key-file [path to JSON file]

Check out similar posts by category: Cloud