GCE Erforderliche Berechtigung „compute.zones.list“ für „projects/someproject“

GCE Erforderliche Berechtigung „compute.zones.list“ für „projects/someproject“

Ich habe ein Projekt in GCP erstellt. Dann habe ich ein Dienstkonto mit Compute AdminRolle erstellt. Danach habe ich es Compute Engine APIfür mein Projekt aktiviert, kann aber nicht mit Instanzen arbeiten:

#gcloud compute instances list  
ERROR: (gcloud.compute.instances.list) Some requests did not succeed:
- Required 'compute.zones.list' permission for 'projects/someproject'

Was mache ich falsch ?

Antwort1

Überprüfen Sie, ob das Dienstkonto, das Sie zum Ausführen dieses Befehls verwenden, über die richtigeCompute Engine-Rolle. Sie können dies hier tun: IAM & Admin > IAM.

-- AKTUALISIEREN --

Um zu überprüfen, ob dieDienstkontoverfügt über die entsprechenden Berechtigungen und führt diese Befehle in der Cloud Shell aus:

$ gcloud iam service-accounts keys create key.json \ --iam-account [email protected]

Der obige Befehl erstellt und lädt den Schlüssel für dieses Dienstkonto im JSON-Format herunter.

$ gcloud projects add-iam-policy-binding some-project-name \ --member serviceAccount:[email protected] \ --role=roles/compute.admin

Dieser Befehl weist dem Dienstkonto new-sa die Rolle compute.admin zu.

$ gcloud auth activate-service-account --key-file=key.json

$ gcloud compute instances list

Und mit diesen imitierenneu-saDienstkonto mit der bereits heruntergeladenen Datei key.json und führen Sie den entsprechenden Befehl aus, um die Instanzen in aufzulistenirgendein-projektnameProjekt. Wenn dies erfolgreich ist, liegt das Problem woanders.

Antwort2

Das erste Mal habe ich im Google-Testzeitraum ein Dienstkonto „cloud66“ erstellt. Dies hatte höchstwahrscheinlich Auswirkungen auf die Zugriffsrechte. Dann habe ich die Abrechnung von einem Testzeitraum auf einen kostenpflichtigen umgestellt. Ich habe das Dienstkonto cloud66 im Abschnitt „APIs & Dienste -> Anmeldeinformationen“ gelöscht und neu erstellt. Es gab jedoch eine Zugriffsrichtlinie für „cloud66“ mit der Rolle „ComputeAdmin“ im Abschnitt „IAM“. Als ich die Zugriffsrichtlinie aus dem Abschnitt „IAM“ gelöscht und das Dienstkonto neu erstellt habe, war das Problem behoben.

verwandte Informationen