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': 'ansible@staging-environment.iam.gserviceaccount.com nu are stocare .buckets.get acces la compartimentul Google Cloud Storage.', 'errors': [{'message': 'ansible@staging-environment.iam.gserviceaccount.com 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:ansible@staging-environment.iam. 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?