Skip to content

Commit 2b62e61

Browse files
authored
Merge pull request #178895 from aahill/rbac
LUIS RBAC article
2 parents 22fa409 + 7da0b20 commit 2b62e61

File tree

2 files changed

+143
-0
lines changed

2 files changed

+143
-0
lines changed
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
---
2+
title: LUIS role-based access control
3+
titleSuffix: Azure Cognitive Services
4+
description: Use this article to learn how to add access control to your LUIS resource
5+
author: aahill
6+
ms.author: aahi
7+
manager: nitinme
8+
ms.service: cognitive-services
9+
ms.subservice: language-understanding
10+
ms.date: 09/09/2021
11+
ms.topic: conceptual
12+
---
13+
14+
# LUIS role-based access control
15+
16+
LUIS supports Azure role-based access control (Azure RBAC), an authorization system for managing individual access to Azure resources. Using Azure RBAC, you assign different team members different levels of permissions for your LUIS authoring resources. See the [Azure RBAC documentation](/azure/role-based-access-control/) for more information.
17+
18+
## Add role assignment to Language Understanding Authoring resource
19+
20+
Azure RBAC can be assigned to a Language Understanding Authoring resource. To grant access to an Azure resource, you add a role assignment.
21+
1. In the [Azure portal](https://ms.portal.azure.com/), select **All services**.
22+
2. Select **Cognitive Services**, and navigate to your specific Language Understanding Authoring resource.
23+
> [!NOTE]
24+
> You can also set up Azure RBAC for whole resource groups, subscriptions, or management groups. Do this by selecting the desired scope level and then navigating to the desired item. For example, selecting **Resource groups** and then navigating to a specific resource group.
25+
26+
1. Select **Access control (IAM)** on the left navigation pane.
27+
1. Select **Add**, then select **Add role assignment**.
28+
1. On the **Role** tab on the next screen, select a role you want to add.
29+
1. On the **Members** tab, select a user, group, service principal, or managed identity.
30+
1. On the **Review + assign** tab, select **Review + assign** to assign the role.
31+
32+
Within a few minutes, the target will be assigned the selected role at the selected scope. For help with these steps, see [Assign Azure roles using the Azure portal](/azure/role-based-access-control/role-assignments-portal).
33+
34+
## Security
35+
36+
LUIS supports Azure Active Directory (AAD) authentication. For more information, see [Authenticate with Azure Active Directory](/azure/cognitive-services/authentication#authenticate-with-azure-active-directory).
37+
38+
## LUIS role types
39+
40+
Use the following table to determine access needs for your LUIS application.
41+
42+
These custom roles only apply to authoring (Language Understanding Authoring) and not prediction resources (Language Understanding).
43+
44+
### Cognitive Services LUIS reader
45+
46+
A user that should only be validating and reviewing LUIS applications, typically a tester to ensure the application is performing well before deploying the project. They may want to review the application’s assets (utterances, intents, entities) to notify the app developers of any changes that need to be made, but do not have direct access to make them.
47+
48+
49+
:::row:::
50+
:::column span="":::
51+
**Capabilities**
52+
:::column-end:::
53+
:::column span="":::
54+
**API Access**
55+
:::column-end:::
56+
:::row-end:::
57+
:::row:::
58+
:::column span="":::
59+
* Read Utterances
60+
* Intents
61+
* Entities
62+
* Test Application
63+
:::column-end:::
64+
:::column span="":::
65+
* All GET APIs under:
66+
* [LUIS Programmatic v3.0-preview](https://westus.dev.cognitive.microsoft.com/docs/services/luis-programmatic-apis-v3-0-preview/operations/5890b47c39e2bb052c5b9c2f)
67+
* [LUIS Programmatic v2.0 APIs](https://westus.dev.cognitive.microsoft.com/docs/services/5890b47c39e2bb17b84a55ff/operations/5890b47c39e2bb052c5b9c2f)
68+
* All the APIs under:
69+
* [LUIS Endpoint APIs v2.0](https://chinaeast2.dev.cognitive.azure.cn/docs/services/5819c76f40a6350ce09de1ac/operations/5819c77140a63516d81aee78)
70+
* [LUIS Endpoint APIs v3.0](https://westcentralus.dev.cognitive.microsoft.com/docs/services/luis-endpoint-api-v3-0/operations/5cb0a9459a1fe8fa44c28dd8)
71+
* [LUIS Endpoint APIs v3.0-preview](https://westcentralus.dev.cognitive.microsoft.com/docs/services/luis-endpoint-api-v3-0-preview/operations/5cb0a9459a1fe8fa44c28dd8)
72+
* All the Batch Testing Web APIs
73+
:::column-end:::
74+
:::row-end:::
75+
76+
### Cognitive Services LUIS writer
77+
78+
A user that is responsible for building and modifying LUIS application, as a collaborator in a larger team. The collaborator can modify the LUIS application in any way, train those changes, and validate/test those changes in the portal. However, this user wouldn't have access to deploying this application to the runtime, as they may accidentally reflect their changes in a production environment. They also wouldn't be able to delete the application or alter its prediction resources and endpoint settings (assigning or unassigning prediction resources, making the endpoint public). This restricts this role from altering an application currently being used in a production environment. They may also create new applications under this resource, but with the restrictions mentioned.
79+
80+
:::row:::
81+
:::column span="":::
82+
**Capabilities**
83+
:::column-end:::
84+
:::column span="":::
85+
**API Access**
86+
:::column-end:::
87+
:::row-end:::
88+
:::row:::
89+
:::column span="":::
90+
* All functionalities under Cognitive Services LUIS Reader.
91+
* Ability to add:
92+
* Utterances
93+
* Intents
94+
* Entities
95+
:::column-end:::
96+
:::column span="":::
97+
* All APIs under LUIS reader
98+
* All POST, PUT and DELETE APIs under:
99+
* [LUIS Programmatic v3.0-preview](https://westus.dev.cognitive.microsoft.com/docs/services/luis-programmatic-apis-v3-0-preview/operations/5890b47c39e2bb052c5b9c2f)
100+
* [LUIS Programmatic v2.0 APIs](https://westus.dev.cognitive.microsoft.com/docs/services/5890b47c39e2bb17b84a55ff/operations/5890b47c39e2bb052c5b9c2d)
101+
102+
Except for
103+
* [Delete application](https://westus.dev.cognitive.microsoft.com/docs/services/luis-programmatic-apis-v3-0-preview/operations/5890b47c39e2bb052c5b9c39)
104+
* [Move app to another LUIS authoring Azure resource](https://westus.dev.cognitive.microsoft.com/docs/services/luis-programmatic-apis-v3-0-preview/operations/apps-move-app-to-another-luis-authoring-azure-resource)
105+
* [Publish an application](https://westus.dev.cognitive.microsoft.com/docs/services/luis-programmatic-apis-v3-0-preview/operations/5890b47c39e2bb052c5b9c3b)
106+
* [Update application settings](https://westus.dev.cognitive.microsoft.com/docs/services/luis-programmatic-apis-v3-0-preview/operations/58aeface39e2bb03dcd5909e)
107+
* [Assign a LUIS azure accounts to an application](https://westus.dev.cognitive.microsoft.com/docs/services/luis-programmatic-apis-v3-0-preview/operations/5be32228e8473de116325515)
108+
* [Remove an assigned LUIS azure accounts from an application](https://westus.dev.cognitive.microsoft.com/docs/services/luis-programmatic-apis-v3-0-preview/operations/5be32554f8591db3a86232e1)
109+
:::column-end:::
110+
:::row-end:::
111+
112+
### Cognitive Services LUIS owner
113+
114+
These users are the gatekeepers for LUIS applications in a production environment. They should have full access to any of the underlying functions and thus can view everything in the application and have direct access to edit any changes for both authoring and runtime environments.
115+
116+
:::row:::
117+
:::column span="":::
118+
**Functionality**
119+
:::column-end:::
120+
:::column span="":::
121+
**API Access**
122+
:::column-end:::
123+
:::row-end:::
124+
:::row:::
125+
:::column span="":::
126+
* All functionalities under Cognitive Services LUIS Writer
127+
* Deploy a model
128+
* Delete an application
129+
:::column-end:::
130+
:::column span="":::
131+
* All APIs available for LUIS
132+
:::column-end:::
133+
:::row-end:::
134+
135+
## Next steps
136+
137+
* [Managing Azure resources](/azure/cognitive-services/luis/luis-how-to-azure-subscription?branch=pr-en-us-171715&tabs=portal#authoring-resource)

articles/cognitive-services/LUIS/toc.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,12 @@ items:
191191
displayName: roles
192192
- name: Data Storage
193193
href: luis-concept-data-storage.md
194+
- name: Security
195+
items:
196+
- name: Role-based access control
197+
href: role-based-access-control.md
198+
- name: Authentication with Azure Active Directory
199+
href: ../authentication.md#authenticate-with-azure-active-directory
194200
- name: Using LUIS and QnA Maker
195201
href: choose-natural-language-processing-service.md
196202
displayName: nlp, qna maker

0 commit comments

Comments
 (0)