На первый взгляд задача не сложная и ее можно решить, если в Privileges роли набросать все привилегии по маске *View, потом в Permissions роли ограничить доступ на все таблицы EffectiveAccess == Read.
Это всё - теория, на практике же из-за того, что NeededAccessLevel на пункты меню вешается левой пяткой, такое решение окажется, скорее всего, "дырявым". См. также давнишнее обсуждение Настройка прав доступа только для чтения
За это сообщение автора поблагодарили: Logger (3).