gsutil-Fehler beheben: 401 Anonymous caller does not have storage.objects.list access to the Google Cloud Storage bucket
Problem:
Beim Ausführen eines Befehls wie
gsutil rsync my-folder gs://my-bucketsiehst du eine Fehlermeldung wie
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 rsyncLö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 auth activate-service-account --key-file [path to JSON file]wie z.B.
gcloud auth activate-service-account --key-file [path to JSON file]