I have the same requirement as @ToeiRei. Let me outline the scenario in detail for @linucksrox.
In our organization, we have over 100 registered users, each with access to various files and folders within our Nextcloud instance. We manage accounts for multiple customers, let’s say 10 customers, with each folder labeled as “customer1,” “customer2,” and so forth.
For example, user1 manages customer1, but there are instances where user2 also requires access to certain files within the customer1 directory for specific tasks. However, I suspect that user2 may be accessing files beyond what is necessary and without justification. Since there are no audit logs, user2 cannot be tracked for viewing certain confidential files of customer1, which encourages user2 to browse unauthorised files without any restrain.
We want to monitor file access (view/download) logs even for registered users at the user level. If found, users will need to provide justification for accessing files that they are not authorized to view. A user maybe accessing files purely out of curiosity. But file access logs will provide a deterrent. Even the customers frequently request us for these logs due to GDPR compliances.
In this scenario, there can be a counterargument - why user2’s access to customer1’s directory wasn’t limited to only authorized files? The answer lies in manageability. In an organization of over 100 users, providing highly granular access to each user is impractical. We aim to create a deterrent by simply letting all users know that an active file access monitoring logging is in place. If unauthorized access is detected, users can be questioned. This deterrent is sufficient for us and the customers.
We are seeking an easy-to-manage dashboard where we can effortlessly check which user accessed which file, both at the user and file levels, i.e, given a user show all the files accessed by him and given a file show all the users who accessed this file. We prefer not to go through raw logs using grep and instead need a solution accessible via dashboards. Our team managers are non-technical and can only work with dashboards; they are not familiar with grep, Linux terminal, SSH, etc.
Please advise on available solutions for these use cases.