I am trying to create a database connection in ArcGIS Pro to Snowflake using SSO. I have successfully created an OLE DB connection to view my tables, but I'm unable to view their spatial component.
The solution would be to create a database connection and then a query layer, but within the settings to create a db connection under 'Authentication Type' it is only possible to select 'User' - which requires a username and login (not possible via SSO).
This is confirmed on Esri's help page - "Only user authentication is supported when you connect to Snowflake from ArcGIS."
Is there a possible workaround to accessing my snowflake data through the database connection option? If not, how can I view the spatial component of my tables that have geography fields?
Info: ArcGIS Pro (v3.0), Enterprise (10.9.1)
Solved! Go to Solution.
Hi @SBark_CBRE . Please test connecting with the following information for us to determine if works at your end.
-for ‘Server’, provide the name without https://
eg. my_account.snowflakecomputing.com
-for ‘User Name’ and ‘Password’, provide your account and a password
eg. testuser@myorganization.com
-for the ‘Advanced Options’, use authenticator=externalbrowser without quotes (typo in the earlier response)
Keep the browser opened after establishing the connection
Hi @SBark_CBRE . We’ll work on enhancing the user experience when connecting via other authentication types. However, you can connect by adding the authenticator to the ‘Advanced Options’ field.
Review step 10 from the following link:
https://pro.arcgis.com/en/pro-app/latest/help/data/databases/connect-snowflake.htm
Hence, for a native SSO (OKTA only) connection, you can provide your username and password, and include the authenticator in the ‘Advanced Options”
eg.
authenticator= https://<okta_account_name>.okta.com
For a browser based SSO connection, provide the authenticator as
authenticator='externalbrowser'
More information here:
https://docs.snowflake.com/en/user-guide/admin-security-fed-auth-use.html
Thanks @NanaDei for the quick response. I have followed the browser based SSO connection instructions and ensured the advanced options read authenticator='externalbrowser'. I am still facing some errors however, namely "Underlying DBMS error [Snowflake] ... CURLerror (curl_easy_perform() failed) - code=6 msg='Couldn't resolve host name'."
This (I believe) narrows it down to the server url, which in the Windows ODBC administrator I'm only successful connecting when dropping the https:// from my snowflake server url. Contrastingly in ArcGIS Pro's database connection, I get an immediate error without the https:// and when I add it in, it spends a minute trying to connect before the above error (which is the furthest along the process I have got). This feels like they need to be aligned but I am slightly lost as to why this is happening.
Further to the above, would you mind clarifying whether or not I need to insert my username and password on the Database Connection page (in Pro), or leave it blank and await the browser based SSO to use my details? I presumed leave it blank but without any information, the 'OK' button is greyed out so I cannot progress.
Hi @SBark_CBRE . Please test connecting with the following information for us to determine if works at your end.
-for ‘Server’, provide the name without https://
eg. my_account.snowflakecomputing.com
-for ‘User Name’ and ‘Password’, provide your account and a password
eg. testuser@myorganization.com
-for the ‘Advanced Options’, use authenticator=externalbrowser without quotes (typo in the earlier response)
Keep the browser opened after establishing the connection
@NanaDei - amazing, that worked! Thanks so much
@NanaDei are there plans to support key based authentication?
Yes, we plan to extend support for additional authentication types including key pair.
@NanaDei do you have an estimate timeline on this?
Unfortunately, we don’t have an estimated timeline at the moment. I’ll reach out to learn more about your current use of Snowflake with ArcGIS and the authentication methods being used.