Puncte:1

Contul de serviciu nu are acces storage.buckets.get la compartimentul Google Cloud Storage

drapel cn

Rulez Ansible cu un serviciu următoarea configurație care ar trebui să creeze o găleată de stocare pe Google Cloud.

- nume: „Creați {{ environ.name }}-cluster-backups”
  google.cloud.gcp_storage_bucket:
    nume: „zeipt-io-{{ environ.name }}-cluster-backups”
    locație: „{{ google_cloud.region }}”
    storage_class: „NEARLINE”
    ciclu de viață:
      regulă:
        - condiție:
            vârsta_zile: 28
          acțiune:
            tip: „Șterge”
    proiect: „{{ google_cloud.project }}”
    auth_kind: „{{ google_cloud.auth_kind }}”
    service_account_file: „{{ google_cloud.service_account_file }}”
    stare: prezent

Ceea ce dă eroarea

fatal: [localhost]: FAILED! => {"changed": false, "msg": "GCP a returnat eroare: {'error': {'code': 403, 'message': '[email protected] nu are stocare .buckets.get acces la compartimentul Google Cloud Storage.', 'errors': [{'message': '[email protected] nu are storage.buckets.get acces la Google Cloud Storage găleată.', 'domeniu': 'global', 'motivul': 'interzis'}]}}"}

Înțeleg eroarea, dar am verificat astfel rolurile atribuite acestui utilizator

Proiectele gcloud get-iam-policy staging-environment --flatten="bindings[].members" --format='table(bindings.role)' --filter="bindings.members:[email protected]. gserviceaccount.com"
ROL
roluri/proprietar
roluri/stocare.admin
roles/storage.objectAdmin
roluri/storage.objectCreator
roles/storage.objectViewer

roluri/stocare.admin ar trebui să îndeplinească cerința pe măsură ce am verificat Pagina Roluri IAM Google Cloud care afirmă că acest rol are depozitare.găleți.* permisiune.

Nu înțeleg de ce mai primesc aceeași eroare?

John Hanley avatar
drapel cn
Unde (desktop, Compute Engine, ...) rulați ansible? Dacă utilizați un serviciu de calcul, verificați domeniile activate pentru VM. https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam
drapel cn
@JohnHanley Îl rulez local pe Mac-ul meu. Sunt capabil să creez rețele, clustere și multe altele, dar nu și găleți.
John Hanley avatar
drapel cn
În comanda dvs. **gcloud projects get-iam-policy** adăugați opțiunea de linie de comandă **--project PROJECT_ID**. Specificați același proiect pe care îl utilizați cu Ansible. Poate ați adăugat rolurile corecte pentru proiectul greșit.
drapel cn
Adăugarea `--project PROJECT_ID` și înlocuirea numelui aceluiași proiect pe care l-am configurat în ansible arată aceeași ieșire. Încep să cred că rolurile sunt stocate în cache cumva.
John Hanley avatar
drapel cn
Rolurile nu sunt stocate în cache local. În Google Cloud, acestea sunt distribuite la nivel global. Creați un nou cont de serviciu și încercați din nou. Ceva simplu este trecut cu vederea.
John Hanley avatar
drapel cn
Este găleata în același proiect? Numele găleții scris greșit?
Priyashree Bhadra avatar
drapel in
Problema ta este rezolvată @MarkusTenghamn?
drapel cn
@PriyashreeBhadra nu, nu am rezolvat niciodată această problemă. A trebuit să fac acest lucru manual, deoarece încă nu pot folosi un cont de serviciu.
drapel cn
@JohnHanley Îmi pare rău că nu vă răspund, încerc să creez o găleată, așa că nu ar trebui să fie o problemă, dar trebuie să verific dacă contul de serviciu este în proiectul potrivit și că este, de asemenea, proiectul pentru care rulez.
Priyashree Bhadra avatar
drapel in
Puteți verifica dacă numele compartimentului pe care încercați să îl creați există deja? Puteți verifica acest lucru în Google Cloud Console > Cloud Storage și introduceți numele compartimentului. Dacă arată o eroare, cred că problema a fost că încercați să creați/actualizați o grupă deținută de un alt utilizator care aparține unui alt proiect pentru care contul dvs. de serviciu nu are putere. Prin urmare, încercați să redistribuiți schimbând numele care probabil este unul unic.
Priyashree Bhadra avatar
drapel in
Aceasta poate fi o problemă într-un anumit scenariu, deoarece fie alegeți un nume foarte lung, fie nu este unic. Urmați aceste [orientări](https://cloud.google.com/storage/docs/naming-buckets) dacă aceasta este problema.
Puncte:0
drapel ye

Înțeleg că unii membri ai comunității ți-au oferit câteva soluții pentru a-ți rezolva problema, dar se pare că niciuna dintre ele nu a fost utilă pentru problema ta.De asemenea, înțeleg că utilizați GCP pentru a crea contul de serviciu și a atribui rolurile.

Poate că puteți încerca să creați contul de serviciu și rolurile pentru contul de serviciu din ansible și să verificați dacă funcționează.

Puteți crea contul de serviciu folosind acest plugin google.cloud.gcp_iam_service_account â creează un cont de serviciu GCP

Exemplu:

- nume: creați un cont de serviciu
  google.cloud.gcp_iam_service_account:
    nume: sa-{{ resource_name.split("-")[-1] }}@graphite-playground.google.com.iam.gserviceaccount.com
    display_name: Cheia mea de testare Ansible
    proiect: proiect_test
    auth_kind: serviceaccount
    service_account_file: „/tmp/auth.pem”
    stare: prezent

Și puteți atribui rolurile folosind pluginul google.cloud.gcp_iam_role â creează un rol GCP

Exemplu:

- nume: creați un rol
  google.cloud.gcp_iam_role:
    nume: myCustomRole2
    titlu: Rolul meu personalizat
    descriere: descrierea rolului meu personalizat
    permisiuni_incluse:
    - iam.roles.list
    - iam.roles.create
    - iam.roles.delete
    proiect: proiect_test
    auth_kind: serviceaccount
    service_account_file: „/tmp/auth.pem”
    stare: prezent

Amintiți-vă că aceste pluginuri fac parte din colecția google.cloud, care ar trebui să fie instalat dacă utilizați pachetul ansible.

drapel us
@Markus Tengham v-a ajutat acest răspuns?, dacă este așa, ați putea să îl votați în favoare sau să îl marcați ca acceptat pentru a ajuta comunitatea? 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.