Skip to content

Commit a370211

Browse files
authored
Merge pull request #109369 from Kat-Campise/meta_security_articles
meta and security articles
2 parents ac32929 + e056d4e commit a370211

11 files changed

+108
-61
lines changed

articles/synapse-analytics/metadata/database.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ Azure Synapse Analytics allows the different computational workspace engines to
1919

2020
A database created with a Spark job will become visible with that same name to all current and future Spark pools (preview) in the workspace as well as the SQL on-demand engine.
2121

22-
If there are SQL pools in the workspace that have metadata synchronization enabled or if a new SQL pool is created with the metadata synchronization enabled, these Spark created databases are automatically mapped into special schemas in the SQL pool database.
22+
If there are SQL pools in the workspace that have metadata synchronization enabled, or if you create a new SQL pool with the metadata synchronization enabled, these Spark created databases are automatically mapped into special schemas in the SQL pool database.
2323

24-
Each such schema is named after the Spark database name with an additional `$` prefix. Both the external and managed tables in the Spark-generated database are exposed as external tables in the corresponding special schema.
24+
Each schema is named after the Spark database name with an additional `$` prefix. Both the external and managed tables in the Spark-generated database are exposed as external tables in the corresponding special schema.
2525

2626
The Spark default database, called `default`, will also be visible in the SQL on-demand context as a database called `default`, and in any of the SQL pool databases with metadata synchronization turned on as the schema `$default`.
2727

@@ -74,7 +74,7 @@ First create a new Spark database named `mytestdb` using a Spark cluster you hav
7474
spark.Sql("CREATE DATABASE mytestdb")
7575
```
7676

77-
This creates the Spark database. After a short delay, you can see the database from SQL on-demand. For example, run the following statement from SQL on-demand.
77+
After a short delay, you can see the database from SQL on-demand. For example, run the following statement from SQL on-demand.
7878

7979
```sql
8080
SELECT * FROM sys.databases;

articles/synapse-analytics/metadata/overview.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Azure Synapse Analytics shared metadata model
3-
description: Azure Synapse Analytics provides a shared metadata model where creating a database or table in Apache Spark will make it accessible from its SQL on-demand (preview) and SQL pool engines without duplicating the data or requiring user action.
3+
description: Azure Synapse Analytics allows the different workspace computational engines to share databases and tables between its Spark pools (preview), SQL on-demand engine (preview), and SQL pools.
44
services: synapse-analytics
55
author: MikeRys
66
ms.service: synapse-analytics
@@ -13,11 +13,11 @@ ms.reviewer: jrasnick
1313

1414
# Azure Synapse Analytics shared metadata
1515

16-
Azure Synapse Analytics allows the different computational engines of a workspace to share databases and tables between its Spark pools (preview), SQL on-demand engine (preview), and SQL pools.
16+
Azure Synapse Analytics allows the different workspace computational engines to share databases and tables between its Spark pools (preview), SQL on-demand engine (preview), and SQL pools.
1717

1818
[!INCLUDE [synapse-analytics-preview-terms](../../../includes/synapse-analytics-preview-terms.md)]
1919

20-
The sharing supports the so-called modern data warehouse pattern and gives the workspace SQL engines access to databases and tables created with Spark. It also allows the SQL engines to create their own objects that are not being shared with the other engines.
20+
The sharing supports the so-called modern data warehouse pattern and gives the workspace SQL engines access to databases and tables created with Spark. It also allows the SQL engines to create their own objects that aren't being shared with the other engines.
2121

2222
## Support the modern data warehouse
2323

@@ -35,19 +35,19 @@ The shared metadata model supports the modern data warehouse pattern in the foll
3535

3636
<!--__Figure 1 -__ Supporting the Modern Data Warehouse Pattern with shared metadata-->
3737

38-
The object synchronization occurs asynchronously. Objects will therefore have a slight delay of a few seconds until they appear in the SQL context. Once they appear, they can be queried, but not updated nor changed by the SQL engines that have access to them.
38+
Object synchronization occurs asynchronously. Objects will have a slight delay of a few seconds until they appear in the SQL context. Once they appear, they can be queried, but not updated nor changed by the SQL engines that have access to them.
3939

4040
## Which metadata objects are shared
4141

4242
[!INCLUDE [synapse-analytics-preview-features](../../../includes/synapse-analytics-preview-features.md)]
4343

