Access to content on GitHub is controlled at the repository level for both read and write access. For an overview of the various levels of access within an organization see What are the different access permissions?.
Within an organization, teams define a users level of access for a given repository. An organization may have unlimited teams and teams may have unlimited users. Likewise, a user may belong to unlimited teams. Teams are given administrative, push, or pull access to one or more repositories. See account management best practices for more information.