1. Google Cloud Documentation
IAM
Basic roles: "The Viewer role (roles/viewer) provides permissions for read-only actions that don't modify state
such as viewing (but not modifying) existing resources or data." This directly supports the use of the Viewer role for an auditor. (See section: "Basic roles"
subsection: "Viewer").
2. Google Cloud Documentation
IAM
Understanding roles: "Basic roles include the Owner
Editor
and Viewer roles. You can use these roles to grant principals broad access to all Google Cloud resources... When possible
we recommend that you grant predefined roles instead of basic roles." However
for project-wide read access
the basic Viewer role is the intended and most direct solution. (See section: "Role types").
3. Google Cloud Documentation
IAM
Creating and managing custom roles: "IAM also offers custom roles. These roles let you grant a fine-grained set of permissions that you define... Create a custom role only if the predefined roles don't meet your needs." This confirms that predefined roles should be used first
making option C superior to A. (See section: "Before you begin").