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

Add oauth-m2m-gcp auth type for GCP access token passthrough#1815
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant