Skip to content

Commit 7689b61

Browse files
authored
Merge pull request #190870 from WilliamDAssafMSFT/aadOnlyAuthDocs
Aad only auth docs
2 parents 7424ca8 + 67b91ec commit 7689b61

16 files changed

+202
-166
lines changed

articles/synapse-analytics/security/how-to-manage-synapse-rbac-role-assignments.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
---
2-
title: How to manage Synapse RBAC assignments in Synapse Studio
3-
description: This article describes how to assign and revoke Synapse RBAC roles to AAD security principals
2+
title: How to manage Azure Synapse RBAC assignments in Synapse Studio
3+
description: This article describes how to assign and revoke Azure Synapse RBAC roles to Azure AD security principals
44
author: meenalsri
55
ms.service: synapse-analytics
66
ms.topic: how-to
77
ms.subservice: security
8-
ms.date: 12/1/2020
8+
ms.date: 3/7/2022
99
ms.author: mesrivas
10-
ms.reviewer: sngun
10+
ms.reviewer: sngun, wiassaf
1111
---
1212

1313
# How to manage Synapse RBAC role assignments in Synapse Studio
1414

15-
Synapse RBAC uses roles to assign permissions to users, groups, and other security principals to enable access and use of Synapse resources and code artifacts. [Learn more](./synapse-workspace-synapse-rbac.md)
15+
Synapse RBAC uses roles to assign permissions to users, groups, and other security principals to enable access and use of Synapse resources and code artifacts. For more information, see [What is Synapse role-based access control (RBAC)?](./synapse-workspace-synapse-rbac.md)
1616

1717
This article shows how to add and delete Synapse RBAC role assignments.
1818

articles/synapse-analytics/security/how-to-review-synapse-rbac-role-assignments.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
---
2-
title: How to review Synapse RBAC role assignments in Synapse Studio
3-
description: This article describes how to review Synapse RBAC role assignments using Synapse Studio
2+
title: How to review Azure Synapse RBAC role assignments in Synapse Studio
3+
description: This article describes how to review Azure Synapse RBAC role assignments using Synapse Studio
44
author: meenalsri
55
ms.service: synapse-analytics
66
ms.topic: how-to
77
ms.subservice: security
8-
ms.date: 12/1/2020
8+
ms.date: 3/07/2022
99
ms.author: mesrivas
10-
ms.reviewer: sngun
10+
ms.reviewer: sngun, wiassaf
1111
---
1212

1313
# How to review Synapse RBAC role assignments
1414

15-
Synapse RBAC roles are used to assign permissions to users, groups, and other security principals to enable access and use of Synapse resources. [Learn more](./synapse-workspace-synapse-rbac.md)
15+
Synapse RBAC roles are used to assign permissions to users, groups, and other security principals to enable access and use of Synapse resources. For more information, see [What is Synapse role-based access control (RBAC)?](./synapse-workspace-synapse-rbac.md)
1616

1717
This article explains how to review the current role assignments for a workspace.
1818

articles/synapse-analytics/security/how-to-set-up-access-control.md

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: How to set up access control for your Synapse workspace
2+
title: How to set up access control for your Azure Synapse workspace
33
description: This article will teach you how to control access to an Azure Synapse workspace using Azure roles, Synapse roles, SQL permissions, and Git permissions.
44
services: synapse-analytics
55
author: meenalsri
66
ms.service: synapse-analytics
77
ms.topic: how-to
88
ms.subservice: security
9-
ms.date: 8/05/2021
9+
ms.date: 3/07/2022
1010
ms.author: ronytho
1111
ms.reviewer: sngun, wiassaf
1212
ms.custom: subject-rbac-steps
@@ -146,7 +146,7 @@ To run pipelines and perform system tasks, Azure Synapse requires that the works
146146

147147
## STEP 5: Grant Synapse administrators the Azure Contributor role on the workspace
148148

