About Declarative Sharing in the Native Application Framework¶
About Declarative Sharing¶
Declarative Sharing in the Snowflake Native App Framework enables providers to share and sell data products, and to enhance those apps by including notebooks that help Snowflake consumers visualize and explore the data.
Declarative Sharing introduces a simplified creation experience, similar to setting up Secured Data Shares, making it easier to get started quickly.
The Declarative Native Apps development experience provides the following features:
A declarative sharing model that allows you to define shared objects using a simple text-based YAML file.
Streamlined testing, so developers can work directly with the content in a live environment.
Automatic versioning and updates of the app.
Capabilities to prepare multiple views of data, including filtered data views, that are optimized for different consumer types.
Capabilities to protect sensitive data by categorizing data into application roles. Consumers can delegate these app roles to teams, so that team members only see data that’s relevant to their work.
Runs in the consumer account, allowing the customer to manage their resource usage and costs.
Security¶
Declarative Native Apps have a similar security model to secure data sharing:
Apps only have access to the data included in the app.
Apps can’t access the consumer’s private data.
Apps aren’t allowed to make external calls or to access data outside of the Snowflake account.
Data product types¶
Choosing the right data product for your organization is determined by your business needs. Do you want to get started quickly? Do you need an app with advanced features? The following table lists the available Snowflake data products and provides their typical use cases. An overview of Snowflake data products.
Data product |
Description |
Best for |
---|---|---|
Secure Data Sharing |
Traditional read-only sharing of tables and views. |
Organizations beginning data monetization or with simple sharing needs. |
Declarative Native Apps |
Enhanced sharing with notebooks, role-based access control (RBAC), and declarative configuration. |
Data providers ready to add value through guided experiences and documentation |
Full Native Apps |
Apps running fully inside of a consumer account with complex business logic and interfaces. |
Organizations building complex data products with advanced capabilities. |
Choosing a data product¶
Before choosing a data product, consider the following:
Data product |
Description |
Provider Builds |
Security and Functionality Balance |
Best provider use cases |
---|---|---|---|---|
Secure Data Sharing |
Traditional read-only sharing of tables and views
|
SQL grants for tables, views |
|
|
Declarative Native App |
Enhanced sharing
|
Application package |
|
|
Full Native Apps |
Apps running fully inside the Snowflake customer’s account with complex business logic and interfaces
|
Application package, services (in Containers) |
|
|
Declarative Native Apps resources¶
In the following topics, you’ll find information you need to get started with Declarative Native Apps.
- Introduction to Declarative Sharing in the Native Application Framework
- Application Packages in Declarative Sharing in the Native Application Framework
- Editing Notebooks in Declarative Shared Native Applications
- Creating a Listing using Declarative Sharing
- Monitoring Usage with Declarative Sharing in the Native Application Framework
- Package Versions in Declarative Sharing in the Native Application Framework
- Versioning Application Packages in Declarative Sharing
- Tutorial: Getting started with Declarative Native Apps
- Declarative Native App command reference
- Application roles: Allow consumers to share different views of the same data
- Declarative Native App manifest reference
- Install a Declarative Native App
- Access content in a Declarative Native App
- Declarative App Consumer-Side Execution Model
- Declarative Sharing in Native Apps: Limitations