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.

 
azure_data_share_concept.png
 
 
azure_data_share_history.png
 

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_entities.png

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.

Azure Data Share Lab Overview

Resources

Overview

Azure Updates

Azure Friday (Video)

Microsoft Ignite (Video)

Azure Data Share Blog (Microsoft Tech Community)

Labs

Other