44-
Spark allows you to create databases, external and managed tables as well as views. Since Spark views require a Spark engine to process the defining Spark SQL statement, and cannot be processed by a SQL engine, only databases and their contained external and managed tables that use the Parquet storage format are shared with the workspace SQL engines. Spark views are only shared among the Spark pool instances.
44+
Spark allows you to create databases, external tables, managed tables, and views. Since Spark views require a Spark engine to process the defining Spark SQL statement, and cannot be processed by a SQL engine, only databases and their contained external and managed tables that use the Parquet storage format are shared with the workspace SQL engines. Spark views are only shared among the Spark pool instances.
4545

4646
## Security model at a glance
4747

4848
[!INCLUDE [synapse-analytics-preview-features](../../../includes/synapse-analytics-preview-features.md)]
4949

50-
The Spark databases and tables, as well as their synchronized representations in the SQL engines are secured at the underlying storage level. When the table is queried by any of the engines that the query submitter has the right to use, the query submitter's security principal is being passed through, down to the underlying files, and permissions are checked at the file system level.
50+
The Spark databases and tables, along with their synchronized representations in the SQL engines, are secured at the underlying storage level. When the table is queried by any of the engines that the query submitter has the right to use, the query submitter's security principal is being passed through to the underlying files. Permissions are checked at the file system level.
5151

5252
For more information, see [Azure Synapse Analytics shared database](database.md).
5353

articles/synapse-analytics/metadata/table.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ Spark tables provide different data types than the Synapse SQL engines. The foll
8282
| `array` | `varchar(max)` | Serializes into JSON with collation `Latin1_General_CP1_CI_AS_UTF8` |
8383
| `map` | `varchar(max)` | Serializes into JSON with collation `Latin1_General_CP1_CI_AS_UTF8` |
8484
| `struct` | `varchar(max)` | Serializes into JSON with collation `Latin1_General_CP1_CI_AS_UTF8` |
85-
|---|---|---|
8685

8786
<!-- TODO: Add precision and scale to the types mentioned above -->
8887

articles/synapse-analytics/security/how-to-connect-to-workspace-with-private-links.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Connect to a Azure Synapse workspace using private links
2+
title: Connect to an Azure Synapse workspace using private links
33
description: This article will teach you how to connect to your Azure Synapse workspace using private links
44
author: RonyMSFT
55
ms.service: synapse-analytics
@@ -17,18 +17,25 @@ Select **Private endpoint connection** under **Security** and then select **+ Pr
1717
![Open Azure Synapse workspace in Azure portal](../media/security/private-endpoint-1.png)
1818

1919
## Step 2: Select your subscription and region details
20-
Under the **Basics** tab in the **Create a private endpoint** window, choose your **Subscription** and **Resource Group**. Give a **Name** to the private endpoint that you want to create. Select the **Region** where you want the private endpoint created. Private endpoints are created in a subnet. The subscription, resource group and region selected here filters the subnets that you can create the private endpoint in. Select **Next: Resource >** when done.
20+
Under the **Basics** tab in the **Create a private endpoint** window, choose your **Subscription** and **Resource Group**. Give a **Name** to the private endpoint that you want to create. Select the **Region** where you want the private endpoint created.
21+
22+
Private endpoints are created in a subnet. The subscription, resource group, and region selected filter the private endpoint subnets. Select **Next: Resource >** when done.
2123
![Select subscription and region details](../media/security/private-endpoint-2.png)
2224

2325

2426
## Step 3: Select your Azure Synapse workspace details
25-
Select **Connect to an Azure resource in my directory** in the **Resource** tab. Select the **Subscription** that contains your Azure Synapse workspace. The **Resource type** for creating private endpoints to an Azure Synapse workspace is *Microsoft.Synapse/workspaces*. Select your Azure Synapse workspace as the **Resource**. Every Azure Synapse workspace has three **Target sub-resource** that you can create a private endpoint to: Sql, SqlOnDemand, and Dev.
27+
Select **Connect to an Azure resource in my directory** in the **Resource** tab. Select the **Subscription** that contains your Azure Synapse workspace. The **Resource type** for creating private endpoints to an Azure Synapse workspace is *Microsoft.Synapse/workspaces*.
28+
29+
Select your Azure Synapse workspace as the **Resource**. Every Azure Synapse workspace has three **Target sub-resource** that you can create a private endpoint to: Sql, SqlOnDemand, and Dev.
2630

2731
Select **Next: Configuration>** to advance to the next part of the setup.
2832
![Select subscription and region details](../media/security/private-endpoint-3.png)
2933

3034

