Autorización de usuario

Completado

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.

Captura de pantalla de la configuración de SCIM.

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:

  • NameID y userName deben 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.

Captura de pantalla de la clave SSH.

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

  1. Inicie sesión en la consola de administración de IdP.
  2. Habilite el aprovisionamiento de SCIM.
  3. Proporcione la dirección URL base y el token de portador de SCIM de GitHub.

Captura de pantalla de los pasos de configuración de SCIM en la consola administrativa de IdP.

Para IdP personalizados

  1. Use la API DE REST SCIM de GitHub.
  2. Autentíquese con un PAT.
  3. 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

  1. Configure la URL del inicio de sesión único de SAML.
  2. Proporcione el certificado público.
  3. 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.