You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GitHub Enterprise Cloud Onboarding Implementation Plan
Purpose: Priority task list for a successful GitHub onboarding focusing on governance, compliance, settings, configuration, repository rules, and migration enablement.
Target State: Enable secure repository migration from other platforms to GitHub, with security-by-default features, PR validation, and GitHub Copilot full features ready for developers.
Document status
Last reviewed: 2026-05-19
Authorship: Drafted with AI assistance (GitHub Copilot, multi-model review) and reviewed by a human maintainer before publication.
Verify before acting: GitHub and Microsoft update product documentation continuously. Re-confirm against the live source pages before relying on this content for production decisions.
Choose between: Single Organization, Red-Green-Sandbox-Archive (recommended for most enterprises), or Business Unit Separation
Enterprise Architect
☐
Define Organization Naming Convention
Establish naming standard (e.g., company-green, company-red, company-sandbox)
Platform Team
☐
Document Access Model
Define base permissions strategy per organization (recommended: None or Read with explicit team grants)
Security Team
☐
Recommended Pattern: Red-Green-Sandbox-Archive
Organization
Purpose
Base Permission
Visibility Default
Green (~90% of repos)
Standard development, innersource collaboration
None
Internal/Private
Red (Need-to-know)
Confidential, regulated, or sensitive code
None
Private
Sandbox
Experimentation, POCs, hackathons
None
Internal/Private
Archive
Retired/historical repositories
None
Internal/Private
Note: Base permission of "None" for all organizations ensures private repositories require explicit team grants (least privilege). Internal repositories will still be visible to all enterprise members (GitHub enforces minimum read access for internal repos).
Confirm IdP: Microsoft Entra ID, Okta, PingFederate, or other SAML 2.0/OIDC compliant provider
IT Security
☐
Plan IdP Groups for Team Sync
Map existing IdP groups to planned GitHub teams
IT/Platform Team
☐
Prepare SCIM Integration
Plan user/group provisioning; ensure IdP supports SCIM 2.0
IT Identity Team
☐
Document Username Normalization
For EMU: Username format is {idp_username}_{shortcode} - plan for conflicts
IT Identity Team
☐
⚠️Critical: For EMU, mixing Okta and Entra ID for SSO and SCIM (in either direction) is explicitly unsupported. Choose one partner IdP for both authentication and provisioning.
0.5 Stakeholder Alignment
Task
Description
Owner
Status
Identify Enterprise Owners
Limit to 3-5 individuals maximum (C-level, senior IT leadership, security architects)
Executive Sponsor
☐
Identify Billing Managers
Finance/procurement personnel for cost management
Finance
☐
Identify Security Managers
Personnel who will manage security features and alerts enterprise-wide
Security Team
☐
Define RACI Matrix
Document responsibility matrix for GitHub administration
Best Practice: Setting base permission to "None" for all organizations ensures least privilege. Access must be explicitly granted via teams. Internal repositories maintain minimum read visibility for all enterprise members regardless of base permission setting.
3.3 Configure Team Structure
Task
Description
Owner
Status
Design Team Hierarchy
Create team structure aligned with IdP groups (limit nesting to 3-4 levels)
Platform Team
☐
Enable Team Sync
Connect IdP groups to GitHub teams for automatic membership
IT Identity Team
☐
Create Core Teams
Create teams for: Platform, Security, DevOps, Architecture
Org Admin
☐
Assign Team Maintainers
Designate 3+ maintainers per team for business continuity
⚠️ Deploy Keys Warning (per Security-by-Default Policies): Changing deploy keys policy to "disabled" will disable existing deploy keys in all repositories. Assess impact before changing.
GHAS Availability: This policy only impacts repository administrators; organization owners and security managers can always enable security features.
Copilot Autofix: This policy controls Autofix for code scanning security queries only; Copilot Autofix is integral to GitHub Code Quality and cannot be disabled for that feature.
AI Detection for Secret Scanning: This policy requires that repository administrators are allowed to enable Secret Protection (controlled by a separate policy).
version: 2updates:
# GitHub Actions
- package-ecosystem: "github-actions"directory: "/"schedule:
interval: "weekly"commit-message:
prefix: "ci:"labels:
- "dependencies"
- "github-actions"# Add ecosystems based on project type (npm, pip, maven, etc.)
4.2.2 Push Protection Configuration
Task
Description
Owner
Status
Enable Push Protection
Block pushes containing detected secrets
Security Team
☐
Configure Bypass Permissions
Limit bypass to Security team with documented procedures
Security Team
☐
Enable Bypass Request Workflow
Require approval for push protection bypass
Security Team
☐
4.3 Personal Access Token (PAT) Policies
Policy
Recommended Setting
Rationale
Status
Fine-Grained PAT Access
Allow with approval
Require org owner approval
☐
Classic PAT Access
Restrict or Block
Prefer fine-grained PATs
☐
PAT Maximum Lifetime
90-365 days
Limit exposure window - See note
☐
Fine-Grained PAT Approval
Require approval
Centralized token governance
☐
⚠️ PAT Lifetime Note (per Security-by-Default Policies): For fine-grained PATs, the default maximum lifetime is 366 days. Classic PATs do not have an expiration requirement by default.
Phase 5: Repository Governance and Rulesets
Duration: 2 weeks Priority: HIGH Prerequisites: Phase 4 complete
5.1 Organization-Level Repository Rulesets
5.1.1 Create Default Branch Protection Ruleset
Rule
Setting
Rationale
Status
Ruleset Name
default-branch-protection
-
☐
Enforcement
Active
Enforce immediately
☐
Target
Default branch (main)
Protect primary branches
☐
Apply to
All repositories
Organization-wide enforcement
☐
Rules to Include:
Rule
Recommended Setting
Status
Require Pull Request
Enable
☐
Required Approvals
At least 1 (2+ for production)
☐
Dismiss Stale Reviews
Enable
☐
Require CODEOWNERS Review
Enable
☐
Require Conversation Resolution
Enable
☐
Block Force Pushes
Enable
☐
Block Branch Deletion
Enable
☐
Require Up-to-Date Branches
Enable
☐
Require Signed Commits
Enable (if org readiness ≥80%) - See note below
☐
⚠️ Signed Commits Note: Per Security-by-Default Policies: "Consider organizational readiness before enforcing; developers need signing keys configured." Assess your organization's GPG/SSH signing key adoption before enabling this rule.
📋 Ruleset Philosophy: These are minimum baseline rulesets at the organization level. Individual teams/repositories can apply stricter rules as needed (e.g., 2+ approvals for production repos, additional status checks).
5.1.2 Create Required Status Checks Ruleset
Task
Description
Owner
Status
Define Required CI Checks
Specify required status check names (e.g., ci/build, ci/test)
Default Workflow Permissions: Enterprises created on or after February 2, 2023 default to read-only. Older enterprises may default to read-write - verify and update.
Fork Pull Request Workflows: Workflows triggered by pull_request_target events always run regardless of approval settings.
Repository-Level Runners: Self-hosted runners at repository level pose risks as they may be compromised by untrusted code.
6.2 Organization-Level Actions Configuration
Task
Description
Owner
Status
Configure Organization Secrets
Create shared secrets for CI/CD
Platform Team
☐
Configure Organization Variables
Create shared configuration variables
Platform Team
☐
Create Runner Groups
Organize runners by purpose (build, deploy, security)
Platform Team
☐
Limit Runner Group Access
Restrict runner groups to specific repositories
Platform Team
☐
6.3 Self-Hosted Runners (If Required)
Task
Description
Owner
Status
Plan Runner Infrastructure
Decide: Kubernetes, EC2 auto-scaling, AKS, or other
Platform Team
☐
Implement Runner Autoscaling
Configure scale-up/down based on queue depth
Platform Team
☐
Configure Runner Labels
Label runners by capability (os, gpu, size)
Platform Team
☐
Implement Runner Ephemeral Mode
Use ephemeral runners for security (new VM per job)
Platform Team
☐
Configure Runner Health Checks
Implement monitoring and automatic replacement
Platform Team
☐
6.4 Reusable Workflows
Task
Description
Owner
Status
Create Reusable CI Workflow
Standard build/test workflow
Platform Team
☐
Create Reusable Security Scanning Workflow
CodeQL, dependency review, secret scanning
Security Team
☐
Create Reusable Deployment Workflow
Standard deployment with approvals
Platform Team
☐
Document Workflow Usage
Create documentation for workflow consumption
Platform Team
☐
6.5 Environment Protection Rules
Task
Description
Owner
Status
Create Environment Definitions
Create: development, staging, production
Platform Team
☐
Configure Production Reviewers
Require approval from designated reviewers for production
Platform Team
☐
Configure Environment Secrets
Set environment-specific secrets
Platform Team
☐
Configure Deployment Branch Policies
Limit which branches can deploy to each environment
⚠️Important: Content exclusions do NOT apply to Copilot Coding Agent and Agent Mode. If content exclusion is critical for compliance, consider disabling these features at enterprise level.
7.3 License Management
Task
Description
Owner
Status
Define License Assignment Strategy
Choose: Direct assignment, team-based, or organization-wide
Platform Team
☐
Configure Seat Assignment
Assign Copilot seats to users/teams
Org Admin
☐
Set Up Usage Monitoring
Enable tracking to identify underutilized licenses
Platform Team
☐
Establish Reclamation Process
Process to reclaim seats from inactive users
Platform Team
☐
7.4 Network Configuration for Copilot
Task
Description
Owner
Status
Configure Firewall Allowlist
Add Copilot domains to corporate firewall allowlist
Network Team
☐
Configure SSL Certificate Trust
If using SSL inspection, ensure Copilot endpoints trusted
Network Team
☐
Document Proxy Configuration
Document proxy settings for developer IDEs
Platform Team
☐
Required Copilot Endpoints for Firewall Allowlist: