Hi everyone , is it possible to connect snowflake ...
# announcements
a
Hi everyone , is it possible to connect snowflake airbyte destination with snowflake custom auth? such as Okta?, My snowflake instance is within okta authentication , and the current connection destination in airbyte does not include the auth field (it currently has the fields host, role, warehouse , etc, but not the authenticator)
s
@Arturo Rangel which auth method are you referring to? is it this one: https://docs.snowflake.com/en/user-guide/admin-security-fed-auth-configure-snowflake.html
a
Thank you Shrif, yes it is the Okta SSO, for example: in python I created this connection which requires these parameters :
Copy code
snowflake.connector.connect(
        user = os.environ["SNOW_USER"],
        account = os.environ["SNOW_ACCOUNT"],
        warehouse = os.environ["SNOW_WAREHOUSE"],
        database = os.environ["SNOW_DB"],
        schema = os.environ["SNOW_SCHEMA"],
        role = os.environ["SNOW_ROLE"],
        authenticator = os.environ["SNOW_AUTH"],
        password = os.environ["SNOW_AUTH_PWD"],
    )
which is pretty much what airbyte has but we need the authenticator field, which is an URL from my okta instance
s
And does this perform an oauth flow of some sort or is this basically another “password” field or configuration? If the latter then this should be super trivial to do
a
yes, that perform an oauth flow , I’ll try to add it in the java connector from airbyte anyways
s
just to make sure I understand: is the
authenticator
field just data that should be passed to snowflake, or is it something that should cause different functionality in the UI for example: redirects the user to okta to perform authorization, then redirects them back to airbyte?
a
correct it is just data that it just need to be passed to snowflake , just like “host”, “warehouse”, “user”, “password”, etc
it is a string field
s
ah okay, then it should be fairly straightforward to do!
a
there is a java file located in airbyte/airbyte-integrations/connectors/destination-snowflake/src/main/java/io/airbyte/integrations/destination/snowflake
the file name is : SnowflakeDatabase.java
looks like it is getting all the information typed by the user in the airbbyte UI
in this part you should add the
authenticator
parameter to be passed to the connection, but not sure if that name (authenticator) is the same in java language . In python is
authenticator
a
thank you so much Shrif