Azure-Samples / azure-search-openai-demo

A sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure AI Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.
https://azure.microsoft.com/products/search
MIT License
5.69k stars 3.83k forks source link

Role-Based Access Control Enhancements #1151

Open aiakubovich opened 6 months ago

aiakubovich commented 6 months ago

This issue is for a: (mark with an x)

- [ ] bug report -> please search issues before submitting
- [X] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Mention any other details that might be useful

I went through the excellent documentation at https://github.com/Azure-Samples/azure-search-openai-demo/blob/main/LoginAndAclSetup.md for setting up Role-Based Access Control pattern for index in Azure Cognitive Search. It looks really great, but I noticed two missing features: 1) There should be an option in the UI for users to see which data they have access to and to enable/disable certain data sources. For example, if user A has access to two data sources, S1 and S2, and wants to use only S1, there should be an option for the user to deselect the S2 source. 2) In addition to the Role-Based Access Control pattern, some data could be relational, and we want the chatbot to convert user questions into SQL statements and query against a database. In this situation, we also want to implement Role-Based Access Control to determine which tables, for example in CosmosDB, a user has access to (in addition to Role-Based Access Control pattern for index in Azure Cognitive Search). It would be great if such functionality could be added into the app as well.

Thank you so much for awesome application!

mattgotteiner commented 6 months ago

Thanks for suggesting these improvements! We'll take these into consideration