Autorización de usuario
Después de que un usuario se autentique correctamente a través del proveedor de identidades (IdP) mediante el inicio de sesión único (SSO) de SAML, el siguiente paso crítico es la autorización, la concesión de herramientas como tokens de acceso personal (PAT), claves SSH o aplicaciones de OAuth con la capacidad de acceder a los recursos de la organización.
Automatización de la autorización de usuario con SAML SSO y SCIM
El inicio de sesión único del Lenguaje de Marcado para Confirmaciones de Seguridad (SAML) permite a los propietarios de la empresa y la organización controlar el acceso a recursos de GitHub, como repositorios, incidencias y solicitudes de cambios. La integración de SCIM (System for Cross-domain Identity Management) mejora el control de acceso mediante la automatización del aprovisionamiento y el desaprovisionamiento de usuarios.
Con SCIM, a los nuevos empleados agregados al IdP se les concede acceso automáticamente a GitHub, mientras se quitan los usuarios que salen, lo que reduce los pasos manuales y mejora la seguridad.
Nota:
Sin SCIM, el inicio de sesión único de SAML no admite el desaprovisionamiento automático de los miembros de la organización.
SCIM también revoca tokens obsoletos después de que finalice una sesión, lo que reduce los riesgos de seguridad. Sin SCIM, la revocación de tokens obsoletos debe realizarse manualmente.
Administración de claves SSH y PAT con SSO de SAML
SAML SSO y SCIM funcionan conjuntamente para reflejar los cambios de identidad en GitHub. Para apoyar esta cohesión:
-
NameIDyuserNamedeben coincidir entre el idP de SAML y el cliente SCIM. - Los cambios de grupo en el IdP desencadenan actualizaciones de SCIM en GitHub.
Los usuarios que acceden a las API o Git deben usar una clave SSH o PAT autorizada. Estos métodos son auditables y están vinculados de forma segura al SSO de SAML.
Para simplificar la incorporación, aprovisione usuarios mediante: https://github.com/orgs/ORGANIZATION/sso/sign_up. Muestra este vínculo en el panel de IdP.
Cuando los usuarios se autentican por primera vez, GitHub vincula sus datos de cuenta y SCIM a su organización. Los administradores pueden auditar o revocar más adelante sesiones y credenciales para automatizar la retirada.
Integración de SCIM con GitHub
SCIM simplifica la administración de identidades en GitHub Enterprise Cloud, ya que admite integraciones nativas y configuraciones personalizadas.
Proveedores de SCIM admitidos
GitHub admite de forma nativa:
- Okta
- Microsoft Entra ID
- OneLogin
- Identidad de ping
- Google Workspace
Estas integraciones garantizan una configuración y compatibilidad confiables.
Integraciones de SCIM personalizadas
Si el IdP no se admite de forma nativa, use la API SCIM de GitHub para crear integraciones personalizadas.
Introducción a la API de SCIM
La API de SCIM 2.0 le permite:
- Creación, actualización y eliminación de usuarios
- Administrar grupos
Solicitud de ejemplo para aprovisionar un usuario
POST /scim/v2/Users
Content-Type: application/json
{
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
]
}
GitHub procesa esta solicitud y agrega el usuario a su organización.
Introducción
Para proveedores admitidos
- Inicie sesión en la consola de administración de IdP.
- Habilite el aprovisionamiento de SCIM.
- Proporcione la dirección URL base y el token de portador de SCIM de GitHub.
Para IdP personalizados
- Use la API DE REST SCIM de GitHub.
- Autentíquese con un PAT.
- Pruebe la integración con solicitudes de ejemplo.
Ventajas clave de la integración de SCIM
- Aprovisionamiento: Cree automáticamente cuentas.
- Actualizaciones: Sincronice roles y departamentos.
- Desaprovisionamiento: Quite el acceso inmediatamente después de la salida del usuario.
SCIM frente a Administración manual de usuarios
| Aspecto | SCIM-Based Administración | Administración manual |
|---|---|---|
| Automatización | Automatiza el aprovisionamiento y el desaprovisionamiento | Intervención manual necesaria |
| Coherencia | Datos de usuario estandarizados en todos los sistemas | Riesgo de incoherencias |
| Seguridad | Desactivación oportuna del acceso | Revocaciones retrasadas o perdidas |
| Escalabilidad | Escala con grandes bases de usuarios | Difícil de gestionar a gran escala |
| Conformidad | Ayuda a cumplir los requisitos de directiva y auditoría | Más difícil realizar un seguimiento e informar |
Conexión del IdP a GitHub
Puede usar un proveedor de identidades compatible o traer su propio IdP de SAML 2.0.
IdP admitidos (ruta prevista)
- Okta
- Microsoft Entra ID
- Google Workspace
Algunas de las ventajas de usar los IdP admitidos son:
- Integración perfecta
- Compatible con GitHub
- Menor esfuerzo de configuración
Traiga su propio IdP
Bring Your Own IdP requiere compatibilidad con SAML 2.0. Tiene la ventaja de permitir una flexibilidad completa.
Pasos de integración
| Tipo | Pasos |
|---|---|
| Camino asfaltado: | 1. Vaya a la configuración de seguridad empresarial. 2. Seleccione el IdP. 3. Siga las instrucciones de configuración. |
| IdP personalizado: | 1. Vaya a la configuración de seguridad. 2. Elija idP personalizado. 3. Escriba los metadatos de SAML. 4. Valide la conexión. |
Comparación de rutas de integración de IdP
| Característica | Camino asfaltado | Traiga su propio IdP |
|---|---|---|
| Proceso de instalación | ✅ Configuración guiada | ⚠️ Configuración manual |
| Flexibilidad | ⚠️ Limitado a los IdPs listados | ✅ Cualquier IDP de SAML 2.0 |
| Mantenimiento | ✅ Administrado por GitHub | ⚠️ Administrado por la organización |
| Personalización | ️⚠ Mínimo | ✅ Totalmente personalizable |
| Soporte y actualizaciones | ✅ Compatible con GitHub | ⚠️ Autoadministrado |
Administración de identidades y acceso
Configuración del SSO de SAML
- Configure la URL del inicio de sesión único de SAML.
- Proporcione el certificado público.
- Agregue metadatos de IdP.
Administración de credenciales
Las PAT y las claves SSH deben estar autorizadas explícitamente y vinculadas a identidades de IdP para acceder a los recursos de la organización de forma segura.
Auditoría de sesiones de SAML
- Vea las sesiones activas en la configuración.
- Revoque sesiones individuales según sea necesario.
Consideraciones de pertenencia a GitHub
| Tipo | Consideración |
|---|---|
| Pertenencia a la instancia de GitHub | - Acceso a repositorios públicos - Crear proyectos personales - Visibilidad del perfil público |
| Pertenencia a la organización | - Acceso interno basado en rol - Perfil visible para los administradores de la organización - Puede afectar a la facturación. |
| Pertenencias a varias organizaciones | - Roles diferentes entre organizaciones - Acceso más amplio a los recursos - Permiso complejo y facturación - Requiere una gobernanza estricta. |