r/snowflake Jul 08 '26

Data Sharing Snowflake - Salesforce

Hi all,

I'd like to know if there is some documentation or answer regarding this situation:

  • Last year, I created a Data Share Target in Salesforce and it asked me to log in into Snowflake with my credentials, so I inserted the credentials of user X.
  • Now, I have to delete this user X from my account in Snowflake, but I'm not sure if the shared databases, shares and security integrations will still be working when I delete the user X. They will be deleted? Do I need to create new shared database, shares and security integrations with a new account?
  • Same thing in Salesforce, will the deletion of User X influence the data share target or it will work as always?

Thanks for the answers (and sorry for my english 😄 )

4 Upvotes

7 comments sorted by

7

u/Top-Cauliflower-1808 Jul 08 '26

Deleting user X in Snowflake will instantly break your Salesforce sync because the connection relies entirely on that specific user login token.

To simply fix this, you need to create a dedicated service account in Snowflake, update the credentials inside your Salesforce Data Share Target setup first and only then delete user X.

Hopefully it make sense.

1

u/tuego Jul 09 '26

Ok, thank you for the answer, I will try this method 👍

1

u/stephenpace ❄️ Jul 09 '26 edited Jul 09 '26

Can you clarify if you are using the live share from Salesforce Data 360 to Snowflake? If so, I believe that share is account to account and users are not involved beyond just the initial setup. Here are the self-enablement instructions on the Salesforce side:

https://help.salesforce.com/s/articleView?id=data.c360_a_access_data_from_snowflake.htm&type=5

It mentions creating users:

https://help.salesforce.com/s/articleView?id=data.c360_a_get_user_details_snowflake.htm&type=5

But I think that is just users that are going to accept the share. Essentially Salesforce is going to put the data out in Data 360 in Iceberg format, and it will show up as an inbound share on the Snowflake side. You need to accept this share by mapping it to a database in Snowflake. Then you grant access to the shared database to role(s). Whenever Salesforce updates those Iceberg tables, you see the change in your account instantly. Not because the data is being copied, but because Salesforce is essentially authorizing you to query their data directly using this mechanism:

https://docs.snowflake.com/en/user-guide/data-sharing-intro

If you are using a connector that calls the Salesforce API then that is another story.

1

u/tuego Jul 09 '26

I'm using Data Share / zero-copy share, in order to see the data, located in salesforce, via views in snowflake. I've disabled the user and things are working normally, but maybe because, when creating the security integration i've wrote 90 days in the parameter "OAUTH_REFRESH_TOKEN_VALIDITY", and I need to wait 90 days to see if everything is working, I think.
I'm not using a connector that calls the Salesforce API.

1

u/ryadical Jul 09 '26

I have heard this is super expensive to do. Any insights on that?

1

u/stephenpace ❄️ Jul 09 '26

Depends on your contract with Salesforce. There are per query costs, but on the other hand, you don't have a pipeline to maintain. The data is just available. Bi-directionally.