Skip to content

Commit 6ef5df1

Browse files
authored
Merge pull request #9 from gobinathm/feature/GH-100
Feature/gh 100
2 parents 5d115fa + d4aa179 commit 6ef5df1

2 files changed

Lines changed: 370 additions & 13 deletions

File tree

certifications/github/gh-100/domain-4.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,113 @@ If the scenario is "delegate one narrow admin capability without full ownership,
157157

158158
---
159159

160+
## Repository Permission Capability Matrix
161+
162+
Each repository role grants a specific set of capabilities. This matrix shows exactly what each role can and cannot do:
163+
164+
### Code & Content
165+
166+
| Capability | Read | Triage | Write | Maintain | Admin |
167+
|---|:---:|:---:|:---:|:---:|:---:|
168+
| View code, clone, fork ||||||
169+
| View issues, PRs, discussions ||||||
170+
| View releases and packages ||||||
171+
| View project boards ||||||
172+
| View wiki ||||||
173+
| Push to non-protected branches ||||||
174+
| Edit wiki ||||||
175+
| Create and manage releases ||||||
176+
| Push to protected branches ||||||
177+
178+
### Issues & Pull Requests
179+
180+
| Capability | Read | Triage | Write | Maintain | Admin |
181+
|---|:---:|:---:|:---:|:---:|:---:|
182+
| Open issues and PRs ||||||
183+
| Comment on issues and PRs ||||||
184+
| Apply/remove labels ||||||
185+
| Assign/unassign users ||||||
186+
| Close/reopen issues and PRs ||||||
187+
| Mark as duplicate ||||||
188+
| Request PR reviews ||||||
189+
| Merge pull requests ||||||
190+
| Apply milestones ||||||
191+
192+
### Repository Settings & Administration
193+
194+
| Capability | Read | Triage | Write | Maintain | Admin |
195+
|---|:---:|:---:|:---:|:---:|:---:|
196+
| Manage topics ||||||
197+
| Edit repo description/website ||||||
198+
| Manage webhooks ||||||
199+
| Manage deploy keys ||||||
200+
| Manage branch protection rules ||||||
201+
| Manage rulesets ||||||
202+
| Change repo visibility ||||||
203+
| Delete the repository ||||||
204+
| Archive the repository ||||||
205+
| Add/remove collaborators ||||||
206+
| Manage GitHub Pages settings ||||||
207+
| Enable/disable features (wiki, issues, discussions) ||||||
208+
209+
### Security
210+
211+
| Capability | Read | Triage | Write | Maintain | Admin |
212+
|---|:---:|:---:|:---:|:---:|:---:|
213+
| View Dependabot alerts ||||||
214+
| Dismiss Dependabot alerts ||||||
215+
| View secret scanning alerts ||||||
216+
| Resolve secret scanning alerts ||||||
217+
| View code scanning alerts ||||||
218+
| Dismiss code scanning alerts ||||||
219+
| Security policy (`SECURITY.md`) ||||||
220+
| Create security advisories ||||||
221+
222+
::: tip Exam Tip
223+
The **Security Manager** org role (separate from repo roles) grants read access to security alerts across all repos in the org without needing Admin on each repo. This is the exam-preferred answer for "how to give the security team visibility without over-provisioning."
224+
:::
225+
226+
### GitHub Actions
227+
228+
| Capability | Read | Triage | Write | Maintain | Admin |
229+
|---|:---:|:---:|:---:|:---:|:---:|
230+
| View workflow runs and logs ||||||
231+
| Re-run workflows ||||||
232+
| Cancel workflows ||||||
233+
| Approve workflow runs (first-time contributors) ||||||
234+
| Manage repo-level secrets ||||||
235+
| Manage repo-level variables ||||||
236+
| Manage self-hosted runners (repo-level) ||||||
237+
| Configure required workflows ||||||
238+
239+
---
240+
241+
## Enterprise & Organization Role Summary
242+
243+
### Enterprise Roles
244+
245+
| Role | Capabilities |
246+
|---|---|
247+
| **Enterprise Owner** | Manage all orgs, enterprise policies, billing, SAML/SCIM, audit log, runners, IP allow lists |
248+
| **Enterprise Billing Manager** | View and manage enterprise billing only — no access to orgs, code, or policies |
249+
| **Enterprise Member** | Default role — access governed by org membership within the enterprise |
250+
251+
### Organization Roles (Extended)
252+
253+
| Role | Capabilities |
254+
|---|---|
255+
| **Owner** | Full admin — manage members, teams, billing, security settings, integrations, and policies |
256+
| **Member** | Access based on default permissions + team membership |
257+
| **Billing Manager** | View and manage org billing — no code or settings access |
258+
| **Security Manager** | View security alerts and settings across all repos — no code write access |
259+
| **Outside Collaborator** | Access to specific repos only — no org membership, no team access, no seat consumed |
260+
261+
::: warning Trap
262+
The **Security Manager** role is an organization role, not a repository role. It is assigned to a **team**, not individual users. The exam tests this distinction.
263+
:::
264+
265+
---
266+
160267
## Least Privilege in Practice
161268

162269
The principle of **least privilege** means giving users only the permissions they need — no more.

0 commit comments

Comments
 (0)