Best practice for get some reports from the database

Hi there,

Is there any best practice for build up a secure page, which can only accessed by a specific user e.g. admin. I would like to create some reports based on database items e.g. top ten of field values.
I don’t want to use google analytics and I also don’t want to provide an api to access the data from an external page.
Thank you for hints


Create user roles via option sets

On page load allow only a user with role “app admin”

Complement with privacy rules