Utilizar la API de bitácoras de auditoría
Nota: Los webhooks pueden ser una buena alternativa al registro de auditoría o al sondeo de API para determinados casos de uso. Los webhooks son una manera de que GitHub notifique al servidor cuándo se producen eventos específicos para un repositorio, una organización o una empresa. En comparación con la API o la búsqueda en el registro de auditoría, los webhooks pueden ser más eficaces si solo deseas descubrir (y, posiblemente, registrar) cuándo se producen determinados eventos en tu empresa, organización o repositorio. Para obtener más información, vea «Documentación de webhooks».
Puedes mantener el cumplimiento de su empresa y proteger su propiedad intelectual si interactuas con el registro de auditoría mediante la API de REST. Para obtener más información sobre los eventos específicos a los que puedes acceder a través de la API de registro de auditoría, consulta los artículos siguientes.
- "Eventos de registro de auditoría de la empresa"
- "Eventos de registro de auditoría de la organización"
- "Eventos de registro de seguridad"
El registro de auditoría muestra los eventos que desencadenan las actividades que afectan a la empresa. Los registros de auditoría de GitHub Enterprise Server se conservan indefinidamente, a menos que un propietario de la empresa haya configurado un período de retención diferente. Para obtener más información, consulta "Configuración del registro de auditoría de la empresa."
De forma predeterminada, solo se muestran los eventos de los últimos tres meses. Para ver eventos anteriores, debe especificar un intervalo de fechas con el parámetro created
. Para obtener más información, vea «Entender la sintaxis de búsqueda».
Las marcas de tiempo y los campos de fecha de la respuesta de la API se miden en milisegundos desde la época UTC.
Puedes usar el ámbito read:audit_log
para acceder al registro de auditoría a través de la API.
Para obtener más información sobre la API REST del registro de auditoría, consulta "Puntos de conexión de API de REST para registros de auditoría de empresa" y "Puntos de conexión de API REST para organizaciones".
Ejemplo 1: Todos los eventos de una empresa, para una fecha específica, con paginación
Puedes usar paginación basada en página. Para obtener más información sobre la paginación, consulta "Uso de la paginación en la API de REST".
La consulta siguiente busca eventos de registro de auditoría creados el 1 de enero de 2022 en la empresa avocado-corp
y devuelve la primera página con un máximo de 100 elementos por página mediante paginación. Para obtener más información sobre la paginación, consulta "Uso de la paginación en la API de REST".
curl -H "Authorization: Bearer TOKEN" \
--request GET \
"https://api.github.com/enterprises/avocado-corp/audit-log?phrase=created:2022-01-01&page=1&per_page=100"
Ejemplo 2: Eventos para solicitudes de incorporación de cambios en una empresa, para una fecha y un actor específicos
Puede especificar varias frases de búsqueda, como created
y actor
, si las separa en la dirección URL formada con el símbolo +
o el código de caracteres ASCII %20
.
La consulta siguiente busca eventos de registro de auditoría para las solicitudes de incorporación de cambios, donde el evento se ha producido el 1 de enero de 2022 o después en la empresa avocado-corp
y la acción la ha realizado el usuario octocat
:
curl -H "Authorization: Bearer TOKEN" \
--request GET \
"https://api.github.com/enterprises/avocado-corp/audit-log?phrase=action:pull_request+created:>=2022-01-01+actor:octocat"
Ejemplo 3: Eventos para la actividad de Git en una empresa, para una fecha y un actor específicos
Puedes buscar eventos de Git en una empresa, como la clonación, la captura y la inserción, agregando include=git
como parámetro en la dirección URL. Como alternativa, puedes usar include=all
para buscar eventos web y eventos de Git.
La consulta siguiente busca eventos de registro de auditoría para la actividad de Git, donde el evento se ha producido después del 1 de enero de 2024 en la empresa avocado-corp
y la acción la ha realizado el usuario octocat
.
curl -H "Authorization: Bearer TOKEN" \
--request GET \
"https://api.github.com/enterprises/avocado-corp/audit-log?phrase=created:>=2024-01-01+actor:octocat&include=git"