149-
To create SQL pools, Apache Spark pools and Integration runtimes, users must have at least Azure Contributor role at the workspace. The contributor role also allows these users to manage the resources, including pausing and scaling. If you are using Azure portal or Synapse Studio to create SQL pools, Apache Spark pools and Integration runtimes, then you need Azure Contributor role at the resource group level.
149+
To create SQL pools, Apache Spark pools and Integration runtimes, users must have at least Azure Contributor role at the workspace. The contributor role also allows these users to manage the resources, including pausing and scaling. If you're using Azure portal or Synapse Studio to create SQL pools, Apache Spark pools and Integration runtimes, then you need Azure Contributor role at the resource group level.
150150

151151
- Open the Azure portal
152152
- Locate the workspace, `workspace1`
@@ -193,7 +193,7 @@ To grant access to the serverless SQL pool, 'Built-in', the scripts can be run b
193193
194194
### STEP 7.1: Serverless SQL pool, Built-in
195195

196-
In this section, there are script examples showing how to give a user permission to access a particular database or to all databases in the serverless SQL pool, 'Built-in'.
196+
In this section, there are script examples showing how to give a user permission to access a particular database or to all databases in the serverless SQL pool, `Built-in`.
197197

198198
> [!NOTE]
199199
> In the script examples, replace *alias* with the alias of the user or group being granted access, and *domain* with the company domain you are using.
@@ -202,38 +202,31 @@ In this section, there are script examples showing how to give a user permission
202202

203203
To grant access to a user to a **single** serverless SQL database, follow the steps in this example:
204204

205-
1. Create LOGIN
205+
1. Create a login. Change to the `master` database context.
206206

207207
```sql
208-
use master
209-
go
208+
--In the master database
210209
CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
211-
go
212210
```
213211

214-
2. Create USER
212+
2. Create user in your database. Change context to your database.
215213

216214
```sql
217-
use yourdb -- Use your database name
218-
go
215+
-- In your database
219216
CREATE USER alias FROM LOGIN [[email protected]];
220217
```
221218

222-
3. Add USER to members of the specified role
219+
3. Add user as a member of the specified role in your database (in this case, the **db_owner** role).
223220

224221
```sql
225-
use yourdb -- Use your database name
226-
go
227-
alter role db_owner Add member alias -- Type USER name from step 2
222+
ALTER ROLE db_owner ADD member alias; -- Type USER name from step 2
228223
```
229224

230225
#### Workspace-scoped permission
231226

232-
To grant full access to **all** serverless SQL pools in the workspace, use the script in this example:
227+
To grant full access to **all** serverless SQL pools in the workspace, in the `master` database, use the script in this example:
233228

