Skip to main content

GitHub Enterprise Server

Description

The GitHub Enterprise Server connector uses the GitHub REST API to discover organisation members, team memberships, and repository permissions within a self-hosted GitHub Enterprise Server (GHES) instance. It authenticates using a Personal Access Token (PAT) and provides visibility into developer and service account access across organisations and repositories.

System Type Classification

FieldValue
System TypeApplication
Default Scan Priority500

Version Support

OrbisID EditionSupported
CommunityNo
ProYes
EnterpriseYes

Supported Protocol

ProtocolPortNotes
REST API (HTTPS)443 TCPPersonal Access Token (PAT) via Authorization: Bearer header

What OrbisID Discovers

DataSource
Organisation membersGET /api/v3/orgs/{org}/members
TeamsGET /api/v3/orgs/{org}/teams
Team membershipsGET /api/v3/teams/{id}/members
Organisation rolesrole field per member (member, admin)
Outside collaboratorsGET /api/v3/orgs/{org}/outside_collaborators

Connection Requirements

Required Permissions

Create a dedicated service account and generate a PAT with the required scopes.

Minimum PAT scopes:

  • read:org — read organisation memberships and team structures
  • read:user — read user profile information

Credential Mapping

OrbisID FieldValue
credential.passwordPersonal Access Token (PAT)
system.hostnameGHES hostname (e.g., github.example.com)

Network Requirements

The OrbisID server must have HTTPS access to the GitHub Enterprise Server on port 443.

Configuration Steps

  1. In GitHub Enterprise Server, create a dedicated service account user
  2. Generate a Personal Access Token: Settings → Developer settings → Personal access tokens
  3. Grant read:org and read:user scopes
  4. Create a Credential in OrbisID:
    • Password: Personal Access Token
  5. Navigate to Systems → Add System
  6. Fill in the fields:
FieldValue
NameDescriptive name (e.g., GitHub Enterprise – Engineering)
OS TypeGitHubEnterprise
System TypeApplication
HostnameGHES hostname
CredentialThe PAT credential
  1. Click Test Connection
  2. Click Save

Troubleshooting

SymptomLikely CauseResolution
401 UnauthorizedInvalid or expired PATRegenerate the Personal Access Token
No organisations returnedPAT missing read:org scopeRegenerate PAT with the correct scopes
403 ForbiddenOrganisation SSO not authorisedAuthorise the PAT for SAML SSO in the organisation settings
Cannot connectGHES not reachableVerify HTTPS connectivity on port 443