Link mentioned by Adeel Can help you to understand/create roles and provide the Permission accordingly.
Couple of points to Note:
1) Always it is good practice to copy an existing role and modify as per our requirements.
2) I think, Extensions mean you are talking about custom entities, while adding permissions, you have a separate tab for custom entities, through which you can manage permission for the entities displayed under extensions.
Mohan.B