234229
```sql
235-
use master
236-
go
237230
CREATE LOGIN [[email protected]] FROM EXTERNAL PROVIDER;
238231
ALTER SERVER ROLE sysadmin ADD MEMBER [[email protected]];
239232
```
@@ -257,8 +250,8 @@ To grant access to a **single** dedicated SQL pool database, follow these steps
257250
```
258251

259252
> [!IMPORTANT]
260-
> *db_datareader* and *db_datawriter* can work for read/write permissions if granting *db_owner* permission is not desired.
261-
> For a Spark user to read and write directly from Spark into or from a SQL pool, *db_owner* permission is required.
253+
> The **db_datareader** and **db_datawriter** database roles can work for read/write permissions if granting **db_owner** permission is not desired.
254+
> However, for a Spark user to read and write directly from Spark into or from a SQL pool, **db_owner** permission is required.
262255

263256
After creating the users, run queries to validate that the serverless SQL pool can query the storage account.
264257

@@ -290,6 +283,8 @@ This guide has focused on setting up a basic access control system. You can supp
290283
291284
**Restrict operators from accessing code artifacts**. Create security groups for operators who need to monitor operational status of Synapse compute resources and view logs but who don't need access to code or to publish updates to the service. Assign these groups the Compute Operator role scoped to specific Spark pools and Integration runtimes.
292285

286+
**Disable local authentication**. By allowing only Azure Active Directory authentication, you can centrally manage access to Azure Synapse resources, such as SQL pools. Local authentication for all resources within the workspace can be disabled during or after workspace creation. For more information on Azure AD-only authentication, see [Disabling local authentication in Azure Synapse Analytics](../sql/active-directory-authentication.md).
287+
293288
## Next steps
294289

295290
- Learn [how to manage Azure Synapse RBAC role assignments](./how-to-manage-synapse-rbac-role-assignments.md)

articles/synapse-analytics/security/synapse-workspace-access-control-overview.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
---
22
title: Azure Synapse workspace access control overview
3-
description: This article describes the mechanisms used to control access to a Synapse workspace and the resources and code artifacts it contains.
3+
description: This article describes the mechanisms used to control access to an Azure Synapse workspace and the resources and code artifacts it contains.
4+
services: synapse-analytics
45
author: meenalsri
56
ms.service: synapse-analytics
67
ms.topic: overview
78
ms.subservice: security
8-
ms.date: 11/02/2021
9+
ms.date: 3/07/2022
910
ms.author: mesrivas
1011
ms.reviewer: wiassaf
1112
ms.custom: ignite-fall-2021
@@ -38,8 +39,9 @@ Azure roles are used to control management of:
3839

3940
To *create* these resources, you need to be an Azure Owner or Contributor on the resource group. To *manage* them once created, you need to be an Azure Owner or Contributor on either the resource group or the individual resources.
4041

41-
### Develop and execute code in Azure Synapse
42+
An Azure Owner or Contributor can enable or disable Azure AD-only authentication for Azure Synapse workspaces. For more information on Azure AD-only authentication, see [Disabling local authentication in Azure Synapse Analytics](../sql/active-directory-authentication.md).
4243

44+
### Develop and execute code in Azure Synapse
4345
Synapse supports two development models.
4446

4547
- **Synapse live development**. You develop and debug code in Synapse Studio and then **publish** it to save and execute. The Synapse service is the source of truth for code editing and execution. Any unpublished work is lost when you close Synapse Studio.
@@ -49,7 +51,8 @@ In both development models, any user with access to Synapse Studio can create co
4951

5052
### Azure Synapse roles
5153

52-
Azure Synapse roles are used to control access to the Synapse service that permit you to:
54+
Azure Synapse roles are used to control access to the Synapse service. Different roles can permit you to:
55+
5356
- List published code artifacts,
5457
- Publish code artifacts, linked services, and credential definitions,
5558
- Execute code or pipelines that use Synapse compute resources,
@@ -98,7 +101,7 @@ Synapse Studio will behave differently based on your permissions and the current
98101
- **Synapse live mode:** Synapse Studio will prevent you from seeing published content, publishing content, or taking other actions if you don't have the required permission. In some cases, you'll be prevented from creating code artifacts that you can't use or save.
99102
- **Git-mode:** If you have Git permissions that let you commit changes to the current branch, then the commit action will be permitted if you have permission to publish changes to the live service (Synapse Artifact Publisher role), and the Azure Contributor role on the workspace.
100103

101-
In some cases, you are allowed to create code artifacts even without permission to publish or commit. This allows you to execute code (with the required execution permissions). [Learn more](./synapse-workspace-understand-what-role-you-need.md) about the roles required for common tasks.
104+
In some cases, you're allowed to create code artifacts even without permission to publish or commit. This allows you to execute code (with the required execution permissions). For more information on the roles required for common tasks, see [Understand the roles required to perform common tasks in Azure Synapse](./synapse-workspace-understand-what-role-you-need.md).
102105

103106
If a feature is disabled in Synapse Studio, a tooltip will indicate the required permission. Use the [Synapse RBAC roles guide](./synapse-workspace-synapse-rbac-roles.md#synapse-rbac-actions-and-the-roles-that-permit-them) to look up which role is required to provide the missing permission.
104107

articles/synapse-analytics/security/synapse-workspace-synapse-rbac-roles.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
11
---
2-
title: Synapse RBAC roles
3-
description: This article describes the built-in Synapse RBAC roles
2+
title: Azure Synapse RBAC roles
3+
description: This article describes the built-in Synapse RBAC (role-based access control) roles, the permissions they grant, and the scopes at which they can be used.
44
author: meenalsri
55
ms.service: synapse-analytics
66
ms.topic: conceptual
77
ms.subservice: security
8-
ms.date: 11/02/2021
8+
ms.date: 3/07/2022
99
ms.author: mesrivas
10-
ms.reviewer: wiassaf
10+
ms.reviewer: sngun, wiassaf
1111
ms.custom: ignite-fall-2021
1212
---
1313

1414
# Synapse RBAC Roles
1515

1616
The article describes the built-in Synapse RBAC (role-based access control) roles, the permissions they grant, and the scopes at which they can be used.
1717

18+
For more information on reviewing and assigning Synapse role memberships, see [how to review Synapse RBAC role assignments](./how-to-review-synapse-rbac-role-assignments.md) and [how to assign Synapse RBAC roles](./how-to-manage-synapse-rbac-role-assignments.md).
19+
1820
## What's changed since the preview?
21+
1922
For users familiar with the Synapse RBAC roles provided during the preview, the following changes apply:
2023
- Workspace Admin is renamed **Synapse Administrator**
2124
- Apache Spark Admin is renamed **Synapse Apache Spark Administrator** and has permission to see all published code artifacts, including SQL scripts. This role no longer gives permission to use the workspace MSI, which requires the Synapse Credential User role. This permission is required to run pipelines.
@@ -31,7 +34,7 @@ The following table describes the built-in roles and the scopes at which they ca
3134
> Users with any Synapse RBAC role at any scope automatically have the Synapse User role at workspace scope.
3235
3336
> [!IMPORTANT]
34-
> Synapse RBAC roles do not grant permissions to create or manage SQL pools, Apache Spark pools, and Integration runtimes in Synapse workspaces. Azure Owner or Azure Contributor roles on the resource group are required for these actions.
37+
> Synapse RBAC roles do not grant permissions to create or manage SQL pools, Apache Spark pools, and Integration runtimes in Azure Synapse workspaces. Azure Owner or Azure Contributor roles on the resource group are required for these actions.
3538
3639
|Role |Permissions|Scopes|
3740
|---|---|-----|
@@ -117,6 +120,5 @@ Credential |Synapse Administrator </br>Synapse Credential User
117120
118121
## Next steps
119122

120-
Learn [how to review Synapse RBAC role assignments](./how-to-review-synapse-rbac-role-assignments.md) for a workspace.
121-
122-
Learn [how to assign Synapse RBAC roles](./how-to-manage-synapse-rbac-role-assignments.md)
123+
- Learn [how to review Synapse RBAC role assignments](./how-to-review-synapse-rbac-role-assignments.md) for a workspace.
124+
- Learn [how to assign Synapse RBAC roles](./how-to-manage-synapse-rbac-role-assignments.md)

articles/synapse-analytics/security/synapse-workspace-synapse-rbac.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
2-
title: Synapse role-based access control
2+
title: Azure Synapse role-based access control
33
description: An article that explains role-based access control in Azure Synapse Analytics
44
author: meenalsri
55
ms.service: synapse-analytics
66
ms.topic: conceptual
77
ms.subservice: security
8-
ms.date: 12/1/2020
8+
ms.date: 3/07/2022
99
ms.author: mesrivas
10-
ms.reviewer: sngun
10+
ms.reviewer: sngun, wiassaf
1111
---
1212
# What is Synapse role-based access control (RBAC)?
1313

@@ -53,23 +53,28 @@ Synapse provides built-in roles that define collections of actions that match th
5353

5454
### Scopes
5555

56-
A _scope_ defines the resources or artifacts that the access applies to. Synapse supports hierarchical scopes. Permissions granted at a higher-level scope are inherited by objects at a lower level. In Synapse RBAC, the top-level scope is a workspace. Assigning a role with workspace scope grants permissions to all applicable objects in the workspace.
56+
A _scope_ defines the resources or artifacts that the access applies to. Azure Synapse supports hierarchical scopes. Permissions granted at a higher-level scope are inherited by objects at a lower level. In Synapse RBAC, the top-level scope is a workspace. Assigning a role with workspace scope grants permissions to all applicable objects in the workspace.
5757

58-
Current supported scopes within a workspace are: Apache Spark pool, Integration runtime, linked service, and credential.
58+
Current supported scopes within a workspace are:
59+
60+
- Apache Spark pool
61+
- Integration runtime
62+
- linked service
63+
- credential
5964

6065
Access to code artifacts is granted with workspace scope. Granting access to collections of artifacts within a workspace will be supported in a later release.
6166

6267
## Resolving role assignments to determine permissions
6368

64-
A role assignment grants the principal the permissions defined by the role at the specified scope.
69+
A role assignment grants a principal the permissions defined by the role at the specified scope.
6570

6671
Synapse RBAC is an additive model like Azure RBAC. Multiple roles may be assigned to a single principal and at different scopes. When computing the permissions of a security principal, the system considers all roles assigned to the principal and to groups that directly or indirectly include the principal. It also considers the scope of each assignment in determining the permissions that apply.
6772

6873
## Enforcing assigned permissions
6974

7075
In Synapse Studio, specific buttons or options may be grayed out or a permissions error may be returned when attempting an action if you don't have the required permissions.
7176

72-
If a button or option is disabled, hovering over the button or option shows a tooltip with the required permission. Contact a Synapse Administrator to assign a role that grants the required permission. You can see the roles that provide specific actions [here](./synapse-workspace-synapse-rbac-roles.md).
77+
If a button or option is disabled, hovering over the button or option shows a tooltip with the required permission. Contact a Synapse Administrator to assign a role that grants the required permission. You can see the roles that provide specific actions, see [Synapse RBAC Roles](./synapse-workspace-synapse-rbac-roles.md).
7378

7479
## Who can assign Synapse RBAC roles?
7580

@@ -79,7 +84,7 @@ When a new workspace is created, the creator is automatically given the Synapse
7984

8085
## Where do I manage Synapse RBAC?
8186

82-
Synapse RBAC is managed from within Synapse Studio using the Access control tools in the Manage hub.
87+
Synapse RBAC is managed from within Synapse Studio using the access control tools in the **Manage** hub.
8388

8489
## Next steps
8590

articles/synapse-analytics/security/synapse-workspace-understand-what-role-you-need.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
---
22
title: Understand the roles required to perform common tasks in Azure Synapse
3-
description: This article describes which built-in Synapse RBAC role(s) are required to accomplish specific tasks
3+
description: Understand which Synapse RBAC (role-based access control) roles or Azure RBAC roles you need to get work done in Synapse Studio.
44
author: meenalsri
55
ms.service: synapse-analytics
66
ms.topic: conceptual
77
ms.subservice: security
8-
ms.date: 11/02/2021
8+
ms.date: 3/07/2022
99
ms.author: mesrivas
10-
ms.reviewer: wiassaf
10+
ms.reviewer: sngun, wiassaf
1111
ms.custom: ignite-fall-2021
1212
---
1313
# Understand the roles required to perform common tasks in Azure Synapse
1414

15-
This article will help you understand which Synapse RBAC (role-based access control) roles or Azure RBAC roles you need to get work done in Synapse Studio.
15+
This article will help you understand which Synapse RBAC (role-based access control) roles or Azure RBAC roles you need to get work done in Synapse Studio. To manage role membership, see [Manage Synapse RBAC role assignments](./how-to-manage-synapse-rbac-role-assignments.md).
1616

1717
## Synapse Studio access control and workflow summary
1818

@@ -62,6 +62,9 @@ The table below lists common tasks and for each task, the Synapse RBAC, or Azure
6262
>[!Note]
6363
> Synapse Administrator is not listed for each task unless it is the only role that provides the necessary permission. A Synapse Administrator can perform all tasks enabled by other Synapse RBAC roles.</br>
6464
65+
> [!Note]
66+
> Guest users from another tenant are also able to review, add, or change role assignments once they have been assigned as Synapse Administrator.
67+
6568
The minimum Synapse RBAC role required is shown.
6669

6770
All Synapse RBAC roles at any scope provide you Synapse User permissions at the workspace.
@@ -129,8 +132,6 @@ ACCESS MANAGEMENT|
129132
Review Synapse RBAC role assignments at any scope|Synapse User|read
130133
Assign and remove Synapse RBAC role assignments for users, groups, and service principals| Synapse Administrator at the workspace or at a specific workspace item scope|roleAssignments/write, delete
131134

132-
> [!Note]
133-
> Guest users from another tenant are also able to review, add, or change role assignments once they have been assigned as Synapse Administrator.
134135

135136
## Next steps
136137

0 commit comments

Comments
 (0)