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
Copy file name to clipboardExpand all lines: learn-pr/github/authenticate-authorize-user-identities-github/includes/4-authorization.md
+34-23Lines changed: 34 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,25 +1,26 @@
1
-
After a user successfully authenticates through your identity provider (IdP) using SAML single sign-on (SSO), the next critical step is authorization—granting tools like personal access tokens (PATs), SSH keys, or OAuth apps the ability to access organization resources.
1
+
After a user successfully authenticates through your identity provider (IdP) by using SAML single sign-on (SSO), the next critical step is authorization—granting tools like personal access tokens (PATs), SSH keys, or OAuth apps with the ability to access organization resources.
2
2
3
3
## Automating User Authorization with SAML SSO and SCIM
4
4
5
-
SAML SSO enables enterprise and organization owners to control access to GitHub resources like repositories, issues, and pull requests. Integrating SCIM (System for Cross-domain Identity Management) enhances this by automating user provisioning and deprovisioning.
5
+
Security assertion markup language (SAML) SSO enables enterprise and organization owners to control access to GitHub resources like repositories, issues, and pull requests. Integrating SCIM (System for Cross-domain Identity Management) enhances access control by automating user provisioning and deprovisioning.
6
6
7
7
:::image type="content" source="../media/enable-scim-user-provisioning-example.png" alt-text="Screenshot of the SCIM setting." :::
8
8
9
9
With SCIM, new employees added to your IdP are granted access to GitHub automatically, while departing users are removed, reducing manual steps and improving security.
10
10
11
11
> [!NOTE]
12
-
> Without SCIM, SAML SSO alone does not support automatic deprovisioning of organization members.
12
+
> Without SCIM, SAML SSO alone doesn't support automatic deprovisioning of organization members.
13
13
14
-
SCIM also revokes stale tokens after a session ends, reducing security risks. Without SCIM, this must be done manually.
14
+
SCIM also revokes stale tokens after a session ends, reducing security risks. Without SCIM, revoking stale tokens must be done manually.
15
15
16
16
## Managing SSH Keys and PATs with SAML SSO
17
17
18
-
SAML SSO and SCIM work together to reflect identity changes in GitHub. To support this:
18
+
SAML SSO and SCIM work together to reflect identity changes in GitHub. To support this cohesion:
19
+
19
20
-`NameID` and `userName` must match between the SAML IdP and SCIM client.
20
21
- Group changes in your IdP trigger SCIM updates in GitHub.
21
22
22
-
Users accessing APIs or Git must use an authorized PAT or SSH key. These are auditable and securely tied to SAML SSO.
23
+
Users accessing APIs or Git must use an authorized PAT or SSH key. These methods are auditable and securely tied to SAML SSO.
23
24
24
25
:::image type="content" source="../media/saml-sso-ssh-key-example.png" alt-text="Screenshot of the SSH key." :::
25
26
@@ -34,8 +35,9 @@ SCIM streamlines identity management in GitHub Enterprise Cloud by supporting bo
34
35
### Supported SCIM Providers
35
36
36
37
GitHub natively supports:
38
+
37
39
- Okta
38
-
-Azure AD
40
+
-Microsoft Entra ID
39
41
- OneLogin
40
42
- Ping Identity
41
43
- Google Workspace
@@ -49,10 +51,12 @@ If your IdP isn't natively supported, use GitHub’s SCIM API to build custom in
49
51
#### SCIM API Overview
50
52
51
53
The SCIM 2.0 API allows you to:
54
+
52
55
- Create, update, and delete users
53
56
- Manage groups
54
57
55
-
#### Example Request to Provision a User:
58
+
#### Example Request to Provision a User
59
+
56
60
```http
57
61
POST /scim/v2/Users
58
62
Content-Type: application/json
@@ -76,17 +80,19 @@ GitHub processes this request and adds the user to your organization.
76
80
77
81
### Getting Started
78
82
79
-
#### For Supported Providers:
80
-
1. Log into your IdP admin console.
81
-
2. Enable SCIM provisioning.
82
-
3. Provide GitHub’s SCIM base URL and bearer token.
83
+
#### For Supported Providers
84
+
85
+
1. Sign in to your IdP admin console.
86
+
1. Enable SCIM provisioning.
87
+
1. Provide GitHub’s SCIM base URL and bearer token.
83
88
84
89
:::image type="content" source="../media/scim-configuration-steps.png" alt-text="Screenshot of SCIM configuration steps in IdP's administrative console." :::
85
90
86
-
#### For Custom IdPs:
91
+
#### For Custom IdPs
92
+
87
93
1. Use GitHub's SCIM REST API.
88
-
2. Authenticate with a PAT.
89
-
3. Test the integration with sample requests.
94
+
1. Authenticate with a PAT.
95
+
1. Test the integration with sample requests.
90
96
91
97
### Key Benefits of SCIM Integration
92
98
@@ -108,20 +114,24 @@ GitHub processes this request and adds the user to your organization.
108
114
109
115
You can use a supported identity provider or bring your own SAML 2.0 IdP.
110
116
111
-
### Supported (Paved Path) IdPs:
117
+
### Supported (Paved Path) IdPs
118
+
112
119
- Okta
113
-
-Azure Active Directory
120
+
-Microsoft Entra ID
114
121
- Google Workspace
115
122
116
123
Some advantages of using the supported IdPs are:
124
+
117
125
- Seamless integration
118
126
- GitHub-supported
119
127
- Lower setup effort
120
128
121
-
### Bring Your Own IdP:
122
-
Bringing your own IdP requires it isSAML 2.0 support. The advantage of this is that it allows for full flexibility.
129
+
### Bring Your Own IdP
130
+
131
+
Bring your own IdP requires SAML 2.0 support. It has the advantage of allowing for full flexibility.
123
132
124
133
### Integration Steps
134
+
125
135
| Type | Steps |
126
136
|--------------------|-----------------------|
127
137
|**Paved Path:**| 1. Navigate to enterprise security settings. <br>2. Select your IdP. <br>3. Follow setup instructions. |
@@ -141,15 +151,17 @@ Bringing your own IdP requires it isSAML 2.0 support. The advantage of this is t
141
151
## Managing Identities and Access
142
152
143
153
### SAML SSO Configuration
154
+
144
155
1. Configure your SAML SSO URL.
145
-
2. Provide your public certificate.
146
-
3. Add IdP metadata.
156
+
1. Provide your public certificate.
157
+
1. Add IdP metadata.
147
158
148
159
### Credential Management
149
160
150
161
PATs and SSH keys must be explicitly authorized and linked to IdP identities to access organization resources securely.
151
162
152
163
### Auditing SAML Sessions
164
+
153
165
- View active sessions in settings.
154
166
- Revoke individual sessions as needed.
155
167
@@ -158,6 +170,5 @@ PATs and SSH keys must be explicitly authorized and linked to IdP identities to
0 commit comments