Skip to content

Domain 4: Manage Access and Permissions Based on Membership (18%) โ€‹

โ† Domain 3 ยท Next Domain โ†’

Exam Tip

This domain is about who can do what, and at what level. The hierarchy is: Enterprise โ†’ Organization โ†’ Team โ†’ Repository. Permissions flow down. Enterprise policies can override org settings. Teams can grant repo access. Individual roles always reflect the most permissive role that applies.


GitHub Organizations โ€‹

A GitHub organization is the primary unit for managing teams, repositories, and policies within GitHub Enterprise.

Single Org vs Multiple Orgs โ€‹

Single OrganizationMultiple Organizations
ManagementSimpler โ€” one place for all settingsComplex โ€” policies must be applied to each org
BillingSingle billing viewConsolidated under enterprise account
Access controlShared across all reposIsolated โ€” teams can't accidentally access other orgs
Scripts/automationEasy โ€” one API targetHarder โ€” scripts must iterate across orgs
Best forSmaller companies, unified teamsLarge enterprises with distinct business units or compliance boundaries

Exam Tip

The exam often asks about tradeoffs. Single org: simpler administration. Multiple orgs: stronger isolation and segregation of sensitive codebases. Choose multiple orgs when different teams require independent governance.

Default Repository Permissions โ€‹

Org owners can set the base permission for all members across all repositories:

SettingWhat Members Can Do
No permissionMembers have no access by default โ€” must be added explicitly
ReadMembers can view and clone all private repos
WriteMembers can push to all private repos
AdminMembers have admin access to all repos

Critical

Setting default permission to Write or Admin across an org is rarely appropriate โ€” it violates the principle of least privilege. The exam will test your awareness of this risk.


Organization Roles โ€‹

RoleCapabilities
MemberDefault role. Access based on team membership and default org permissions.
OwnerFull administrative control of the organization. Can change settings, manage billing, and remove members.
Billing ManagerCan view and manage billing info only. No access to repos or code.
Outside CollaboratorNot an org member. Has access to specific repositories only. Does not consume a seat license.

Member vs Outside Collaborator โ€‹

Org MemberOutside Collaborator
Org membershipYesNo
Team accessCan be added to teamsCannot be on teams
Seat licenseConsumes a seatDoes not consume a seat
Default org permissionsYes (applies)No (only explicit repo access)
Best forInternal employeesContractors, external partners

Enterprise Policies and Organization Permissions โ€‹

Enterprise admins can enforce enterprise policies that apply to all organizations, overriding org-level settings.

Common Enterprise Policies โ€‹

  • Repository creation policy: Restrict who can create repos (owners only, all members, disabled)
  • Forking policy: Allow or prohibit forking of private/internal repos
  • Base permissions: Set a minimum base permission floor across all orgs
  • GitHub Actions policy: Allow or restrict which actions/workflows can run
  • Pages policy: Allow or restrict GitHub Pages publishing

Trap

Enterprise policies override org policies. If you set a policy at the enterprise level, org owners cannot change it. When a question asks how to enforce a rule across all orgs, use an enterprise policy โ€” not per-org configuration.


Teams โ€‹

Teams are groups within an organization that grant access to repositories and maintain membership.

Team Roles โ€‹

RoleCapabilities
MemberAccess to repos the team is assigned to
MaintainerCan manage team membership, settings, and repo access

Team Permissions (Repository Access) โ€‹

When a team is added to a repository, it gets one of these roles:

PermissionWhat Team Members Can Do
ReadClone, view, open issues/PRs
TriageRead + manage issues and PRs (no push)
WriteRead + push to the repo
MaintainWrite + manage settings (except sensitive admin settings)
AdminFull control including destructive actions (delete repo, change branch protections)

Team Sync via Active Directory โ€‹

  • When AD/SAML team sync is enabled, IdP groups are linked to GitHub teams
  • Membership changes in the IdP group automatically propagate to the GitHub team
  • Reduces manual team management overhead

Repository Permission Levels โ€‹

A user's effective access to a repository comes from combining their highest-applicable permission source:

  1. Repository role (directly added as collaborator)
  2. Team membership (team is assigned to the repo)
  3. Organization membership + default permissions

The most permissive permission that applies wins.

How to Audit Repository Access โ€‹

  • Navigate to the repo โ†’ Settings โ†’ Collaborators and teams
  • Enterprise audit log: GET /orgs/{org}/audit-log?action=repo.access
  • GraphQL: query collaborators on a Repository object

Exam Tip

When a question asks how to give a user "the minimum required permissions," the answer involves checking their team memberships and only granting what's needed for the task โ€” never defaulting to Admin or Write if Read or Triage suffices.


Least Privilege in Practice โ€‹

The principle of least privilege means giving users only the permissions they need โ€” no more.

Common patterns the exam tests:

ScenarioCorrect Permission
External reviewer who only reads and comments on PRsTriage (or Read)
Developer who writes code but doesn't manage repo settingsWrite
Tech lead who manages PR rules but not billingMaintain
Security team that needs to audit all reposRead (org-level)
Release manager who needs to push to protected branchesAdmin (with branch protection bypass)

Benefits and Drawbacks of Creating a New Organization โ€‹

BenefitsDrawbacks
Isolates sensitive codebasesMore orgs = more administration overhead
Separate billing visibilityScripts and automation must target multiple orgs
Independent governance policiesHarder to share resources (runners, packages)
Clear boundary for external collaboratorsUsers can get confused about which org to work in

Domain 4 Quick Quiz

1 / 6
โ“

What is the difference between an org member and an outside collaborator?

(Click to reveal)
๐Ÿ’ก
An org member belongs to the org, can be on teams, and consumes a seat license. An outside collaborator has only specific repo access, cannot join teams, and does not consume a seat.

โ† Domain 3 ยท Next Domain โ†’

Happy Studying! ๐Ÿš€ โ€ข Privacy-friendly analytics โ€” no cookies, no personal data
Privacy Policy โ€ข AI Disclaimer โ€ข Report an issue