There are two approaches to managing artifact security among different sets of users. One is to use a repository per team. The other is known as repository partitioning.
The answer as to which approach is best for you depends on how many repositories/partitions you anticipate needing. If the number is not too large, a repository per project/team will work well. But if you anticipate having a lot of these then you'll eventually start to have performance problems with the repository approach. A reasonable analogy is to think of repositories as disks and partitions as disk directories. Disks are big heavyweight items, directories are lightweight.
By the way, these approaches are not mutually exclusive. It often makes sense to use a repository approach for larger structural units in your organization, and the partition these repositories to accommodate teams or projects within these units.
You can find more details about the tradeoffs here:
An additional advantage to using repository partitioning is that it fits in well with the Nexus Staging feature. The same targets you use for partitioning can be re-used to control access to staging profiles.