In SharePoint online, we wanted to give certain users permissions to only view document properties, but not able to view the document file itself or download it. From what I know it is not possible in SharePoint. Has anyone found a workaround for such a requirement?
Permission Levels do not allow this functionality on a single document item (i.e Open Item vs View Item would be the closest )
You can certainly obfuscate and hide, but if this is sensitive data then this approach is critically flawed. There are many ways of circumventing (Rest API,Search,Direct download links,Object Model plus a heap of others)
The only way this requirement can be achieved is by splitting the document and metadata into different lists/libraries (the lowest possible permission junction in this case).
You could have a presentation library with open permissions that contains the metadata including a link to the actual document, as long as this document is stored in a library that is locked down. How the two are linked and displayed is fairly flexible (ie Workflow, Custom page to view items).
To answer your initial question, it is not possible OOTB.
You could achieve this in a different way, though:
Create 2 libraries - One to have the original library with all the documents, where all permissions are restricted and another to have the document property columns but here with no access restrictions.
Whenever a document in the root library is modified, a simple workflow copies over the property values to the second library.
WARNING This solution still allows access to the documents via any other way (REST,Search,CSOM,WebDav) It only hides the links and should not be used to secure documents... (Edit by Heiko Hatzfeld)
Yes, It is possible OOTB for SP Classic Mode. Although If a user needs to see the document properties, he/she must have access to the document (Just a logical, typical SharePoint way :) ). But what you can do is you can hide the document from opening/downloading at List view level. This workaround goes like this :
A SharePoint Group with people whom you want to give only Meta-data access.
Site admin credentials.
Your Answer: Create a new list view say- meta-view.aspx and Use Target audience on this. Also don't forget to remove their access in AllItems.aspx view.
You can easily do so by Editing the Page where documents are shown and edit the list view web part property -> under advanced, got to Target audience and select the SP group (as per the prerequisite) --> Click OK Then Change the list view fields and include "Name(for use in the form)" . This will not have editLink--> click Okay