Crea estructura de roles y grupos para cualquier modelo, considera además las 3 tablas de join que pudiesen darse.