dbt-labs / dbt-snowflake

dbt-snowflake contains all of the code enabling dbt to work with Snowflake
https://getdbt.com
Apache License 2.0
297 stars 177 forks source link

[ENTERPRISE-1418] Add support for plain JWT authentication #1078

Closed llam15 closed 5 months ago

llam15 commented 5 months ago

resolves #1079 resolves #726 ~docs dbt-labs/docs.getdbt.com/#~

Problem

Solution

Checklist

Manual Testing

Spun up a dbt project and validated that dbt run, dbt test, and dbt build pass with the following profile:

dbt_snowflake_test:
  target: dev
  outputs:
    dev:
      type: snowflake
      account: cmvgrnf-dbt_infra_sandbox

      authenticator: jwt
      token: <REDACTED. Token obtained from an OAuth Flow with Okta, and Snowflake is configured to accept this token>

      role: external_oauth_testing
      database: llam_dbt_snowflake_testing
      warehouse: llam_dbt_snowflake_testing_wh
      schema: raw
      threads: 4
      client_session_keep_alive: False

      # optional
      connect_retries: 0 # default 0
      connect_timeout: 10 # default: 10
      retry_on_database_errors: False # default: false
      retry_all: False  # default: false
      reuse_connections: False # default: false

https://github.com/dbt-labs/dbt-snowflake/assets/10479740/99ef2eb2-70cf-4f41-979f-a2885f557b77

https://github.com/dbt-labs/dbt-snowflake/assets/10479740/7e0c3763-ee44-481c-92b3-d456bcd2089b

github-actions[bot] commented 5 months ago

Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see the dbt-snowflake contributing guide.

nm0s commented 5 months ago

LGTM, but I'll let someone from the adapters team give the approval