1
votes

The documentation says:

Secure Data Sharing enables sharing selected objects in a database in your account with other Snowflake accounts. The following Snowflake database objects can be shared:

  • Tables

  • External tables

  • Secure views

  • Secure materialized views

  • Secure UDFs

It specifically talks about secure views. Does this mean that views cannot be shared. If yes, any reason why it is not supported?

Also, is it possible to share any object through database replication?

1
As Mike points out, you need to specify secure versions of those objects. The good news is you can change them from regular to secure object very easily. For example, to change a regular view to a secure view, execute ALTER VIEW MY_VIEW SET SECURE;Greg Pavlik

1 Answers

1
votes

As noted, only secure views or secure materialized views can be shared. You may notice that all objects must be secure, except for tables. This is obviously for security reasons...it is called SECURE data sharing, after all. Is there a concern about creating a secure view instead of a standard view for the purposes of data sharing?

As far as replication, you can replicate objects contained within a database to another account. The downside of this over data sharing is that you are actually replicating data (storage costs), using compute to replicate (compute costs), and possibly data egress if you are replicating to a different region or platform. In addition, data sharing allows for immediate data changes to be seen through the share, while data replication will have some latency based on how often replication is set for.

If you are in the same region/deployment as the account you wish to share data, I'd highly recommend either sharing tables or creating secure views to share with the other account.