Puncte:0

Implementarea GCP pentru a crea compartimentul de stocare nu reușește dacă lipsește accesul storage.buckets.get

drapel cn

Vreau să creez o găleată de stocare în cloud în mod programatic folosind managerul de implementare, dar implementarea eșuează cu următoarea eroare:

EROARE: (gcloud.deployment-manager.deployments.create) Eroare la operare [operation-1626165906845-5c6fd413930ca-1a833b6c-81671664]: erori:
- cod: RESOURCE_ERROR
  locație: /deployments/example-config/resources/storage-bucket
  mesaj: „{"ResourceType":"storage.v1.bucket","ResourceErrorCode":"403","ResourceErrorMessage":{"code":403,"errors":[{"domain":"global"," mesaj":"[email protected]
    nu are storage.buckets.get acces la compartimentul Google Cloud Storage.","reason":"forbidden"}],"message":"[email protected]
    nu are storage.buckets.get acces la compartimentul Google Cloud Storage.","statusMessage":"Forbidden","requestPath":"https://storage.googleapis.com/storage/v1/b/storage-bucket ","httpMethod":"GET","suggestion":"Luați în considerare
    acordarea permisiunilor către [email protected]"}}'

Totuși, am adăugat roluri/storage-admin la contul menționat în eroare și, conform Politicii Instrumentului de depanare, accesul este acordat pentru depozitare.galeti.get Apel API:

introduceți descrierea imaginii aici

Acesta este yaml fisierul pe care il folosesc:

importuri:
  - cale: template.jinja

resurse:
  - nume: șablon
    tip: template.jinja
    proprietati:
      depozitare:
        găleată: qa-bucket-68586

iar acesta este jinja șablon:

resurse:
  - denumire: găleată-depozitare
    tip: stocare.v1.găleată
    proprietati:
      fel: depozitare#galeata
      nume: {{ proprietăți["storage"]["bucket"] }}
      locatie: UE
      projectNumber: {{ env["project_number"] }}
      Clasa de depozitare: STANDARD
Wojtek_B avatar
drapel jp
Ce s-a întâmplat după ce ați acordat contului rolul `storage.admin`? S-a schimbat eroarea?
Carlos Rodriguez avatar
drapel cn
Nu, eroarea a rămas aceeași.
John Hanley avatar
drapel cn
Găleata este într-un alt proiect? Numele găleții este corect?
Carlos Rodriguez avatar
drapel cn
Da, proiectul este cel corect și numele găleții este ok.
Carlos Rodriguez avatar
drapel cn
Am adăugat cele mai mici fișiere jinja și yaml care reproduc problema.
John Hanley avatar
drapel cn
Cheia nu este dacă numele proiectului este corect. Care proiect deține găleata?
Carlos Rodriguez avatar
drapel cn
Vreau să creez găleata, astfel încât în ​​momentul executării implementării niciun proiect nu deține găleata. Pașii merg astfel: selectez proiectul folosind `gcloud config set project` pe terminalul mașinii mele; Verific că proiectul este selectat folosind `gcloud config get-value project`; Verific ca contul din acest proiect are rolul `storage.admin`; și apoi rulez `gcloud deployment-manager deployments create example-config --config deployment.yaml`
Puncte:0
drapel jp

Pe baza întrebării dvs., am încercat să reproduc problema dvs., dar nu am reușit - ceea ce înseamnă că aș putea crea o găleată de stocare cu DM.

Am folosit o abordare mai simplă:

resurse:
- tip: storage.v1.bucket
  nume: tb111
  proprietati:
    proiect: nume-proiect
    nume: tb111-1

Nu foloseam nicio variabilă pentru a transmite numele proiectului, așa că poate a funcționat.

Rezultatul a fost:

wb@cloudshell:~ (nume-proj)$ gcloud deployment-manager deployments create deploy-test111 --config b1.yaml
Amprenta implementării este b'fcW0t5_5DD75iIGyHz='
Se așteaptă crearea [operațiunea-1626272156399-fe30b8a9-47-53bbc8c4]... gata.
Operațiunea de creare a operațiunii-1626272156399-fe30b8a9-47-53bbc8c4 finalizată cu succes.
NUME TIP STAT ERORI INTENȚIE
tb111 storage.v1.bucket TERMINAT []

Îl pot vedea și accesa din interfața de utilizare a consolei.

Încercați pentru început doar să „codați” numele proiectului dvs. în dvs jinja fișierele sau folosiți-le pe ale mele pentru pornire și acest lucru ar trebui să funcționeze.

Carlos Rodriguez avatar
drapel cn
Mulțumesc pentru sugestie, Wojtek_B. După câteva încercări și erori, am găsit greșeala: problema era cu `name: storage-bucket`. Numele găleții trebuie să fie unic la nivel global și „store-bucket” a fost deja luat. Am făcut și greșeala prostească de a avea de două ori proprietatea `name` (prima cu `storage-bucket` și a doua cu `{{ properties["storage"]["bucket"] }}`). L-am scos pe al doilea și i-am dat un număr unic găleții și apoi a funcționat. Mulțumiri!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.