Skip to content

Commit 5adc086

Browse files
authored
Merge pull request #44895 from github/repo-sync
Repo sync
2 parents 6bbac12 + fca997e commit 5adc086

18 files changed

Lines changed: 277 additions & 29 deletions

File tree

content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ The identity data on this page will include the SCIM data that was sent to {% da
7676

7777
{% data reusables.saml.about-authorized-credentials %}
7878

79+
{% ifversion single_user_cred_revocation %}
80+
81+
You can also revoke SSO authorizations for individual users or all users. For enterprises with {% data variables.product.prodname_emus %}, you can delete credentials entirely. This is useful for responding to security incidents. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/managing-iam/respond-to-incidents/revoke-authorizations-or-tokens).
82+
83+
{% endif %}
84+
7985
{% data reusables.enterprise-accounts.access-enterprise %}
8086
{% data reusables.enterprise-accounts.people-tab %}
8187
{% data reusables.saml.click-person-revoke-credentials %}

content/admin/managing-iam/respond-to-incidents/revoke-authorizations-or-tokens.md

Lines changed: 78 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Revoking SSO authorizations or deleting credentials in your enterprise
3-
intro: Respond to a security incident by taking bulk action on credentials with access to your enterprise.
3+
intro: Respond to a security incident by taking action on credentials with access to your enterprise.
44
permissions: Enterprise owners and users with the "Manage enterprise credentials" fine-grained permission
55
product: Enterprises with managed users, or enterprises that have enabled SAML SSO for the enterprise or its organizations
66
versions:
@@ -11,14 +11,25 @@ category:
1111
- Configure authentication
1212
---
1313

14-
When your enterprise is affected by a major security incident, you can respond by preventing programmatic access to your enterprise or its organizations.
14+
When your enterprise is affected by a security incident, you can respond by preventing programmatic access to your enterprise or its organizations.
1515

16-
In the "Authentication security" section of your enterprise settings, you can review counts for user tokens and keys that are authorized for single sign-on (SSO). Then, if needed, you can use one of the following bulk actions in the "Danger zone":
16+
Available actions:
1717

1818
* **Revoke SSO authorizations** to remove access to SSO-protected organization resources for user credentials in your enterprise.
1919
* **Delete keys and tokens** to remove user tokens and SSH keys in your enterprise, even if they don't have an SSO authorization ({% data variables.product.prodname_emus %} only).
2020

