Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started Now!

GitHub Organization Policies – Complete Guide


GitHub Organization Policies are rules and settings enforced at the organization level to control how repositories, members, and integrations behave. These policies help you:

  • Improve security and compliance
  • Standardize development practices
  • Automate access controls
  • Enforce governance at scale

πŸ“˜ Section 1: What are GitHub Organization Policies?

βœ… Definition:

Organization policies in GitHub are configurations and rules set by organization owners to govern repositories, teams, members, and applications within that organization.


🧰 Section 2: What Can You Do With Organization Policies?

Here’s what you can control:

CategoryPolicy Examples
Member ManagementRequire 2FA, restrict repo creation, limit external collaborators
Repository SettingsDefault branch protection rules, required reviews, commit signing
App/Token AccessRestrict GitHub Apps, OAuth apps, PAT usage
SecurityEnforce Dependabot, secret scanning, code scanning
CI/CDRestrict GitHub Actions to certain runners or workflows
ComplianceAudit logs, webhook permissions, access controls

πŸš€ Section 3: Basic Setup Guide

🧩 Step 1: Create a GitHub Organization

  1. Go to https://github.com/organizations/new
  2. Choose a name, billing plan (Free/Team/Enterprise), and invite members.

πŸ›  Step 2: Enable & Enforce 2FA

Use case: Ensure all members have two-factor authentication.

How:

  1. Go to your organization > Settings > Security > Authentication security
  2. Enable: Require two-factor authentication

πŸ”’ Effect: Users without 2FA will be removed from the org after 1 day.


πŸ—‚ Step 3: Restrict Repository Creation

Use case: Prevent users from creating repos outside approved governance.

How:

  • Go to Settings > Member Privileges
  • Under Repository Creation, choose:
    • No one
    • Selected members/teams
    • Only admins

βš™ Step 4: Apply Default Repository Settings

Use case: Standardize settings for every new repo (branch protection, etc.)

How:

  • Go to Settings > Repository Defaults
    • Default branch: main
    • Default visibility: private
    • Require branch protection rules

πŸ” Step 5: Configure Branch Protection

Use case: Prevent force-pushes, require reviews, enforce CI

How:

  • Navigate to a repo > Settings > Branches > Add Rule
    • Require PR review (1+)
    • Require status checks (CI passing)
    • Require signed commits

For org-wide setup, create a template repo with protection rules.


🧾 Step 6: Enable Audit Logging (Enterprise)

Use case: Track changes, user actions, security breaches.

How:

  • Go to your GitHub Enterprise org > Settings > Audit Log
  • Filter by event types, users, or repositories.

πŸ’Ό Section 4: Intermediate Policy Use Cases

🎯 1. Restrict GitHub Actions Use

How:

  • Go to Settings > Actions > Policies
    • Allow only internal actions
    • Restrict to specific workflows or runner groups
    • Require approval for external workflows

🧠 2. Limit GitHub App Installations

How:

  • Go to Settings > Third-party access
    • Allow only approved GitHub Apps
    • Block unknown OAuth apps or PATs

πŸ“¦ 3. Set Organization-wide Secrets

Use case: Provide centralized secrets for all CI/CD.

How:

  • Go to Settings > Secrets and variables
    • Add Organization Secrets (e.g., AWS keys, API tokens)

🧠 Section 5: Advanced Governance (Enterprise Tier)

If you’re using GitHub Enterprise Cloud or Enterprise Managed Users, here are advanced controls:

πŸ” Enterprise Policies via GitHub CLI / API

Example: Enforce 2FA using CLI

gh api \
  --method PATCH \
  -H "Accept: application/vnd.github+json" \
  /orgs/YOUR_ORG \
  -f members_can_create_repositories=false

πŸ›οΈ GitHub Policy Service (beta/enterprise)

GitHub has an internal feature called Policy Service (in private beta) that allows defining JSON/YAML-based policy rules like:

require_codeowners:
  enabled: true
require_pull_request_reviews:
  required_approving_review_count: 2

These policies are applied org-wide for compliance automation.


πŸ’‘ Real-World Use Cases

Use CasePolicy/Feature Required
Enforce 2FA for all membersSettings > Security
Prevent unapproved GitHub ActionsSettings > Actions > Workflow Restrictions
Centralized secrets for deploymentsOrganization > Secrets
Standardize repo setup with templatesRepository Templates + Default Settings
Enforce CI + code reviewBranch Protection Rules
Deny external OAuth appsThird-party Access Settings
Require CODEOWNERS for ownershipBranch Protection + CODEOWNERS file

πŸ“Œ Best Practices

  • Use Teams to manage access instead of individual users.
  • Enforce branch protection on main branches.
  • Create a compliance repo documenting all policies.
  • Use Audit Logs to monitor suspicious activity.
  • Keep GitHub Apps and PATs tightly scoped.
  • Review member privileges quarterly.

πŸ“š Bonus: GitHub CLI for Org Policies

You can script organization policies with GitHub CLI:

# Disable repository creation by members
gh api --method PATCH /orgs/MY_ORG \
  -f members_can_create_repositories=false

βœ… Summary

CapabilityOrg Policy Feature
Security enforcement2FA, OAuth App control, token control
Collaboration governanceTeam-based access, repo creation limits
Dev workflow enforcementBranch protection, CODEOWNERS, CI
Automation & IntegrationGitHub Apps, Action runner controls
Central secrets managementOrg-wide Secrets
Visibility & auditAudit Logs, Action logs

Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

Certification Courses

DevOpsSchool has introduced a series of professional certification courses designed to enhance your skills and expertise in cutting-edge technologies and methodologies. Whether you are aiming to excel in development, security, or operations, these certifications provide a comprehensive learning experience. Explore the following programs:

DevOps Certification, SRE Certification, and DevSecOps Certification by DevOpsSchool

Explore our DevOps Certification, SRE Certification, and DevSecOps Certification programs at DevOpsSchool. Gain the expertise needed to excel in your career with hands-on training and globally recognized certifications.

0
Would love your thoughts, please comment.x
()
x