Skip to content

Commit b215e4a

Browse files
authored
A nested GitHub team cannot be secret (#298)
1 parent c2b1107 commit b215e4a

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

practices/security-repository.md renamed to practices/securing-repositories.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Securing repositories
1+
# Securing Repositories
22

3-
- [Securing repositories](#securing-repositories)
3+
- [Securing Repositories](#securing-repositories)
44
- [Prerequisites](#prerequisites)
55
- [Access controls](#access-controls)
66
- [Organisation-level settings](#organisation-level-settings)
@@ -35,14 +35,16 @@ This guide lays out security best practice for Github repositories. This set of
3535

3636
### Teams setup
3737

38-
Because of baseline visibility configurations, you must setup Github teams in order to provide team members access to repos. The minimum recommended setup is as follows:
38+
Because of baseline visibility configurations, you must setup GitHub teams in order to provide team members access to repositories. The minimum recommended setup is as follows:
3939

4040
- Create one team with the name of your programme (e.g. `Engineering Quality Framework`). Add all required members to this team.
41-
- Create one child team within the team, for admins only (e.g. `Engineering Quality Framework Admins`). Add admins only to this team. Set the visibility of the team to `Secret`.
42-
- Create a second child team, for code owners (e.g. `Engineering Quality Framework Code Owners`). Add relevant members to this team, and reference in the CODEOWNERS file (example [here](https://github.com/NHSDigital/software-engineering-quality-framework/blob/master/.github/CODEOWNERS)). Set the visibility of the team to `Secret`.
41+
- Create one child team within the team, for admins only (e.g. `Engineering Quality Framework Admins`). Add admins only to this team.
42+
- Create a second child team, for code owners (e.g. `Engineering Quality Framework Code Owners`). Add relevant members to this team, and reference in the CODEOWNERS file (example [here](https://github.com/NHSDigital/software-engineering-quality-framework/blob/master/.github/CODEOWNERS)).
4343
- For each repo in your programme (e.g. `software-engineering-quality-framework`), under the `Manage Access` option in `Settings`, set the general team to have `Write` access and the admins team to have `Admin` access.
4444

45-
Depending on your use case, you may want to create additional teams (e.g. a read-only access team, or different teams granting access to different projects). This is welcomed by the framework, as long as the teams provide clarity on the role they encompass, remain consistent and are applied consistently to your repos.
45+
Child teams inherit the parent's access permissions, simplifying permissions management for large groups. Members of child teams also receive notifications when the parent team is `@mentioned`, simplifying communication with multiple groups of people.
46+
47+
Depending on your use case, you may want to create additional teams (e.g. a read-only access team, or different teams granting access to different projects). This is welcomed by the framework, as long as the teams provide clarity on the role they encompass, remain consistent and are applied consistently to your repositories.
4648

4749
## Code security
4850

tech-debt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Here is a non-exhaustive list of examples we consider to be *in* scope of "techn
4141
* Code you no longer need ([e.g. a new managed service is available](patterns/outsource-bottom-up.md))
4242
* Technologies no longer needed (e.g. you've introduced something better than what you used before)
4343
* CI issues, e.g. lack of [fast feedback](patterns/fast-feedback.md), or intermittent [build failures](practices/continuous-integration.md)
44-
* [Code-repository configuration issues](practices/security-repository.md), e.g. lack of branch protection rules
44+
* [Code-repository configuration issues](practices/securing-repositories.md), e.g. lack of branch protection rules
4545
* Manual processes that could be [automated](patterns/automate-everything.md)
4646
* Software components with inappropriate / confused [domain boundaries](patterns/architect-for-flow.md)
4747
* Use of obsolete / unsupported technologies

0 commit comments

Comments
 (0)