SSRS - Determine report permissions via ReportServer database tables?
This is a script that does most of what you want, you can tweak it to your needs:
select C.UserName, D.RoleName, D.Description, E.Path, E.Name
from dbo.PolicyUserRole A
inner join dbo.Policies B on A.PolicyID = B.PolicyID
inner join dbo.Users C on A.UserID = C.UserID
inner join dbo.Roles D on A.RoleID = D.RoleID
inner join dbo.Catalog E on A.PolicyID = E.PolicyID
order by C.UserName
you can run the script on the SSRS SQL ReportServer
The above script will work but keep in mind that it will also display deleted users - i.e. users that are no longer in Active Directory which may be confusing sometimes.
Also, Microsoft does not officially support any queries against their ReportServer database.