How to implement User roles for specific taxonomies? Some info about what I'm working on:


I have a taxonomy on my site called 'countries'. 
I have three 'countries' terms: "UK", "USA", "AUS"
I have created a new user role in Drupal 7 called 'countries_admin'.


What I am trying to achieve:


I want to be able to add three countries_admins and assign each one a country (and be able to easily add more users when I add more terms).
The user should only be able to create/view/edit/delete nodes which are in this term. 


My question:

Any suggestions about how to do this?

Note: I have tried Taxonomy Access Control but it seems that I'd have to create a new user role for each country, which isn't really what I wanted.
It appears to me that there are 2 ways to answer your question. Read on for more details ...

Option 1: The Organic Groups module

Organic Groups is a possible answer to your question. It is probably the module that most users are familiar with.

If you're not familiar (enough/yet) with Organic Groups, then reviewing the amazing set of (free) videos to Learn Organic Groups might help.

Option 2: The Group module

Maybe you want to give it a try to use the Group module, which is like an alternative for Organic Groups. Group allows for creating arbitrary collections of your content and users on your site, and grant access control permissions on those collections. It is available as of D7, and has a D8 version also. The Group module creates groups as entities, making them fully fieldable, extensible and exportable.

Resources:


Community documentation for the Group module.
Video tutorial "How to use the Group module in Drupal 8 to manage editorial access control to different areas of a web site".


Comparing both modules

For more details about how Group compares to Organic Groups, refer to my answer to "What are the features of the Group module versus Organic Group module?".