Skip to content

Commit 09c3c3f

Browse files
authored
Merge pull request #218355 from inward-eye/main
added devops policy on resource group or subscription
2 parents 0020c76 + 6911878 commit 09c3c3f

9 files changed

+119
-18
lines changed

articles/purview/concept-policies-devops.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ Bob and Alice are DevOps users at their company. Given their role, they need to
5959

6060
## Next steps
6161
To get started with DevOps policies, consult the following guides:
62-
* Document: [Microsoft Purview DevOps policies on Arc-enabled SQL Server](./how-to-policies-devops-arc-sql-server.md)
63-
* Document: [Microsoft Purview DevOps policies on Azure SQL DB](./how-to-policies-devops-azure-sql-db.md)
62+
* Doc: [Microsoft Purview DevOps policies on Arc-enabled SQL Server](./how-to-policies-devops-arc-sql-server.md)
63+
* Doc: [Microsoft Purview DevOps policies on Azure SQL DB](./how-to-policies-devops-azure-sql-db.md)
64+
* Doc: [Microsoft Purview DevOps policies on resource groups and subscriptions](./how-to-policies-devops-resource-group.md)
6465
* Blog: [New granular permissions for SQL Server 2022 and Azure SQL to help PoLP](https://techcommunity.microsoft.com/t5/sql-server-blog/new-granular-permissions-for-sql-server-2022-and-azure-sql-to/ba-p/3607507)

articles/purview/how-to-policies-data-owner-arc-sql-server.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,26 @@ Execute the steps in the **Create a new policy** and **Publish a policy** sectio
6565
> - Publish is a background operation. It can take up to **5 minutes** for the changes to be reflected in this data source.
6666
> - Changing a policy does not require a new publish operation. The changes will be picked up with the next pull.
6767
68-
### Test the policy
68+
69+
## Unpublish a data owner policy
70+
Follow this link for the steps to [unpublish a data owner policy in Microsoft Purview](how-to-policies-data-owner-authoring-generic.md#unpublish-a-policy).
71+
72+
## Update or delete a data owner policy
73+
Follow this link for the steps to [update or delete a data owner policy in Microsoft Purview](how-to-policies-data-owner-authoring-generic.md#update-or-delete-a-policy).
74+
75+
## Test the policy
6976

7077
The Azure AD Accounts referenced in the access policies should now be able to connect to any database in the server to which the policies are published.
7178

72-
#### Force policy download
79+
### Force policy download
7380
It is possible to force an immediate download of the latest published policies to the current SQL database by running the following command. The minimal permission required to run it is membership in ##MS_ServerStateManager##-server role.
7481

7582
```sql
7683
-- Force immediate download of latest published policies
7784
exec sp_external_policy_refresh reload
7885
```
7986

80-
#### Analyze downloaded policy state from SQL
87+
### Analyze downloaded policy state from SQL
8188
The following DMVs can be used to analyze which policies have been downloaded and are currently assigned to Azure AD accounts. The minimal permission required to run them is VIEW DATABASE SECURITY STATE - or assigned Action Group *SQL Security Auditor*.
8289

8390
```sql

articles/purview/how-to-policies-data-owner-azure-sql-db.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,19 +49,26 @@ Execute the steps in the **Create a new policy** and **Publish a policy** sectio
4949
> - Publish is a background operation. It can take up to **5 minutes** for the changes to be reflected in this data source.
5050
> - Changing a policy does not require a new publish operation. The changes will be picked up with the next pull.
5151
52-
### Test the policy
52+
53+
## Unpublish a data owner policy
54+
Follow this link for the steps to [unpublish a data owner policy in Microsoft Purview](how-to-policies-data-owner-authoring-generic.md#unpublish-a-policy).
55+
56+
## Update or delete a data owner policy
57+
Follow this link for the steps to [update or delete a data owner policy in Microsoft Purview](how-to-policies-data-owner-authoring-generic.md#update-or-delete-a-policy).
58+
59+
## Test the policy
5360

5461
The Azure AD Accounts referenced in the access policies should now be able to connect to any database in the server to which the policies are published.
5562

56-
#### Force policy download
63+
### Force policy download
5764
It is possible to force an immediate download of the latest published policies to the current SQL database by running the following command. The minimal permission required to run it is membership in ##MS_ServerStateManager##-server role.
5865

5966
```sql
6067
-- Force immediate download of latest published policies
6168
exec sp_external_policy_refresh reload
6269
```
6370

64-
#### Analyze downloaded policy state from SQL
71+
### Analyze downloaded policy state from SQL
6572
The following DMVs can be used to analyze which policies have been downloaded and are currently assigned to Azure AD accounts. The minimal permission required to run them is VIEW DATABASE SECURITY STATE - or assigned Action Group *SQL Security Auditor*.
6673

6774
```sql

articles/purview/how-to-policies-data-owner-resource-group.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ Execute the steps in the **Create a new policy** and **Publish a policy** sectio
5656
> - Publish is a background operation. For example, Azure Storage accounts can take up to **2 hours** to reflect the changes.
5757
> - Changing a policy does not require a new publish operation. The changes will be picked up with the next pull.
5858
59+
## Unpublish a data owner policy
60+
Follow this link for the steps to [unpublish a data owner policy in Microsoft Purview](how-to-policies-data-owner-authoring-generic.md#unpublish-a-policy).
61+
62+
## Update or delete a data owner policy
63+
Follow this link for the steps to [update or delete a data owner policy in Microsoft Purview](how-to-policies-data-owner-authoring-generic.md#update-or-delete-a-policy).
5964

6065
## Additional information
6166
- Creating a policy at subscription or resource group level will enable the Subjects to access Azure Storage system containers, for example, *$logs*. If this is undesired, first scan the data source and then create finer-grained policies for each (that is, at container or sub-container level).

articles/purview/how-to-policies-data-owner-storage.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,13 @@ Execute the steps in the **Create a new policy** and **Publish a policy** sectio
5050
>[!Important]
5151
> - Publish is a background operation. Azure Storage accounts can take up to **2 hours** to reflect the changes.
5252
53+
54+
## Unpublish a data owner policy
55+
Follow this link for the steps to [unpublish a data owner policy in Microsoft Purview](how-to-policies-data-owner-authoring-generic.md#unpublish-a-policy).
56+
57+
## Update or delete a data owner policy
58+
Follow this link for the steps to [update or delete a data owner policy in Microsoft Purview](how-to-policies-data-owner-authoring-generic.md#update-or-delete-a-policy).
59+
5360
## Data Consumption
5461
- Data consumer can access the requested dataset using tools such as Power BI or Azure Synapse Analytics workspace.
5562
- Sub-container access: Policy statements set below container level on a Storage account are supported. However, users will not be able to browse to the data asset using Azure portal's Storage Browser or Microsoft Azure Storage Explorer tool if access is granted only at file or folder level of the Azure Storage account. This is because these apps attempt to crawl down the hierarchy starting at container level, and the request fails because no access has been granted at that level. Instead, the App that requests the data must execute a direct access by providing a fully qualified name to the data object. The following documents show examples of how to perform a direct access. See also the blogs in the *Next steps* section of this how-to-guide.

articles/purview/how-to-policies-devops-arc-sql-server.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.topic: how-to
99
ms.date: 11/04/2022
1010
ms.custom:
1111
---
12-
# Provision access to Arc-enabled SQL Server for DevOps actions (preview)
12+
# Provision access to system metadata in Arc-enabled SQL Server (preview)
1313

1414
[!INCLUDE [feature-in-preview](includes/feature-in-preview.md)]
1515

@@ -47,8 +47,6 @@ The Arc-enabled SQL Server data source needs to be registered first with Microso
4747
Once your data source has the **Data Use Management** toggle *Enabled*, it will look like this picture.
4848
![Screenshot shows how to register a data source for policy.](./media/how-to-policies-data-owner-sql/register-data-source-for-policy-arc-sql.png)
4949

50-
> [!Note]
51-
> If you want to create a policy on a resource group or subscription and have it enforced in Arc-enabled SQL servers, you will need to also register those servers independently for *Data use management* to provide their App ID.
5250

5351
## Create a new DevOps policy
5452
Follow this link for the steps to [create a new DevOps policy in Microsoft Purview](how-to-policies-devops-authoring-generic.md#create-a-new-devops-policy).
@@ -65,19 +63,19 @@ Follow this link for the steps to [delete a DevOps policies in Microsoft Purview
6563
>[!Important]
6664
> DevOps policies are auto-published and changes can take up to **5 minutes** to be enforced by the data source.
6765
68-
### Test the policy
66+
## Test the policy
6967

7068
The Azure AD Accounts referenced in the access policies should now be able to connect to any database in the server to which the policies are published.
7169

72-
#### Force policy download
70+
### Force policy download
7371
It is possible to force an immediate download of the latest published policies to the current SQL database by running the following command. The minimal permission required to run it is membership in ##MS_ServerStateManager##-server role.
7472

7573
```sql
7674
-- Force immediate download of latest published policies
7775
exec sp_external_policy_refresh reload
7876
```
7977

80-
#### Analyze downloaded policy state from SQL
78+
### Analyze downloaded policy state from SQL
8179
The following DMVs can be used to analyze which policies have been downloaded and are currently assigned to Azure AD accounts. The minimal permission required to run them is VIEW DATABASE SECURITY STATE - or assigned Action Group *SQL Security Auditor*.
8280

8381
```sql
@@ -130,3 +128,4 @@ Check the blog and related docs
130128
* Video: [Microsoft Purview DevOps policies on data sources and resource groups](https://youtu.be/YCDJagrgEAI)
131129
* Video: [Reduce the effort with Microsoft Purview DevOps policies on resource groups](https://youtu.be/yMMXCeIFCZ8)
132130
* Doc: [Microsoft Purview DevOps policies on Azure SQL DB](./how-to-policies-devops-azure-sql-db.md)
131+
* Doc: [Microsoft Purview DevOps policies on resource groups and subscriptions](./how-to-policies-devops-resource-group.md)

articles/purview/how-to-policies-devops-azure-sql-db.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.topic: how-to
99
ms.date: 11/04/2022
1010
ms.custom: references_regions
1111
---
12-
# Provision access to Azure SQL Database for DevOps actions (preview)
12+
# Provision access to system metadata in Azure SQL Database (preview)
1313

1414
[!INCLUDE [feature-in-preview](includes/feature-in-preview.md)]
1515

@@ -49,18 +49,18 @@ Follow this link for the steps to [delete a DevOps policies in Microsoft Purview
4949
>[!Important]
5050
> DevOps policies are auto-published and changes can take up to **5 minutes** to be enforced by the data source.
5151
52-
### Test the policy
52+
## Test the policy
5353
The Azure AD Accounts referenced in the access policies should now be able to connect to any database in the server to which the policies are published.
5454

55-
#### Force policy download
55+
### Force policy download
5656
It is possible to force an immediate download of the latest published policies to the current SQL database by running the following command. The minimal permission required to run it is membership in ##MS_ServerStateManager##-server role.
5757

5858
```sql
5959
-- Force immediate download of latest published policies
6060
exec sp_external_policy_refresh reload
6161
```
6262

63-
#### Analyze downloaded policy state from SQL
63+
### Analyze downloaded policy state from SQL
6464
The following DMVs can be used to analyze which policies have been downloaded and are currently assigned to Azure AD accounts. The minimal permission required to run them is VIEW DATABASE SECURITY STATE - or assigned Action Group *SQL Security Auditor*.
6565

6666
```sql
@@ -113,4 +113,6 @@ Check the blog and related docs
113113
* Video: [Microsoft Purview DevOps policies on data sources and resource groups](https://youtu.be/YCDJagrgEAI)
114114
* Video: [Reduce the effort with Microsoft Purview DevOps policies on resource groups](https://youtu.be/yMMXCeIFCZ8)
115115
* Doc: [Microsoft Purview DevOps policies on Arc-enabled SQL Server](./how-to-policies-devops-arc-sql-server.md)
116+
* Doc: [Microsoft Purview DevOps policies on resource groups and subscriptions](./how-to-policies-devops-resource-group.md)
117+
116118

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
title: Provision access to resource groups and subscriptions for DevOps actions
3+
description: Step-by-step guide showing how to provision access to entire resource groups and subscriptions through Microsoft Purview DevOps policies
4+
author: inward-eye
5+
ms.author: vlrodrig
6+
ms.service: purview
7+
ms.subservice: purview-data-policies
8+
ms.topic: how-to
9+
ms.date: 11/14/2022
10+
ms.custom:
11+
---
12+
# Provision access to system metadata in resource groups or subscriptions
13+
14+
[DevOps policies](concept-policies-devops.md) are a type of Microsoft Purview access policies. They allow you to manage access to system metadata (DMVs and DMFs) via *SQL Performance Monitoring* or *SQL Security Auditing* actions. They can be created only on data sources that have been registered for *Data use management* in Microsoft Purview. These policies are configured directly in the Microsoft Purview governance portal, and after being saved they get automatically published and then get enforced by the data source. Microsoft Purview access policies apply to Azure AD Accounts only.
15+
16+
In this guide we cover how to register an entire resource group or subscription and then create a single policy that will manage access to **all** data sources in that resource group or subscription. That single policy will cover all existing data sources and any data sources that are created afterwards.
17+
18+
## Prerequisites
19+
[!INCLUDE [Access policies generic pre-requisites](./includes/access-policies-prerequisites-generic.md)]
20+
[!INCLUDE [Access policies Azure SQL Database pre-requisites](./includes/access-policies-prerequisites-azure-sql-db.md)]
21+
22+
**Only these data sources are enabled for access policies on resource group or subscription**. Follow the **Prerequisites** section that is specific to the data source(s) in these guides:
23+
* [DevOps policies on an Azure SQL Database](./how-to-policies-devops-azure-sql-db.md#prerequisites)
24+
* [DevOps policies on an Arc-enabled SQL Server](./how-to-policies-devops-arc-sql-server.md#prerequisites)
25+
26+
## Microsoft Purview Configuration
27+
[!INCLUDE [Access policies generic configuration](./includes/access-policies-configuration-generic.md)]
28+
29+
### Register the subscription or resource group for Data Use Management
30+
The subscription or resource group needs to be registered with Microsoft Purview to later define access policies.
31+
32+
To register your subscription or resource group, follow the **Prerequisites** and **Register** sections of this guide:
33+
34+
- [Register multiple sources in Microsoft Purview](register-scan-azure-multiple-sources.md#prerequisites)
35+
36+
After you've registered your resources, you'll need to enable Data Use Management. Data Use Management needs certain permissions and can affect the security of your data, as it delegates to certain Microsoft Purview roles to manage access to the data sources. **Go through the secure practices related to Data Use Management in this guide**: [How to enable Data Use Management](./how-to-enable-data-use-management.md)
37+
38+
In the end, your resource will have the **Data Use Management** toggle **Enabled**, as shown in the screenshot:
39+
40+
![Screenshot shows how to register a resource group or subscription for policy by toggling the enable tab in the resource editor.](./media/how-to-policies-data-owner-resource-group/register-resource-group-for-policy.png)
41+
42+
>[!Important]
43+
> - If you want to create a policy on a resource group or subscription and have it enforced in Arc-enabled SQL servers, you will need to also register those servers independently and enable *Data use management* to provide their App ID: [See this document](./how-to-policies-devops-arc-sql-server.md#register-data-sources-in-microsoft-purview).
44+
45+
46+
## Create a new DevOps policy
47+
Follow this link for the steps to [create a new DevOps policy in Microsoft Purview](how-to-policies-devops-authoring-generic.md#create-a-new-devops-policy).
48+
49+
## List DevOps policies
50+
Follow this link for the steps to [list DevOps policies in Microsoft Purview](how-to-policies-devops-authoring-generic.md#list-devops-policies).
51+
52+
## Update a DevOps policy
53+
Follow this link for the steps to [update a DevOps policies in Microsoft Purview](how-to-policies-devops-authoring-generic.md#update-a-devops-policy).
54+
55+
## Delete a DevOps policy
56+
Follow this link for the steps to [delete a DevOps policies in Microsoft Purview](how-to-policies-devops-authoring-generic.md#delete-a-devops-policy).
57+
58+
59+
### Test the policy
60+
To test the policy see the DevOps policy guides for the underlying data sources listed in the [next steps section](#next-steps) of this document.
61+
62+
## Next steps
63+
Check the blog and related docs
64+
* Blog: [Microsoft Purview DevOps policies enable at scale access provisioning for IT operations](https://techcommunity.microsoft.com/t5/microsoft-purview-blog/microsoft-purview-devops-policies-enable-at-scale-access/ba-p/3604725)
65+
* Video: [Reduce the effort with Microsoft Purview DevOps policies on resource groups](https://youtu.be/yMMXCeIFCZ8)
66+
* Doc: [Microsoft Purview DevOps policies on Arc-enabled SQL Server](./how-to-policies-devops-arc-sql-server.md)
67+
* Doc: [Microsoft Purview DevOps policies on Azure SQL DB](./how-to-policies-devops-azure-sql-db.md)

articles/purview/toc.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ items:
3030
href: quickstart-data-share.md
3131
- name: .NET data sharing
3232
href: quickstart-data-share-dotnet.md
33+
- name: Data Policy
34+
items:
35+
- name: Create a simple DevOps policy
36+
href: how-to-policies-devops-azure-sql-db.md
3337
- name: Tutorials
3438
items:
3539
- name: Deployment checklist
@@ -355,6 +359,8 @@ items:
355359
href: how-to-policies-devops-azure-sql-db.md
356360
- name: DevOps policies - Azure Arc enabled SQL Servers
357361
href: how-to-policies-devops-arc-sql-server.md
362+
- name: DevOps policies - Resource groups or Subscriptions
363+
href: how-to-policies-devops-resource-group.md
358364
- name: Data owner policies
359365
items:
360366
- name: Data owner policies - Author and publish policies

0 commit comments

Comments
 (0)