Administración de las características y las alertas de GitHub Advanced Security
Ahora que la seguridad del proyecto está configurada, todo lo que tiene que hacer es supervisar y administrar las características y alertas de Advanced Security de GitHub para el proyecto.
En esta unidad, aprenderá a usar la información general de seguridad para supervisar los riesgos de seguridad en el proyecto. En esta unidad también se explica cómo utilizar los endpoints de Seguridad avanzada de GitHub para administrar las características y alertas de Seguridad avanzada de GitHub.
Uso de la información general de seguridad
La información general de seguridad está disponible en la pestaña Seguridad de organizaciones y repositorios. Puede usarlo para obtener una vista general del estado de seguridad de su organización o para identificar repositorios problemáticos que requieren intervención.
- En el nivel de organización, la información general de seguridad muestra información de seguridad agregada y específica del repositorio para los repositorios que posee su organización. También puede filtrar la información por característica de seguridad.
- En el nivel de equipo, la información general de seguridad muestra información de seguridad específica del repositorio para los repositorios para los que el equipo tiene privilegios de administrador.
- En el nivel de repositorio, la información general de seguridad muestra qué características de seguridad están habilitadas para el repositorio y ofrece la opción de configurar las características de seguridad disponibles que no están en uso actualmente.
Gracias a su alto nivel de interactividad y numerosos filtros, la información general de seguridad es útil para análisis amplios y específicos del estado de seguridad de su organización. Por ejemplo, puede usarlo para supervisar la adopción de características por su organización o por un equipo específico a medida que implemente GitHub Advanced Security en su empresa, o úselo para revisar todas las alertas de un tipo específico y un nivel de gravedad en todos los repositorios de su organización.
Uso de los puntos de conexión de Seguridad avanzada de GitHub
En la tabla siguiente se explica qué puntos de conexión están disponibles para cada característica de Advanced Security con vínculos a su documentación.
| Característica | Puntos finales | Documentación |
|---|---|---|
| Examen de código | Recupere y actualice las alertas de análisis de código de un repositorio. Cree informes automatizados para alertas de análisis de código en una organización. Cargue los resultados del análisis generados mediante herramientas de análisis de código sin conexión. |
API de análisis de código |
| Análisis de secretos | Habilite o deshabilite el escaneo de secretos de un repositorio. Recuperar y actualizar alertas de examen de secretos desde un repositorio privado. |
API de repositorios API de escaneo de secretos |
| Revisión de dependencias | Habilite y deshabilite las alertas de dependencia y el gráfico de dependencias de un repositorio. Habilite y deshabilite las correcciones de seguridad de un repositorio. Ver información de dependencia. |
API de repositorios GraphQL API |
Si decide usar Acciones de GitHub para automatizar los flujos de trabajo de seguridad, es importante establecer correctamente los permisos para los GITHUB_TOKEN usados para realizar llamadas API autenticadas. GITHUB_TOKEN tiene permisos predeterminados en función del ámbito:
| Ámbito | Acceso predeterminado (permisivo) | Acceso predeterminado (restringido) | Acceso máximo por repositorios bifurcados |
|---|---|---|---|
| Acciones | lectura y escritura | Ninguno | lectura |
| checks | lectura y escritura | Ninguno | lectura |
| contenido | lectura y escritura | lectura | lectura |
| despliegues | lectura y escritura | Ninguno | lectura |
| token de identificación | lectura y escritura | Ninguno | lectura |
| problemas | lectura y escritura | Ninguno | lectura |
| metadatos | lectura | lectura | lectura |
| Paquetes | lectura y escritura | Ninguno | lectura |
| pull-requests | lectura y escritura | Ninguno | lectura |
| proyectos de repositorio | lectura y escritura | Ninguno | lectura |
| eventos de seguridad | lectura y escritura | Ninguno | lectura |
| statuses | lectura y escritura | Ninguno | lectura |
Puede modificar los permisos de GITHUB_TOKEN en archivos de flujo de trabajo individuales. Si los permisos predeterminados para GITHUB_TOKEN son restrictivos, es posible que tenga que aumentar los permisos para permitir que algunas acciones y comandos se ejecuten correctamente. Si los permisos predeterminados son permisivos, puede editar el archivo de flujo de trabajo para quitar algunos permisos de GITHUB_TOKEN. Como práctica de seguridad recomendada, debe conceder el permiso de acceso menos necesario a GITHUB_TOKEN.
También puede usar la clave en sus archivos de flujo de trabajo permissions para modificar los permisos del GITHUB_TOKEN para todo un flujo de trabajo o para trabajos individuales. Esta clave permite configurar los permisos mínimos necesarios para un flujo de trabajo o trabajo. Cuando se usa la clave permissions, todos los permisos no especificados se establecen en Sin acceso, a excepción del ámbito de metadatos, que siempre obtiene acceso de lectura.
name: Create issue on commit
on: [ push ]
jobs:
create_commit:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Create issue using REST API
run: |
curl --request POST \
--url http(s)://[hostname]/api/v3/repos/${{ github.repository }}/issues \
--header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
--header 'content-type: application/json' \
--data '{
"title": "Automated issue for commit: ${{ github.sha }}",
"body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
}' \
--fail
En el ejemplo anterior, se concede acceso de escritura para un ámbito de un único trabajo.
Además, puede usar la tecla permissions para agregar y quitar permisos de lectura para repositorios bifurcados, pero normalmente no se puede conceder acceso de escritura. La excepción a este comportamiento es si seleccionó la opción Send write tokens to workflows from pull requests (Enviar tokens de escritura a flujos de trabajo desde solicitudes de incorporación de cambios) en la configuración de Acciones de GitHub.