¿Cómo funcionan los permisos y la organización de GitHub?

Completado

En la unidad anterior, exploró las distintas formas en que los usuarios se pueden autenticar en GitHub. En esta unidad, aprenderá sobre los permisos para cada nivel jerárquico:

  • Permisos de repositorios
  • Permisos de equipo
  • Permisos de organización
  • Permisos de empresa

Niveles de permisos de repositorio

Puede personalizar el acceso a cada repositorio asignando niveles de permisos específicos. Hay cinco permisos de nivel de repositorio estándar:

  • Lectura: Se recomienda para colaboradores que no trabajan en el código, pero que quieren ver el proyecto o hablar sobre él. Esto es bueno para cualquier persona que necesite ver el contenido dentro del repositorio, pero que realmente no necesite realizar contribuciones ni cambios.
  • Evaluación de prioridades: Se recomienda para colaboradores que necesitan administrar de forma proactiva incidencias y solicitudes de incorporación de cambios sin acceso de escritura. Este nivel es útil para los administradores de proyectos que realizan un seguimiento de problemas y discusiones sin modificar el código.
  • Escritura: Se recomienda para los colaboradores que insertan cambios activamente en el proyecto. El permiso de escritura es el permiso estándar para la mayoría de los desarrolladores.
  • Mantenimiento: Recomendado para gestores de proyectos que necesitan gestionar el repositorio sin acceso a acciones sensibles o destructivas.
  • Administrador: Se recomienda para usuarios que necesitan acceso total al proyecto, incluidas acciones confidenciales y destructivas, como administrar la seguridad o eliminar un repositorio. Se trata de propietarios y administradores del repositorio.

Puede conceder a los miembros de la organización, los colaboradores externos y los equipos distintos niveles de acceso a los repositorios que pertenecen a una organización. Cada nivel de permiso concede progresivamente más acceso al contenido y la configuración del repositorio. Elija el nivel que mejor se adapte al rol de cada persona o equipo del proyecto, sin dar más acceso al proyecto del necesario.

Los administradores también pueden crear roles personalizados en GitHub Enterprise, lo que amplía uno de estos roles base con permisos adicionales según sea necesario.

¿Qué es la bifurcación de repositorio?

La bifurcación es una manera de crear una copia personal del repositorio de otra persona en su propia cuenta de GitHub. Al bifurcar un repositorio, obtendrá su propia versión que puede modificar libremente sin afectar al proyecto original. Este proceso es un flujo de trabajo común para contribuir al código abierto o experimentar con cambios de forma segura.

También puede mantener la bifurcación actualizada mediante la extracción de cambios del repositorio original, a menudo denominado repositorio "ascendente".

Aquí se muestra cómo bifurcar un repositorio:

  1. En GitHub.com, vaya a la página principal del repositorio que desea bifurcar.

  2. En la esquina superior derecha, seleccione Bifurcar.

  3. Elija un propietario para la bifurcación (su cuenta personal o una organización).

  4. Opcionalmente, cambie el nombre del repositorio bifurcada o incluya todas las ramas.

  5. Seleccione Crear bifurcación.

    Captura de pantalla que muestra el botón bifurcación en la esquina superior derecha de un repositorio de GitHub.

Administración de permisos de bifurcación (para administradores)

En el caso de los repositorios propiedad de la organización, los administradores pueden controlar si se pueden bifurcar los repositorios:

  • Repositorios públicos: siempre se permite la bifurcación.
  • Repositorios privados: la bifurcación solo se puede deshabilitar o restringir a los miembros de la organización.
  • Repositorios internos: solo se pueden bifurcar dentro de la misma cuenta de empresa.

Para configurar los valores de bifurcación:

  1. Vaya a configuración del repositorio de la organización.

  2. En la barra lateral izquierda, en Acceso, haga clic en Privilegios de miembro.

  3. Busque las opciones de bifurcación del repositorio y actualícelas según sea necesario.

    Captura de pantalla que muestra los permisos de bifurcación de una organización de GitHub.

Sugerencia

Si deshabilita la bifurcación para un repositorio privado, nadie (incluidos los miembros de la organización) podrá bifurcarlo.

Para más información, consulte el artículo de Documentos de GitHub sobre bifurcación de un repositorio.

Visualización de la información del repositorio

La información del repositorio en GitHub ofrece una manera eficaz de supervisar y analizar la actividad, las contribuciones y las dependencias del proyecto. Al aprovechar estas conclusiones, puede realizar un seguimiento del estado del proyecto, identificar cuellos de botella y garantizar la seguridad. Esta sección le guiará por los pasos necesarios para acceder a la información del repositorio y proporcionar procedimientos recomendados para usarlos de forma eficaz.