21-
>[!WARNING] These are high-impact actions that should be reserved for major security incidents. They are likely to break automations, and it could take months of work to restore your original state. For alternative options for responding to individual compromised tokens on a smaller scale, see the [Resources for smaller-scale responses](#resources-for-smaller-scale-responses) section.
21+
{% ifversion single_user_cred_revocation %}
22+
23+
In the "Authentication security" section of your enterprise settings, you can review counts for user tokens and keys that are authorized for single sign-on (SSO). Then, if needed, you can take action against credentials:
24+
25+
* **For individual members**: Revoke SSO authorizations or delete credentials for a specific user when responding to a targeted incident or performing routine access cleanup.
26+
* **For all members (bulk action)**: Take bulk action to revoke SSO authorizations or delete credentials across all members when responding to a major security incident.
27+
28+
{% else %}
29+
30+
In the "Authentication security" section of your enterprise settings, you can review counts for user tokens and keys that are authorized for single sign-on (SSO). Then, if needed, you can use bulk actions in the "Danger zone" to revoke SSO authorizations or delete credentials.
31+
32+
{% endif %}
2233

2334
## Accessing the authentication security page
2435

@@ -39,17 +50,17 @@ The counts include:
3950

4051
An exact count is displayed if there are 10,000 or fewer of a token type. Above that figure, the description `10k+ tokens` is displayed.
4152

42-
## Taking bulk action (danger zone)
53+
## Understanding the available actions
4354

44-
Use the **Danger zone** bulk action buttons to respond to a security incident as needed. The following sections describe each action, which SSO authorizations or credentials are impacted, and related audit log events.
55+
The following sections describe what each action does, which SSO authorizations or credentials are impacted, and related audit log events.
4556

46-
>[!NOTE] If your enterprise does **not** use {% data variables.product.prodname_emus %} and has **not** enabled SAML SSO, neither of these actions is available. As an alternative, if you need users to replace {% data variables.product.pat_generic_plural %} as part of your incident response, you can configure an enterprise policy to expire all {% data variables.product.pat_generic_plural %}. See [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise).
57+
> [!NOTE] If your enterprise does **not** use {% data variables.product.prodname_emus %} and has **not** enabled SAML SSO, neither of these actions is available. As an alternative, if you need users to replace {% data variables.product.pat_generic_plural %} as part of your incident response, you can configure an enterprise policy to expire all {% data variables.product.pat_generic_plural %}. See [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise).
4758
4859
### Revoke SSO authorizations
4960

5061
This action is available for {% data variables.product.prodname_emus %} or enterprises that use SAML SSO.
5162

52-
Revoking authorizations removes SSO authorizations for user tokens and SSH keys across all organizations in your enterprise.
63+
Revoking authorizations removes SSO authorizations for user tokens and SSH keys{% ifversion single_user_cred_revocation %}, either for a specific user or{% endif %} across all organizations in your enterprise.
5364

5465
* Credentials that have had SSO authorizations revoked **cannot be re-authorized** for the affected organizations. To restore access, users must create new credentials and authorize them.
5566
* The credentials themselves are not deleted, and their permissions for the user and enterprise scopes, and for non-SSO-protected organizations, **remain active**.
@@ -61,7 +72,7 @@ Authorization for **{% data variables.product.pat_v2_plural %}** works different
6172

6273
This action is available for {% data variables.product.prodname_emus %} only.
6374

64-
Deleting keys and tokens removes credentials that have access to your enterprise, regardless of whether they are authorized for SSO. The credentials stop working and are no longer visible in the UI.
75+
Deleting keys and tokens removes credentials that have access to your enterprise{% ifversion single_user_cred_revocation %}, either for a specific user or for all users{% endif %}, regardless of whether they are authorized for SSO. The credentials stop working and are no longer visible in the UI.
6576

6677
To restore programmatic access, users must create new credentials, authorize them with organizations if required, and update affected processes to use the new credentials.
6778

@@ -97,6 +108,64 @@ The "delete tokens" action also generates those events, and additionally generat
97108
* `oauth_access.destroy`
98109
* `personal_access_token.destroy`
99110

111+
{% ifversion single_user_cred_revocation %}
112+
113+
## Taking action against individual members
114+
115+
You can revoke SSO authorizations or delete credentials for a specific user. This is useful for responding to incidents affecting individual accounts, such as a compromised account or lost hardware, or for routine access cleanup.
116+
117+
### Revoking authorizations for a specific user
118+
119+
{% data reusables.enterprise-accounts.access-enterprise %}
120+
{% data reusables.enterprise-accounts.settings-tab %}
121+
1. In the left sidebar, click **Authentication security**.
122+
1. In the "Danger zone" section, click **Revoke for ▼**, then click **A specific user**.
123+
1. Select the user whose authorizations you want to revoke.
124+
1. To confirm, type `USERNAME credentials` (replacing `USERNAME` with the user's username).
125+
1. Click **Revoke authorizations**.
126+
127+
### Deleting credentials for a specific user
128+
129+
This action is available for {% data variables.product.prodname_emus %} only.
130+
131+
{% data reusables.enterprise-accounts.access-enterprise %}
132+
{% data reusables.enterprise-accounts.settings-tab %}
133+
1. In the left sidebar, click **Authentication security**.
134+
1. In the "Danger zone" section, click **Delete for ▼**, then click **A specific user**.
135+
1. Select the user whose credentials you want to delete.
136+
1. To confirm, type `USERNAME credentials` (replacing `USERNAME` with the user's username).
137+
1. Click **Delete keys and tokens**.
138+
139+
{% endif %}
140+
141+
## Taking bulk action against all members
142+
143+
Use the **Danger zone** bulk action buttons to respond to a major security incident by taking action against all members of your enterprise.
144+
145+
> [!WARNING] Bulk actions are high-impact actions that should be reserved for major security incidents. They are likely to break automations, and it could take months of work to restore your original state.
146+
147+
### Revoking authorizations for all members
148+
149+
{% data reusables.enterprise-accounts.access-enterprise %}
150+
{% data reusables.enterprise-accounts.settings-tab %}
151+
1. In the left sidebar, click **Authentication security**.
152+
1. In the "Danger zone" section, click **Revoke{% ifversion single_user_cred_revocation %} for ▼**, then click **All users{% endif %}**.
153+
1. Read the warning about the impact of this action.
154+
1. To confirm, type the name of your enterprise.
155+
1. Click **Revoke authorizations**.
156+
157+
### Deleting credentials for all members
158+
159+
This action is available for {% data variables.product.prodname_emus %} only.
160+
161+
{% data reusables.enterprise-accounts.access-enterprise %}
162+
{% data reusables.enterprise-accounts.settings-tab %}
163+
1. In the left sidebar, click **Authentication security**.
164+
1. In the "Danger zone" section, click **Delete{% ifversion single_user_cred_revocation %} for ▼**, then click **All users{% endif %}**.
165+
1. Read the warning about the impact of this action.
166+
1. To confirm, type the name of your enterprise.
167+
1. Click **Delete keys and tokens**.
168+
100169
## Resources for smaller-scale responses
101170

102171
The following articles describe alternative actions for managing incidents that are smaller in scope, where you can identify specific compromised tokens or user accounts.

content/authentication/keeping-your-account-and-data-secure/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ children:
1818
- /reviewing-your-ssh-keys
1919
- /reviewing-your-deploy-keys
2020
- /token-expiration-and-revocation
21+
- /revoking-your-credentials
2122
- /reviewing-your-security-log
2223
- /security-log-events
2324
- /removing-sensitive-data-from-a-repository

content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ After changing your password, you should perform these actions to make sure that
1919

2020
* Enable two-factor authentication on your account so that access requires more than just a password. For more information, see [AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication).
2121
* Add a passkey to your account to enable a secure, passwordless login. Passkeys are phishing-resistant, and they don't require memorization or active management. See [AUTOTITLE](/authentication/authenticating-with-a-passkey/about-passkeys).
22-
* Review your SSH keys, deploy keys, and authorized OAuth apps and GitHub Apps and revoke unauthorized or unfamiliar access in your SSH and Applications settings. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys), [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys), [AUTOTITLE](/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps), and [AUTOTITLE](/apps/using-github-apps/reviewing-your-authorized-integrations).
22+
* Review your SSH keys, deploy keys, and authorized OAuth apps and GitHub Apps and revoke unauthorized or unfamiliar access in your SSH and Applications settings. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys), [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys), [AUTOTITLE](/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps), and [AUTOTITLE](/apps/using-github-apps/reviewing-your-authorized-integrations).{% ifversion single_user_cred_revocation %}
23+
* If you believe your account may be compromised, you can revoke all your authorizations or delete all your credentials at once. See [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/revoking-your-credentials).{% endif %}
2324
{% ifversion fpt or ghec %}
2425
* Verify all your email addresses. If an attacker added their email address to your account, it could allow them to force an unintended password reset. For more information, see [AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/verifying-your-email-address).
2526
{% endif %}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: Revoking your credentials
3+
intro: 'If you believe your account credentials may be compromised, you can revoke all your authorizations to protect any enterprises you have access to. If you are a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you can also choose to delete all your credentials.'
4+
versions:
5+
feature: single_user_cred_revocation
6+
shortTitle: Revoke your credentials
7+
category:
8+
- Manage access credentials
9+
---
10+
11+
If you believe your account may be compromised, your hardware was lost or stolen, or you otherwise need to immediately revoke all access associated with your account, you can take action on all of your credentials at once to quickly reduce risk.
12+
13+
Depending on your account type, the following actions are available:
14+
15+
* **Revoke all SSO authorizations**: Remove your credentials' access to SSO-protected resources in an enterprise. This action removes SSO authorizations but does not delete the credentials themselves.
16+
* **Delete all keys and tokens**: Permanently delete all your tokens and SSH keys. This option is available for members of an {% data variables.enterprise.prodname_emu_enterprise %}.
17+
18+
> [!WARNING] These actions are irreversible. Once you revoke authorizations or delete credentials, you cannot restore them. You will need to create new credentials and re-authorize them for any organizations or processes that require access.
19+
20+
## Understanding the impact
21+
22+
Before taking action, consider the following:
23+
24+
* **Automations will break**: Any scripts, CI/CD pipelines, or automated processes that use your tokens will stop working.
25+
* **Re-authorization required**: After revoking SSO authorizations, you will need to create new credentials and authorize them with each organization.
26+
* **SSH access**: If you delete your SSH keys, you will need to generate new keys and add them to your account to continue using SSH.
27+
28+
## Revoking all SSO authorizations
29+
30+
{% data reusables.user-settings.access_settings %}
31+
1. In the "Access" section of the sidebar, click **Credentials**.
32+
1. Under "Danger zone", click **Revoke all**.
33+
1. From the **Enterprise** dropdown, select the enterprise where you want to revoke your authorizations.
34+
1. To confirm, type `USERNAME credentials` (replacing `USERNAME` with your username).
35+
1. Click **Revoke authorizations**.
36+
37+
## Deleting all keys and tokens
38+
39+
You can bulk-delete your credentials if you are a member of an {% data variables.enterprise.prodname_emu_enterprise %}.
40+
41+
{% data reusables.user-settings.access_settings %}
42+
1. In the "Access" section of the sidebar, click **Credentials**.
43+
1. Under "Danger zone", click **Delete all**.
44+
1. To confirm, type `USERNAME credentials` (replacing `USERNAME` with your username).
45+
1. Click **Delete keys and tokens**.
46+
47+
## After revoking or deleting credentials
48+
49+
After taking action on your credentials:
50+
51+
1. **Create new credentials**: Generate new {% data variables.product.pat_generic_plural %} and SSH keys as needed. See [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) and [AUTOTITLE](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account).
52+
1. **Re-authorize for SSO**: If your organizations require SSO, authorize your new credentials. See [AUTOTITLE](/authentication/authenticating-with-single-sign-on/authorizing-a-personal-access-token-for-use-with-single-sign-on) and [AUTOTITLE](/authentication/authenticating-with-single-sign-on/authorizing-an-ssh-key-for-use-with-single-sign-on).
53+
1. **Update automations**: Update any scripts, CI/CD pipelines, or other automated processes with your new credentials.
54+
1. **Review your security**: Consider enabling two-factor authentication and reviewing your authorized applications. See [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access).
55+
56+
## Further reading
57+
58+
* [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation)
59+
* [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys)
60+
* [AUTOTITLE](/apps/using-github-apps/reviewing-your-authorized-integrations)

content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ You can revoke your authorization of a {% data variables.product.prodname_github
4444

4545
Once an authorization is revoked, any tokens associated with the authorization will be revoked as well. To reauthorize an application, follow the instructions from the third-party application or website to connect your account on {% data variables.product.prodname_dotcom %} again.
4646

47+
{% ifversion single_user_cred_revocation %}
48+
49+
You can also revoke all your credentials at once from your account settings. This is useful if you believe your account may be compromised or your hardware was lost or stolen. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/revoking-your-credentials).
50+
51+
{% endif %}
52+
4753
{% ifversion fpt or ghec %}
4854

4955
## Token revoked by a third party
@@ -77,3 +83,13 @@ The owner of an {% data variables.product.prodname_oauth_app %} can revoke an ac
7783
## User token expired due to {% data variables.product.prodname_github_app %} configuration
7884

7985
User access tokens created by a {% data variables.product.prodname_github_app %} will expire after eight hours by default, and then must be regenerated using the included refresh token. Owners of {% data variables.product.prodname_github_apps %} can optionally configure these tokens to never expire instead, but this is not recommended due to the security implications. For more information about configuring your {% data variables.product.prodname_github_app %}'s user access tokens, see [AUTOTITLE](/apps/maintaining-github-apps/activating-optional-features-for-github-apps).
86+
87+
{% ifversion fpt or ghec %}
88+
89+
## Token revoked by enterprise owners
90+
91+
Enterprise owners on {% data variables.product.prodname_ghe_cloud %} can revoke SSO authorizations or delete credentials{% ifversion single_user_cred_revocation %} for individual users or{% endif %} in bulk when responding to security incidents. Revoking SSO authorizations removes access to SSO-protected organization resources, while deleting credentials (available for {% data variables.product.prodname_emus %} only) removes the credentials entirely.
92+
93+
For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/managing-iam/respond-to-incidents/revoke-authorizations-or-tokens).
94+
95+
{% endif %}

0 commit comments

Comments
 (0)