What "access argument" or permission-string to use for a custom module? When developing a custom module that has a configuration area, what is the correct or preferred permission to use? In core, you see a mixture of:


administer site configuration
access administration pages
administer {modulename}


They appear to be applied almost at random, and searching the documentation does not show me a unambiguous "Best Practice" or "HUG" for this.

In this case, the module is small, has only one configuration-page and is related to Taxonomy, so a fourth option would be to re-use administer taxonomy. 

Is there an unambiguous, or distinctive guideline on this matter?
If you set a custom permission for your module you get finer control over who can configure your module's features. If your module is strictly related to Taxonomy you may stick to Administer taxonomy. You may find this link useful for your decision.