Pasos para ver la información del repositorio

  1. Vaya al repositorio en GitHub.
  2. En el nombre del repositorio, haga clic en la pestaña Conclusiones .
  3. Explore las secciones siguientes en la pestaña Conclusiones:
    • Colaboradores: vea un gráfico de contribuciones a lo largo del tiempo, incluidas confirmaciones, adiciones y eliminaciones por cada colaborador.
    • Tráfico: supervise el tráfico del repositorio, incluidos los visitantes únicos y las vistas de página.
    • Confirmaciones: analice la actividad de confirmación a lo largo del tiempo.
    • Frecuencia de código: realice un seguimiento del número de líneas agregadas y eliminadas a lo largo del tiempo.
    • Gráfico de dependencias: vea las dependencias del repositorio e identifique posibles vulnerabilidades de seguridad.

Procedimientos recomendados para usar Repository Insights

  • Supervisar contribuciones: use la sección Colaboradores para identificar los colaboradores activos y las áreas del repositorio que reciben la mayor atención.
  • Seguimiento del tráfico: use la sección Tráfico para comprender cómo interactúan los usuarios con el repositorio e identificar tendencias en la interacción.
  • Solucionar vulnerabilidades: revise periódicamente el gráfico de dependencias para asegurarse de que el repositorio permanece seguro.

Al aprovechar la información del repositorio, puede tomar decisiones controladas por datos para mejorar la colaboración, la seguridad y la administración de proyectos.

Formas en que los usuarios reciben acceso al repositorio

Acciones de un usuario dada una lista de sus permisos de repositorio

Los permisos efectivos de un usuario en un repositorio están influenciados por varios factores, entre los que se incluyen:

  • Rol de repositorio: (por ejemplo, Administrador, Escritura, Lectura)
  • Pertenencia al equipo: (por ejemplo, permisos heredados de un equipo)
  • Pertenencia a la organización: (por ejemplo, permisos de organización predeterminados, requisitos de SSO)

Al combinar estos distintos orígenes de permisos, GitHub aplica el nivel más alto de acceso concedido al usuario. Por ejemplo, si un usuario tiene acceso de lectura a través de un equipo, pero también tiene acceso de escritura asignado directamente como colaborador, tendrá permisos de escritura de forma eficaz.

Opciones de pertenencia al repositorio

Al conceder acceso a un repositorio, hay varias maneras en que un usuario puede convertirse en colaborador:

Tipo de pertenencia Descripción
Colaborador directo Se ha agregado explícitamente al repositorio con un rol específico (lectura, evaluación de prioridades, escritura, mantenimiento o administrador).
Se recomienda para colaboradores externos o equipos pequeños.
Pertenencia a equipos Un usuario hereda el acceso al repositorio a través de su pertenencia al equipo.
Los permisos de equipo a menudo se establecen en el nivel de organización para una administración coherente y escalable.
Permisos predeterminados de la organización Si el repositorio forma parte de una organización, puede haber un nivel de permiso predeterminado para todos los miembros de la organización (por ejemplo, Ninguno, Lectura).
Los propietarios pueden invalidar estos valores predeterminados para equipos o usuarios específicos.
Colaborador externo Un usuario que no es miembro de la organización, pero tiene acceso explícito a un repositorio.
Resulta útil para contratistas, autónomos o colaboradores de código abierto que necesitan acceso limitado.

Supervisión y auditoría del acceso al repositorio

La auditoría periódica de quién tiene acceso a un repositorio garantiza la seguridad y el cumplimiento adecuados. Estos son algunos pasos y herramientas recomendados:

  • Ver acceso en la configuración del repositorio:

    • Vaya a Configuración > Administrar el acceso (para el repositorio).
    • Revise la lista de usuarios y equipos, junto con sus niveles de permisos.
  • Registro de auditoría de la organización (Nivel de organización o GitHub Enterprise):

    • Los propietarios de la organización pueden ver los cambios en la pertenencia, el acceso al repositorio y los permisos en el registro de auditoría.
    • Filtre los eventos por nombre del repositorio o los cambios de acceso para una vista más centrada.
  • Registro de auditoría empresarial (GitHub Enterprise):

    • Si administra varias organizaciones, use el registro de auditoría de la cuenta Enterprise para realizar un seguimiento de los cambios en todas las organizaciones y repositorios.
    • Esto es especialmente útil para los informes de cumplimiento o las revisiones de seguridad a gran escala.
  • Scripting automatizado:

    • Use la API REST de GitHub o GraphQL API para enumerar mediante programación colaboradores, equipos y permisos.
    • Integre scripts con la canalización de CI/CD o los paneles de seguridad para supervisar y marcar continuamente anomalías.

