Azure Search access privileges to limit indexes and articles per client? RRS feed

  • Question

  • I have a case where our company want to create article index, dealer index, etc... (These are put in microsoft dynamics crm)

    Based on the client we want to give each one access to certain index's and also limit what articles come back based on flags.

    Can this be done with out of the box implementation? I.E maybe giving clients certain api keys that have what indexes they can use and a businesses layer that limits client access to certain articles basic on flags or some content limiter? 

    Example of limiting articles. We have internal/external documents and based on the client we want to limit access and not bring back internal documents to client facing applications but on our internal network show internal documents also 

    • Edited by Grain Father Tuesday, September 26, 2017 10:33 PM
    Tuesday, September 26, 2017 9:05 PM

All replies

  • From what I understand I can create query api-keys to limit access to indexes and documents, but I can't seem to find if you can limit query's to filter out certain articles that come back without creating a wrapper to add said filters per client?
    Wednesday, September 27, 2017 12:21 AM
  • Hi!

    What you can do is associate each document with the list of principals that are allowed to read the document, and then issue a search query with filter expression that contains the user_id/list of groups the user id is part of using the search.in function. That way only documents with the specified ids will be returned back to the user.

    More details about search.in can be found here: https://docs.microsoft.com/en-us/rest/api/searchservice/odata-expression-syntax-for-azure-search

    Monday, October 2, 2017 5:35 PM