This might help. It’s a race director’s manual. As for specific details for permits needed and what you would need to do to get police protection, it can vary by municipality. You’re best off contacting officials from the local municipality in order to ask for details.
The one thing I can say about organizing a race is that it isn’t easy. Start early and expect to feel overwhelmed at times. If I were starting from scratch, the first thing I would do is get a committee together so the work can be spread around.