Skip to content

Commit 23055fd

Browse files
authored
Merge pull request #107314 from diberry/diberry/0311-qna-rbac
[Cogsvcs] Post keynote - QnA Maker - RBAC
2 parents 835d02f + c39337c commit 23055fd

File tree

6 files changed

+114
-16
lines changed

6 files changed

+114
-16
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: Collaborate with others - QnA Maker
3+
description:
4+
ms.topic: conceptual
5+
ms.date: 05/15/2020
6+
---
7+
8+
# Collaborate with other authors and editors
9+
10+
Collaborate with other authors and editors using role-based access control (RBAC) placed on your QnA Maker resource.
11+
12+
## Access is provided on the QnA Maker resource
13+
14+
All permissions are controlled by the permissions placed on the QnA Maker resource. These permissions align to read, write, publish, and full access.
15+
16+
This RBAC feature includes:
17+
* Azure Active Directory (AAD) is 100% backward compatible with key-based authentication for owners and contributors. Customers can use either key-based authentication or RBAC-based authentication in their requests.
18+
* Quickly add authors and editors to all knowledge bases in the resource because control is at the resource level, not at the knowledge base level.
19+
20+
## Access is provided by a defined role
21+
22+
[!INCLUDE [RBAC permissions table](../includes/role-based-access-control.md)]
23+
24+
## Authentication flow
25+
26+
The following diagram shows the flow, from the author's perspective, for signing into the QnA Maker portal and using the authoring APIs.
27+
28+
> [!div class="mx-imgBorder"]
29+
> ![The following diagram shows the flow, from the author's perspective, for signing into the QnA Maker portal and using the authoring APIs.](../media/qnamaker-how-to-collaborate-knowledge-base/rbac-flow-from-portal-to-service.png)
30+
31+
|Steps|Description|
32+
|--|--|
33+
|1|Portal Acquires token for QnA Maker resource.|
34+
|2|Portal Calls the appropriate QnA Maker authoring API (APIM) passing the token instead of keys.|
35+
|3|QnA Maker API validates the token.|
36+
|4 |QnA Maker API calls QnAMaker Service.|
37+
38+
If you intend to call the authoring APIs](../How-To/collaborate-knowledge-base.md), learn more about how to set up authentication.
39+
40+
## Authenticate by QnA Maker portal
41+
42+
If you author and collaborate using the QnA Maker portal, after you [add the appropriate role to the resource for a collaborator](../How-To/collaborate-knowledge-base.md), the QnA Maker portal manages all the access permissions.
43+
44+
## Authenticate by QnA Maker APIs and SDKs
45+
46+
If you author and collaborate using the APIs, either through REST or the SDKs, you need to [create a service principal](../../authentication.md#assign-a-role-to-a-service-principal) to manage the authentication.
47+
48+
## Next step
49+
50+
* Design a knowledge base for [languages](design-language-culture.md) and for [client applications](integration-with-other-applications.md)
Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,29 @@
11
---
22
title: Collaborating on knowledge base - QnA Maker
3-
titleSuffix: Azure Cognitive Services
43
description: QnA Maker allows multiple people to collaborate on a knowledge base. This feature is provided with the Azure Role-Based Access Control.
5-
services: cognitive-services
6-
author: diberry
7-
manager: nitinme
8-
ms.service: cognitive-services
9-
ms.subservice: qna-maker
104
ms.topic: conceptual
11-
ms.date: 01/03/2020
12-
ms.author: diberry
5+
ms.date: 03/17/2020
136
---
147

15-
# Collaborate on your knowledge base
8+
# Collaboration with authors and editors
169

17-
QnA Maker allows multiple people to collaborate on all knowledge bases in the same QnA Maker resource. This feature is provided with the Azure [Role-Based Access Control](https://docs.microsoft.com/azure/active-directory/role-based-access-control-configure).
10+
Collaboration is provided at the QnA Maker resource level to allow you to restrict collaborator access based on the collaborator's role. Learn more about QnA Maker collaborator authentication [concepts](../Concepts/role-based-access-control.md).
1811

19-
Perform the following steps to share your QnA Maker service with someone:
12+
## Add role-based access (RBAC) to your QnA Maker resource
2013

21-
1. Sign in to the Azure portal, and go to your QnA Maker resource.
14+
QnA Maker allows multiple people to collaborate on all knowledge bases in the same QnA Maker resource. This feature is provided with the Azure [Role-Based Access Control](../../../active-directory/role-based-access-control-configure.md).
15+
16+
## Access at the QnA Maker resource level
17+
18+
You cannot share a particular knowledge base in a QnA Maker service. If you want more granular access control, consider distributing your knowledge bases across different QnA Maker resources, then add roles to each resource.
19+
20+
## Add role to resource
21+
22+
### Add a user account to the QnA Maker resource
23+
24+
The following steps use the collaborator role but any of the [roles](../reference-role-based-access-control.md) can be added using these steps
25+
26+
1. Sign in to the [Azure](https://portal.azure.com/) portal, and go to your QnA Maker resource.
2227

2328
![QnA Maker resource list](../media/qnamaker-how-to-collaborate-knowledge-base/qnamaker-resource-list.PNG)
2429

@@ -30,19 +35,29 @@ Perform the following steps to share your QnA Maker service with someone:
3035

3136
![QnA Maker IAM add](../media/qnamaker-how-to-collaborate-knowledge-base/qnamaker-iam-add.PNG)
3237

33-
1. Select the **Owner** or the **Contributor** role. You cannot grant read-only access through Role-Based Access Control. Owner and Contributor roles have read-write access permissions to the QnA Maker service.
38+
1. Select a role from the following list:
39+
40+
|Role|
41+
|--|
42+
|Owner|
43+
|Contributor|
44+
|QnA Maker Reader|
45+
|QnA Maker Editor|
46+
|Cognitive Services User|
3447

3548
![QnA Maker IAM add role](../media/qnamaker-how-to-collaborate-knowledge-base/qnamaker-iam-add-role.PNG)
3649

3750
1. Enter the user's email address and press **Save**.
3851

3952
![QnA Maker IAM add email](../media/qnamaker-how-to-collaborate-knowledge-base/qnamaker-iam-add-email.PNG)
4053

41-
When the person, you shared your QnA Maker service with, logs into the [QnA Maker portal](https://qnamaker.ai) they can see all the knowledge bases in that service.
42-
43-
Remember, you cannot share a particular knowledge base in a QnA Maker service. If you want more granular access control, consider distributing your knowledge bases across different QnA Maker services.
54+
When the person you shared your QnA Maker service with logs into the [QnA Maker portal](https://qnamaker.ai), they can see all the knowledge bases in that service based on their role.
4455

4556
## Next steps
4657

4758
> [!div class="nextstepaction"]
4859
> [Test a knowledge base](./test-knowledge-base.md)
60+
61+
Learn more about collaboration:
62+
* [Azure](../../../active-directory/role-based-access-control-configure.md) role-based access control
63+
* QnA Maker role-based access control [concepts](../Concepts/role-based-access-control.md)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: include file
3+
description: include file
4+
ms.topic: include
5+
ms.custom: include file
6+
ms.date: 03/11/2020
7+
---
8+
9+
The following roles are provided for collaboration:
10+
11+
|Role|Functionalities|API Access|API permissions|
12+
|--|--|--|--|
13+
|Owner|All|Authentication Key|All|
14+
|Contributor|All except ability to add new members to roles|Authentication Key|All except ability to add new members to roles|
15+
|QnA Maker Read<br>(read)|Export/Download<br>Test|Bearer token|1. Download KB API<br>2. List KBs for user API<br>3. Get Knowledge base details<br>4. Download Alterations<br>Generate Answer |
16+
|QnA Maker Editor<br>(read/write)|Export/Download<br>Test<br>Update KB<br>Export KB<br>Import KB<br>Replace KB<br>Create KB|Bearer token|1. Create KB API<br>2. Update KB API<br>3. Replace KB API<br>4. Replace Alterations<br>5. "Train API" [in new service model v5]|
17+
|Cognitive Service User<br>(read/write/publish)|All|Bearer token|All|
Loading
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: Role-based access control (RBAC) - QnA Maker
3+
description: Control access to QnA Maker with the Azure roles for your QnA Maker resource
4+
ms.topic: reference
5+
ms.date: 05/15/2020
6+
---
7+
8+
# Role-based access control (RBAC)
9+
10+
Use the following table to determine your access needs for your QnA Maker resource.
11+
12+
[!INCLUDE [RBAC list](./includes/role-based-access-control.md)]

articles/cognitive-services/QnAMaker/toc.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
items:
3131
- name: Azure resources
3232
href: Concepts/azure-resources.md
33+
- name: Collaborate with others
34+
href: Concepts/role-based-access-control.md
3335
- name: Design a knowledge base
3436
items:
3537
- name: For languages
@@ -155,6 +157,8 @@
155157
href: Overview/language-support.md
156158
- name: Limits
157159
href: limits.md
160+
- name: Role-based access control (RBAC)
161+
href: reference-role-based-access-control.md
158162
- name: Troubleshooting
159163
href: troubleshooting.md
160164
- name: Service configuration

0 commit comments

Comments
 (0)