31-
In the **Configuration** tab, select the **Virtual network** and the **Subnet** in which the private endpoint should be created. You also need to create a DNS record that maps to the private endpoint. Select **Yes** for **Integrate with private DNS zone** to integrate your private endpoint with a private DNS zone. If you don't have a private DNS zone associated with your VNet, then a new private DNS zone is created. Select **Review + create** when done.
35+
In the **Configuration** tab, select the **Virtual network** and the **Subnet** in which the private endpoint should be created. You also need to create a DNS record that maps to the private endpoint.
36+
37+
38+
Select **Yes** for **Integrate with private DNS zone** to integrate your private endpoint with a private DNS zone. If you don't have a private DNS zone associated with your VNet, then a new private DNS zone is created. Select **Review + create** when done.
3239

3340
![Select subscription and region details](../media/security/private-endpoint-4.png)
3441

articles/synapse-analytics/security/how-to-create-managed-private-endpoints.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,13 @@ Select the data source type. In this case, the target data source is an ADLS gen
2727
![Select a target data source type](../media/security/managed-private-endpoint-3.png)
2828

2929
## Step 4: Enter information about the data source
30-
In the next window, enter information about the data source. In this example, we are creating a Managed private endpoint to an ADLS gen2 account. Enter a **Name** for the Managed private endpoint. Provide an **Azure subscription** and a **Storage account name**. Select **Create**.
30+
In the next window, enter information about the data source. In this example, we're creating a Managed private endpoint to an ADLS gen2 account. Enter a **Name** for the Managed private endpoint. Provide an **Azure subscription** and a **Storage account name**. Select **Create**.
3131
![Enter target data source details](../media/security/managed-private-endpoint-4.png)
3232

3333
## Step 5: Verify that your Managed private endpoint was successfully created
34-
After your request is submitted, you will see the status of your request. Verify that your Managed private endpoint was created successfully by checking its *Provisioning State*. You may need to wait 1 minute and select **Refresh** to update the provisioning state. You can see that the Managed private endpoint to the ADLS gen2 account was successfully created. You can also see that the *Approval State* is *Pending*. The owner of the target resource can approve or deny the private endpoint connection request. If the owner approves the private endpoint connection request then a private link is established. If denied, then a private link is not established.
34+
After submitting the request, you'll see its status. To verify the successful creation of your Managed private endpoint was created, check its *Provisioning State*. You may need to wait 1 minute and select **Refresh** to update the provisioning state. You can see that the Managed private endpoint to the ADLS gen2 account was successfully created.
35+
36+
You can also see that the *Approval State* is *Pending*. The owner of the target resource can approve or deny the private endpoint connection request. If the owner approves the private endpoint connection request, then a private link is established. If denied, then a private link isn't established.
3537
![Managed private endpoint creation request status](../media/security/managed-private-endpoint-5.png)
3638

3739

articles/synapse-analytics/security/how-to-grant-worspace-managed-identity-permissions.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,45 +12,45 @@ ms.reviewer: jrasnick
1212

1313
# Grant permissions to workspace managed identity (preview)
1414

15-
This article teaches you how to grant permissions to the managed identity in Azure synapse workspace to access SQL Pools in the workspace and ADLS gen2 storage account using Azure portal.
15+
This article teaches you how to grant permissions to the managed identity in Azure synapse workspace. Permissions, in turn, allow access to SQL pools in the workspace and ADLS gen2 storage account through the Azure portal.
1616

1717
>[!NOTE]
1818
>This workspace managed identity will be referred to as managed identity through the rest of this document.
1919
20-
## Grant the managed identity permissions to the SQL pools
21-
The managed identity can be given permissions to the SQL Pools in the workspace. With the permissions granted, you can orchestrate pipelines that performs SQL Pool related activities. When you create an Azure Synapse workspace using Azure portal, you can grant the managed identity CONTROL permissions on SQL Pools.
20+
## Grant the managed identity permissions to the SQL pool
21+
The managed identity grants permissions to the SQL pools in the workspace. With permissions granted, you can orchestrate pipelines that perform SQL pool-related activities. When you create an Azure Synapse workspace using Azure portal, you can grant the managed identity CONTROL permissions on SQL pools.
2222

23-
Select **Security + networking** when you are creating your Azure Synapse workspace. Then select **Grant CONTROL to the workspace's managed identity on SQL pools**.
23+
Select **Security + networking** when you're creating your Azure Synapse workspace. Then select **Grant CONTROL to the workspace's managed identity on SQL pools**.
2424

