Azure Data Share
/Azure Data Share is a fully managed service that enables organisations to share data across tenants (B2B), simply and securely. Data can be consumed as needed by triggering a full copy or incremental update. Alternatively, data can be received automatically at a regular interval, as defined by the data provider.
Create data sharing relationships via an intuitive UI without needing to write a single line of code.
Monitor, track, and manage all your data sharing relationships under a single pane of glass.
Share data under specific terms of use, with the ability to revoke access at any time.
Concepts
Azure Data Share Account
An Azure Data Share account is the top-level resource within Azure that is needed to use the underlying Azure Data Share service - create shares, add datasets, invite recipients, etc. This resource will need to be provisioned by both the data provider and the data consumer.
Data Provider
A data provider is a user of the Azure Data Share service who would like to share data with one or more recipients.
Data Consumer
A data consumer is a user of the Azure Data Share service who has accepted an invitation to subscribe to a data share.
Data Share
A data share is the collection of one or more datasets, shared as a single entity.
There are two types of data shares:
Sent Share: Data shares that have been created by data providers.
Received Share: Data shares that have been accepted by data consumers.
Snapshot Setting
A data provider can configure a data share with a snapshot setting. This allows incremental updates to be received on a regular schedule, either daily or hourly. Once configured, the data consumer has the option to enable the schedule.
Snapshot - Full Copy or Incremental
Regardless of whether a snapshot setting is configured or not, the data consumer has the ability to trigger a snapshot of the data on demand.
There are two types of snapshots:
Full Copy: A full snapshot of all the data within the data share.
Incremental: A snapshot of all data that has been added/modified since the last snapshot was triggered.
Invitation
As part of the data share creation process, a data provider can add one or more recipients by listing their Azure login email address. Once shared, these users will receive an invitation via email to review the data share (Share Name, Company, Description, Terms of Use, etc.) with the option to accept.
Share Subscription
Once a data consumer accepts an Azure Data Share invitation, a subscription is created. This subscription is visible to the data consumer under “Received Shares”, and visible to the data provider under “Sent Shares” and selecting “Share Subscriptions”.
Supported Data Stores by Share Type
List below of Azure data stores that are currently supported by Azure Data Share split by share type. For an up to date view, see What data stores are supported in Azure Data Share?
There are two methods of sharing data:
Snapshot: Choose snapshot sharing to provide copy of the data to the recipient.
In-Place: Choose in-place sharing to provide access to data at its source.
Data Store | Snapshot | In-Place |
---|---|---|
Azure Blob Storage | Y | |
Azure Data Lake Storage Gen1 | Y | |
Azure Data Lake Storage Gen2 | Y | |
Azure SQL Database | Y | |
Azure Synapse Analytics | Y | |
Azure Data Explorer | Y |
Data Store Support Matrix
Azure Data Share offers data consumers the flexibility as to which data store they would like data to be landed into. For example, a data provider may share data from Azure SQL Database, but the data consumer may want to receive that data in Azure Data Lake Storage. For an up to date view, see Data store support matrix.
Blob Storage | ADLS Gen 1 | ADLS Gen 2 | Azure SQL DB | Synapse Analytics | |
---|---|---|---|---|---|
Azure Blob Storage | Y | Y | |||
Azure Data Lake Storage Gen1 | Y | Y | |||
Azure Data Lake Storage Gen2 | Y | Y | |||
Azure SQL Database | Y | Y | Y | Y | |
Azure Synapse Analytics | Y | Y | Y | Y |
Role Assignment Matrix
Azure Data Share facilitates the sharing of data without the need to exchange credentials by leveraging a feature of Azure Active Directory called Managed Identities. Through the data sharing process, the Azure Data Share resource is granted the appropriate level of access to read and write data for snapshot-based sharing and to establish a symbolic link for in-place sharing. Note: Role assignments are done automatically by the Azure Data Share service when a data provider adds a dataset or a data consumer specifies a target data store. For an up to date view, see Roles and requirements.
Data Store Type | Data Provider Source Data Store | Data Consumer Target Data Store |
---|---|---|
Azure Blob Storage | Storage Blob Data Reader | Storage Blob Data Contributor |
Azure Data Lake Gen1 | Owner | Not Supported |
Azure Data Lake Gen2 | Storage Blob Data Reader | Storage Blob Data Contributor |
Azure SQL Server | SQL DB Contributor | SQL DB Contributor |
Azure Data Explorer | Contributor | Contributor |
SQL-based sharing requires a SQL user with the appropriate level of permissions to be created from an external provider in the SQL database with the same name as the Azure Data Share resource.
SQL Database Type | Data Provider SQL User | Data Consumer SQL User |
---|---|---|
Azure SQL Database | db_datareader | db_datareader, db_datawriter, db_ddladmin |
Azure Synapse Analytics | db_datareader | db_datareader, db_datawriter, db_ddladmin |
Azure Data Share ERD
The diagram below illustrates the relationships between the various conceptual entities. Attributes of each components is documented along with action buttons that are visible when navigating the UI.
Azure Data Share Lab
Available on GitHub. No previous experience with Azure Data Share required. Walk through the instructions to understand the service from both the data provider and data consumers point of view. Learn how to facilitate the data sharing process between two fictional organizations (Contoso and Wingtip Toys) by moving sales data between Azure Blob Storage accounts.
Lab 1 - Create a Sent Share
Lab 3 - Map Dataset to Target Data Store
Lab 4 - Configure a Snapshot Schedule
Lab 5 - Trigger a Snapshot
Resources
Overview
Azure Updates
[Aug 2019] Public Preview: Azure Data Share
[Oct 2019] Azure Data Share - Support for sharing data from Azure SQL and SQL Data Warehouse
[Nov 2019] Generally Available: Azure Data Share
Azure Friday (Video)
[Jul 2019] Share data simply and securely using Azure Data Share
[Nov 2019] How to share SQL tables and views using Azure Data Share
[Dec 2019] How to share data in place from Azure Data Explorer
Microsoft Ignite (Video)
[Jan 2020] Unparalleled ways that Microsoft makes data sharing flexible safe and astonishingly | THR3118
[Jan 2020] Share big data easily and securely with other organizations leveraging Azure Data | THR1083
[Jan 2020] Secure and simple B2B data sharing using Azure Data Share | BRK3094
Azure Data Share Blog (Microsoft Tech Community)
[Oct 2019] Welcome to the Azure Data Share blog! (@joannapod)
[Nov 2019] Azure Data Share is now in GA! (@joannapod)
[Dec 2019] Scale your data sharing needs with the power of Azure Data Share’s .NET SDK (@akshat_dave)
[Mar 2020] Share IoT and Log data in real time using Azure Data Share and Azure Data Explorer (@jiefeng)
Labs
MS Docs - Data integration using Azure Data Factory and Azure Data Share
GitHub - Share data from Azure Data Explorer using Azure Data Share (Preview)
GitHub - Limited Public Preview of SQL-based sharing with Azure Data Share
Other