Propina: Configure las reglas de protección de rama y las revisiones necesarias para agregar otra capa de seguridad y responsabilidad para todos los cambios de código.

Niveles de permisos de equipo

Un equipo de una organización de GitHub es un grupo de usuarios que colaboran en repositorios compartidos. Los equipos ayudan a simplificar la administración de acceso y la comunicación aplicando permisos coherentes entre varios repositorios a la vez. Entre las ventajas clave se incluyen las siguientes:

  • Control de acceso centralizado: Asigne permisos de repositorio (por ejemplo, Lectura y escritura) a todo el equipo en lugar de administrar individualmente a cada usuario.
  • Colaboración estructurada: Organice los miembros por departamento, proyecto o rol para una colaboración más eficaz.
  • Visibilidad y comunicación: Cada equipo puede tener su propio panel de discusión, lo que facilita compartir actualizaciones y coordinar los esfuerzos.

Los equipos proporcionan una manera sencilla de asignar permisos de repositorio a varios usuarios relacionados al mismo tiempo. Además, los miembros de un equipo secundario heredan la configuración de permisos del equipo principal, lo que ofrece una manera sencilla de conceder permisos en cascada basados en la estructura natural de la empresa.

Hay dos niveles de permisos en el nivel de equipo:

Nivel de permiso Descripción
Miembro Los miembros del equipo tienen el mismo conjunto de capacidades que los miembros de la organización.
Responsable de mantenimiento Los responsables de mantenimiento del equipo pueden hacer lo mismo que los miembros del equipo, además de lo siguiente:
- Cambiar el nombre, la descripción y la visibilidad del equipo.
- Solicitar que el equipo cambie los equipos principales y secundarios.
- Configurar la imagen de perfil de su equipo.
- Editar y eliminar debates del equipo.
- Agregar miembros de la organización al equipo y quitarlos.
- Promover a miembros del equipo para que tengan también el permiso de responsable de mantenimiento del equipo.
- Quitar el acceso del equipo a los repositorios.
- Administrar la asignación de revisión de código para el equipo.
- Administrar avisos programados para solicitudes de incorporación de cambios.

El propietario de una organización también puede promover a cualquier miembro de la organización a responsable de mantenimiento del equipo.

Para auditar el acceso a un repositorio que administra, puede ver una lista combinada de equipos y usuarios con acceso al repositorio en la configuración:

Captura de pantalla de la pantalla de administrar acceso.

GitHub ofrece varios niveles de permisos que se pueden asignar a los equipos. Al conceder a un equipo acceso a un repositorio, puede elegir entre los siguientes modelos de permisos:

Modelos de permisos

Nivel de permisos Descripción Mejor para
Leer Los usuarios pueden ver y clonar el repositorio. Puede abrir y comentar problemas y solicitudes de incorporación de cambios. Personas que necesitan acceso de solo lectura o revisión.
Evaluación Los usuarios pueden administrar problemas y solicitudes de incorporación de cambios (por ejemplo, etiqueta, asignar, comentario). No se pueden insertar cambios en el repositorio. Administradores de proyectos o colaboradores que necesitan evaluar y organizar problemas sin contribuir al código.
Escribir Los usuarios pueden insertar en ramas (excepto ramas protegidas). Puede administrar problemas y solicitudes de incorporación de cambios. Colaboradores activos que necesitan confirmar código o actualizar documentación.
Mantener Los usuarios pueden administrar la configuración, los problemas y las solicitudes de incorporación de cambios del repositorio. No se puede eliminar ni transferir el repositorio. Los mantenedores de proyectos que controlan la administración de repositorios rutinarios, pero no requieren derechos de administrador completos.
Administrador Los usuarios tienen control total sobre el repositorio, incluidos los permisos de configuración, la eliminación del repositorio y la administración de toda la configuración. Aquellos que necesitan acceso administrativo de nivel superior.

Propina: Siga siempre el principio de privilegios mínimos: asigne el nivel de permisos más bajo necesario para que cada equipo realice sus tareas de forma eficaz. Este enfoque reduce el riesgo de cambios accidentales o no autorizados.