25-
![CONTROL permission on SQL Pools](../media/security/configure-workspace-managed-identity-16.png)
25+
![CONTROL permission on SQL pools](../media/security/configure-workspace-managed-identity-16.png)
2626

2727
## Grant the managed identity permissions to ADLS gen2 storage account
28-
An ADLS gen2 storage account is required to create an Azure Synapse workspace. The Azure Synapse managed identity needs *Storage Blob Data Contributor* role on this storage account to successfully launch Spark pools in Azure Synapse workspace. Pipeline orchestration in Azure Synapse also benefits from this role.
28+
An ADLS gen2 storage account is required to create an Azure Synapse workspace. To successfully launch Spark pools in Azure Synapse workspace, the Azure Synapse managed identity needs the *Storage Blob Data Contributor* role on this storage account . Pipeline orchestration in Azure Synapse also benefits from this role.
2929

3030
### Grant permissions to managed identity during workspace creation
31-
Azure Synapse will attempt to grant Storage Blob Data Contributor role to the managed identity when the Azure Synapse workspace is created using Azure portal. You provide the ADLS gen2 storage account details in the **Basics** tab.
31+
Azure Synapse will attempt to grant the Storage Blob Data Contributor role to the managed identity after you create the Azure Synapse workspace using Azure portal. You provide the ADLS gen2 storage account details in the **Basics** tab.
3232

3333
![Basics tab in workspace creation flow](../media/security/configure-workspace-managed-identity-1.png)
3434

3535
Choose the ADLS gen2 storage account and filesystem in **Account name** and **File system name**.
3636

3737
![Providing an ADLS gen2 storage account details](../media/security/configure-workspace-managed-identity-2.png)
3838

39-
If the workspace creator is also **Owner** of the ADLS gen2 storage account then Azure Synapse will assign the *Storage Blob Data Contributor* role to the managed identity. You will see the following message below the storage account details that you entered.
39+
If the workspace creator is also **Owner** of the ADLS gen2 storage account, then Azure Synapse will assign the *Storage Blob Data Contributor* role to the managed identity. You'll see the following message below the storage account details that you entered.
4040

4141
![Successful Storage Blob Data Contributor assignment](../media/security/configure-workspace-managed-identity-3.png)
4242

43-
If the workspace creator is not the owner of the ADLS gen2 storage account, then Azure Synapse does not assign the *Storage Blob Data Contributor* role to the managed identity. The message below the storage account details lets the workspace creator know that they do not have sufficient permissions to grant the *Storage Blob Data Contributor* role to the managed identity.
43+
If the workspace creator isn't the owner of the ADLS gen2 storage account, then Azure Synapse doesn't assign the *Storage Blob Data Contributor* role to the managed identity. The message appearing below the storage account details notifies the workspace creator that they don't have sufficient permissions to grant the *Storage Blob Data Contributor* role to the managed identity.
4444

4545
![Unsuccessful Storage Blob Data Contributor assignment](../media/security/configure-workspace-managed-identity-4.png)
4646

47-
As the message above states, you cannot create spark pools unless the *Storage Blob Data Contributor* is assigned to the managed identity.
47+
As the message states, you can't create Spark pools unless the *Storage Blob Data Contributor* is assigned to the managed identity.
4848

4949
### Grant permissions to managed identity after workspace creation
50-
if the *Storage Blob Data contributor* role could not be assigned to the managed identity during workspace creation, then the **Owner** of the ADLS gen2 storage account needs to manually assign that role to the identity. Follow these steps to accomplish that.
50+
During workspace creation, if you don't assign the *Storage Blob Data contributor* to the managed identity, then the **Owner** of the ADLS gen2 storage account manually assigns that role to the identity. The following steps will help you to accomplish manual assignment.
5151

5252
#### Step 1: Navigate to the ADLS gen2 storage account in Azure portal
53-
In Azure portal, open the ADLS gen2 storage account and select **Overview** from the left navigation. The *Storage Blob Data Contributor* role only needs to be assigned at the container or filesystem level. Select **Containers**.
53+
In Azure portal, open the ADLS gen2 storage account and select **Overview** from the left navigation. You'll only need to assign The *Storage Blob Data Contributor* role at the container or filesystem level. Select **Containers**.
5454
![ADLS gen2 storage account overview](../media/security/configure-workspace-managed-identity-5.png)
5555

5656
#### Step 2: Select the container

0 commit comments

Comments
 (0)