Security1 publisher2 min readPublished
Enterprise admins can revoke every SSO-authorized GitHub credential in one action
GitHub Enterprise Cloud lets an admin clear SSO authorizations for personal access tokens, SSH keys and app user tokens across every organization at once, while deleting the credentials themselves stays limited to Enterprise Managed Users.
The Watch · Security desk

What happened
- GitHub Enterprise Cloud admins can revoke SSO authorizations for a single member, for one credential type across the whole enterprise, or as a bulk action covering every member and every supported type.
- A second action deletes user tokens and SSH keys outright, including credentials that hold no SSO authorization, and GitHub limits it to enterprises running Enterprise Managed Users.
- Organization owners have the same two actions at organization level, through the GitHub interface or the REST endpoints for organizations.
Compiled by The WatchSomething wrong?How this is made
Why it matters
- capability Cutting programmatic access to SSO-protected organization resources is one console action for an entire tenancy, so the incident lead's job becomes deciding whether to accept the resulting outage.
- cost The bill for a bulk revoke is paid by members reissuing tokens and keys one at a time, and by every automation on a user credential sitting idle until they do.
- constraint A response plan cannot assume the switch exists: whether an enterprise can delete credentials, only unhook them from SSO, or neither, is fixed by its identity configuration long before the incident.
Revoking an SSO authorization leaves the credential alive [7]. The token or key keeps its permissions for user and enterprise scopes, and it keeps access to any organization in the enterprise that is not SSO-protected [7]. Credentials that were never authorized for SSO are unaffected [8]. A stolen classic PAT therefore survives an enterprise-wide revoke with whatever user-scope access it had. Removing the credential itself takes the other action.
Fine-grained personal access tokens behave differently. Where an organization is the token's resource owner, the revoke removes that resource owner and with it access to the organization's resources [9]. The user can set the resource owner back to the organization account, and whether that needs approval depends on the enterprise's personal access token policy [10]. If the compromised account is the one holding the token, containment of that token type lasts as long as approval is enforced.
Recovery for the other types is a rebuild. Credentials whose SSO authorizations were revoked cannot be re-authorized for the affected organizations, so users have to create new credentials and authorize those [6]. GitHub presents both actions as a way to prevent programmatic access to the enterprise or its organizations when a security incident hits [1]. Any job running on a member's classic PAT or SSH key against an SSO-protected repository stops until that member reissues. The credential counts are exact up to 10,000 of a type; above that the page displays 10k+ tokens [12].
The controls sit in enterprise Settings under Authentication security [18]. By default each action targets every credential type that supports it, and an admin can narrow it to a single type, classic PATs or user SSH keys for instance, to contain an incident without disrupting the rest [16]. Both also run through the REST endpoints for enterprise credential authorizations [14]. The documentation lists audit log events for each action [17].
An enterprise that does not use Enterprise Managed Users and has not enabled SAML SSO has neither action available [13]. GitHub's stated alternative there is an enterprise policy that expires all personal access tokens [13]. That policy reaches tokens. User SSH keys are counted as a separate credential type on the same settings page and sit outside its scope [20]. The documentation page does not say when the two actions shipped [21].
What to watch
- Whether GitHub extends credential deletion beyond Enterprise Managed Users to SAML SSO enterprises.
- Whether approval becomes the default when a user restores an organization as a fine-grained PAT's resource owner.
- The first publicly reported use of enterprise-wide bulk revoke during a live intrusion, and what stopped running in CI when it fired.