Skip to main content

What this check does

Checks IAM policies for admin roles on SAs. Passes when: No service account has Owner or admin roles.

Why this matters

Least privilege for service accounts.

How to fix

Remove admin roles from service accounts
  1. Sign in to the Google Cloud Console and navigate to IAM & Admin → IAM.
  2. On the View by principals tab, open the filter and set Type: Service account so only service accounts are listed.
  3. Scan the Role column for any service account holding Owner (roles/owner), Editor (roles/editor), or a role ending in Admin.
  4. Click the pencil (Edit principal) icon on that row, then click the trash icon next to the admin role to remove the binding.
  5. Click Add another role and grant the narrowest predefined role the workload actually needs — for example Storage Object Viewer instead of Storage Admin — then click Save.
  6. Repeat for every service account that still carries an admin-level role.
Once resolved, DSALTA records a 200 (compliant) result on this test’s Source Data tab at the next scheduled run.

Frequently asked questions

Once a day, at 02:00 America/New_York, while the integration is connected. A run is skipped entirely if the integration is not in a connected state, or if the test has been deactivated.To see a fix reflected sooner, open the test from Data Library → Tests and click Run in the Run Test row. You need Full Access to run a test on demand.
The Status column answers “did the check run?”, not “did I pass”. Completed means DSALTA reached your system and finished evaluating — a check that ran and found a problem is still Completed.To see what it found, open the test and read the result code on the Source Data tab. 200 means nothing to fix; 204 means the check did not apply to your environment; 207 means it ran and found a compliance gap you need to act on. See Understanding test results.
Usually not. On an integration-powered check, Failed means DSALTA was blocked and could not evaluate it — result code 403 (a missing permission) or 428 (a setting DSALTA still needs from you). Code 500 means the run failed on DSALTA’s side.A genuine compliance gap does not turn the list red — it runs to completion and shows 207.
Deactivate it: open the test from Data Library → Tests, then use the menu at the top right of the panel and choose Deactivate Test. It applies immediately, with no confirmation step.Write your justification in the Comments tab before you deactivate. Once deactivated, every other tab is grayed out, so Comments is the only place an auditor can read why — see Test detail.
No. DSALTA only reads. It never creates, modifies, or deletes resources, and every remediation step is performed by your team directly in the third-party product.