Last tested: Jun 26, 2020
BigQuery customers have the option of using OAuth for BigQuery connections. (The other option is service accounts). These connections are "directly integrated" with GCP Identity and Access Management (IAM). This provides user-level authentication (OAuth) and authorization (IAM). Every query is run as if that user was running the same SQL when directly logged in to the BQ console.
Key features and constraints of OAuth + IAM
- Using OAuth as the authentication mechanism ensures that IAM permissions are enforced per user.
- Every query is run as if that user was running the same SQL after they logged in to the BQ console.
- Examples of per-user security controls include:
- Only having access to the correct datasets
- Only having access to the correct authorized views
- Applying row level controls implemented using authorized views
- Per-user caches are available
- Per-user BQ resource limits are available
- PDTs and shared caches are disabled under per-user authentication
Updated: PDTs are now supported with BQ OAuth with version 22.14