Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ingest): Add additional snowflake auth #4009

Merged
merged 2 commits into from
Jan 30, 2022

Conversation

MikeSchlosser16
Copy link
Contributor

@MikeSchlosser16 MikeSchlosser16 commented Jan 29, 2022

Checklist

  • The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
  • Links to related issues (if applicable)
  • Tests for the changes have been added/updated (if applicable)
  • Docs related to the changes have been added/updated (if applicable)

Changes

We are using key pair / SSO external browser authorization to Snowflake. This PR adds support for those two authorization mechanisms. While SSO is likely not a long term strategy to ingest metadata I used it locally to test connectivity from my ingestion to Snowflake and to play with it locally. Happy to make any changes here as requested!

Relevant docs:

Below are some example recipes similar to what we are using internally,

Key Pair:

source:
  type: snowflake
  config:
    # Coordinates
    host_port: my_snowflake.east-us-2.azure
    warehouse: "my_warehouse"

    # Credentials
    username: [email protected]
    role: "MY_METADATA_ROLE"
    authentication_type: 'KEY_PAIR_AUTHENTICATOR'
    private_key_password: ${PRIVATE_KEY_PASSWORD}
    private_key_path:/secrets/snowflake-private-key.p8

sink:
  type: "datahub-rest"
  config:
    server: "http://localhost:8080"

SSO / External Browser based:

source:
  type: snowflake
  config:
    # Coordinates
    host_port: my_snowflake.east-us-2.azure
    warehouse: "my_warehouse"

    # Credentials
    username: [email protected]
    role: "MY_METADATA_ROLE"
    authentication_type: 'EXTERNAL_BROWSER_AUTHENTICATOR'

sink:
  type: "datahub-rest"
  config:
    server: "http://localhost:8080"

Related other PR that I closed since it was easier to clean up into this one - #3955

Add support for Snowflake auth via key pair and external browser
@github-actions
Copy link

Unit Test Results (build & test)

  66 files  ±0    66 suites  ±0   11m 6s ⏱️ +16s
579 tests ±0  519 ✔️ ±0  59 💤 ±0  0 ±0  1 🔥 ±0 

For more details on these errors, see this check.

Results for commit 512dfc2. ± Comparison against base commit 111d6d3.

@github-actions
Copy link

Unit Test Results (metadata ingestion)

       5 files         5 suites   36m 1s ⏱️
   277 tests    276 ✔️   0 💤 1
1 270 runs  1 239 ✔️ 30 💤 1

For more details on these failures, see this check.

Results for commit 512dfc2.

Copy link
Contributor

@shirshanka shirshanka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@shirshanka shirshanka merged commit c36662f into datahub-project:master Jan 30, 2022
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.

2 participants