Remediation
From Google Cloud Consoleβ
- Go to
IAM & admin/IAM
using https://console.cloud.google.com/iam-admin/iam - Under the
IAM
Tab look forVIEW BY PRINCIPALS
- Filter
PRINCIPALS
usingtype : Service account
- Look for the Service Account with the Principal nomenclature:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
- Identify
User-Managed user created
service account with roles containing*Admin
or*admin
or role matchingEditor
or role matchingOwner
underRole
Column. - Click on
Edit (Pencil Icon)
for the Service Account, it will open all the roles which are assigned to the Service Account. - Click the
Delete bin
icon to remove the role from the Principal (service account in this case)
From Google Cloud CLIβ
gcloud projects get-iam-policy PROJECT_ID --format json > iam.json
-
Using a text editor, Remove Role which contains roles/*Admin or roles/*admin or matched roles/editor or matches 'roles/owner`. Add a role to the bindings array that defines the group members and the role for those members.
For example, to grant the role roles/appengine.appViewer to the ServiceAccount which is roles/editor, you would change the example shown below as follows:
{
"bindings": [
{ "members": [ "serviceAccount:our-project-123@appspot.gserviceaccount.com", ], "role": "roles/appengine.appViewer" },
{ "members": [ "user:email1@gmail.com" ], "role": "roles/owner" },
{ "members": [ "serviceAccount:our-project-123@appspot.gserviceaccount.com", "serviceAccount:123456789012-compute@developer.gserviceaccount.com" ], "role": "roles/editor" }
],
"etag": "BwUjMhCsNvY="
} -
Update the project's IAM policy:
gcloud projects set-iam-policy PROJECT_ID iam.json