Skip to content

Add oauth-m2m-gcp auth type for GCP access token passthrough - #1815

Open
xiaoyi-db wants to merge 1 commit into
databricks:mainfrom
xiaoyi-db:oauth-m2m-gcp-passthrough
Open

xiaoyi-db wants to merge 1 commit into
databricks:mainfrom
xiaoyi-db:oauth-m2m-gcp-passthrough

Conversation

@xiaoyi-db

Copy link
Copy Markdown

Authenticates the request identity with a Databricks OAuth service principal (Authorization header) and passes a Google Cloud access token through the X-Databricks-GCP-SA-Access-Token header, so GCP account-level provisioning APIs (e.g. workspace / VPC-endpoint / customer-managed-key creation) can be called with a Databricks-governed identity when SSO is enabled and Google ID token auth is disabled.

Reuses the existing serviceToServiceVisitor: the Databricks OAuth token (extracted into databricksOAuthTokenSource) is the primary, and a Google cloud-platform access token (from google_credentials or google_service_account) is the secondary. Selected explicitly via AuthType "oauth-m2m-gcp", since it combines the oauth and google credential groups that the single-auth-method check otherwise rejects.

Co-authored-by: Isaac

Summary

Why

What changed

Interface changes

Behavioral changes

Internal changes

How is this tested?

Authenticates the request identity with a Databricks OAuth service
principal (Authorization header) and passes a Google Cloud access token
through the X-Databricks-GCP-SA-Access-Token header, so GCP account-level
provisioning APIs (e.g. workspace / VPC-endpoint / customer-managed-key
creation) can be called with a Databricks-governed identity when SSO is
enabled and Google ID token auth is disabled.

Reuses the existing serviceToServiceVisitor: the Databricks OAuth token
(extracted into databricksOAuthTokenSource) is the primary, and a Google
cloud-platform access token (from google_credentials or
google_service_account) is the secondary. Selected explicitly via
AuthType "oauth-m2m-gcp", since it combines the oauth and google
credential groups that the single-auth-method check otherwise rejects.

Co-authored-by: Isaac
@github-actions

Copy link
Copy Markdown

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/sdk-go

Inputs:

  • PR number: 1815
  • Commit SHA: 67ad1ad3412931327bc26b3d5778170a04036b66

Checks will be approved automatically on success.

@github-actions

Copy link
Copy Markdown

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 15 days if no further activity occurs. If this PR is still relevant, please leave a comment or push new changes to keep it open. Thank you for your contributions.

@github-actions github-actions Bot added the stale The PR has been marked as "stale" and will automatically be closed if no further activity. label Sep 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stale The PR has been marked as "stale" and will automatically be closed if no further activity.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant