GoogleCloudPlatform / GoogleCloudPlatform/pubsec-declarative-toolkit
Regression: The networking-sa service account used by the hub-env requires the role roles/resourcemanager.organizationAdmin
- Dominant language
- Shell
- Stars
- 36
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
Part of #446
spawned https://github.com/GoogleCloudPlatform/pubsec-declarative-toolkit/issues/602
```
moving on to remaining dependencies
ichael@cloudshell:~/kcc-oi/kpt (kcc-oi-3552)$ kubectl get gcp -n networking | grep False
computedisk.compute.cnrm.cloud.google.com/hub-mgmt-data-disk 24m False UpdateFailed 24m
computeinstance.compute.cnrm.cloud.google.com/hub-fgt-primary-instance 155m False DependencyNotFound 155m
computeinstance.compute.cnrm.cloud.google.com/hub-fgt-secondary-instance 155m False DependencyNotFound 155m
iampolicymember.iam.cnrm.cloud.google.com/fortigatesdn-sa-fortigatesdnviewer-role-permissions 155m False UpdateFailed 155m
michael@cloudshell:~/kcc-oi/kpt (kcc-oi-3552)$ kubectl describe iampolicymember.iam.cnrm.cloud.google.com/fortigatesdn-sa-fortigatesdnviewer-role-permissions -n networking
Message: Update call failed: error fetching live state for resource: error reading underlying resource: summary: Error when reading or editing Resource "organization \"459065442144\"" with IAM Member: Role "organizations/459065442144/roles/FortigateSdnViewer" Member "serviceAccount:fortigatesdn-sa@xxdmu-admin1-hub-oi11.iam.gserviceaccount.com": Error retrieving IAM policy for organization "459065442144": googleapi: Error 403: The caller does not have permission, forbidden
it needs the same as in core-landing-zone
gcloud organizations add-iam-policy-binding "${ORG_ID}" --member="serviceAccount:${SA_EMAIL}" --role=roles/iam.organizationRoleAdmin --condition=None --quiet > /dev/null 1>&1
michael@cloudshell:~/kcc-oi/kpt (kcc-oi-3552)$ gcloud organizations add-iam-policy-binding "${ORG_ID}" --member="serviceAccount:${SA_EMAIL}" --role=roles/iam.organizationRoleAdmin --condition=None --quiet > /dev/null 1>&1
Updated IAM policy for organization [459065442144].
```
before
after
```
update not picking up - trying delete
michael@cloudshell:~/kcc-oi/kpt (kcc-oi-3552)$ kubectl delete iampolicymember.iam.cnrm.cloud.google.com/fortigatesdn-sa-fortigatesdnviewer-role-permissions -n networking
iampolicymember.iam.cnrm.cloud.google.com "fortigatesdn-sa-fortigatesdnviewer-role-permissions" deleted
not yet
reconcile phase started
computedisk.compute.cnrm.cloud.google.com/hub-mgmt-data-disk reconcile pending
computeinstance.compute.cnrm.cloud.google.com/hub-fgt-primary-instance reconcile pending
computeinstance.compute.cnrm.cloud.google.com/hub-fgt-secondary-instance reconcile pending
iampolicymember.iam.cnrm.cloud.google.com/fortigatesdn-sa-fortigatesdnviewer-role-permissions reconcile pending
iampolicymember.iam.cnrm.cloud.google.com/hub-admin-serviceaccountuser-permissions reconcile successful
iamserviceaccount.iam.cnrm.cloud.google.com/hub-fortigatesdn-sa reconcile successful
iamserviceaccount.iam.cnrm.cloud.google.com/hub-managementvm-sa reconcile successful
project.resourcemanager.cnrm.cloud.google.com/xxdmu-admin1-hub-oi11 reconcile successful
iampolicymember.iam.cnrm.cloud.google.com/fortigatesdn-sa-fortigatesdnviewer-role-permissions reconcile failed
brute force -add owner but first try Organization Administrator (for policy creation) like the core-landing-zone package
gcloud organizations add-iam-policy-binding "${ORG_ID}" --member="serviceAccount:${SA_EMAIL}" --role=roles/resourcemanager.organizationAdmin --condition=None --quiet > /dev/null 1>&1
michael@cloudshell:~/kcc-oi/kpt (kcc-oi-3552)$ gcloud organizations add-iam-policy-binding "${ORG_ID}" --member="serviceAccount:${SA_EMAIL}" --role=roles/resourcemanager.organizationAdmin --condition=None --quiet > /dev/null 1>&1
Updated IAM policy for organization [459065442144].
be patient took 5 min
Warning UpdateFailed 3m36s (x7 over 5m48s) iampolicymember-controller Update call failed: error setting policy member: error applying changes: summary: Error applying IAM policy for organization "459065442144": Error setting IAM policy for organization "459065442144": googleapi: Error 403: The caller does not have permission, forbidden
Normal UpToDate 90s iampolicymember-controller The resource is up to date
Warning UpdateFailed 3m36s (x7 over 5m48s) iampolicymember-controller Update call failed: error setting policy member: error applying changes: summary: Error applying IAM policy for organization "459065442144": Error setting IAM policy for organization "459065442144": googleapi: Error 403: The caller does not have permission, forbidden
Normal UpToDate 90s iampolicymember-controller The resource is up to date
specifically
iampolicymember.iam.cnrm.cloud.google.com/fortigatesdn-sa-fortigatesdnviewer-role-permissions 6m31s True UpToDate 2m12s
```
full network-sa service account roles
```
Access Context Manager Admin
Compute Shared VPC Admin
MISSING...
Organization Administrator
Service Account Admin
optional
Organization Role Administrator
```
Contributor guide
Assessment
This issue has not been assessed yet.