Skip to main content

Enterprise Server 3.20 actualmente está disponible como versión candidata para lanzamiento.

Identificación de eventos de registro de auditoría realizados por un token de acceso

Puede identificar las acciones que realiza un token específico en la empresa.

Acerca de los datos de token en el registro de auditoría para una empresa

El registro de auditoría de la empresa contiene un evento para cada acción que realiza un usuario o integración. Si la acción se produjo fuera de la UI web de GitHub, los datos del evento mostrarán detalles sobre cómo se autentica el usuario o la integración.

Si descubres que un token se ha puesto en peligro, puedes comprender las acciones que realiza el token en peligro buscando en el registro de auditoría de la empresa de todos los eventos asociados a ese token.

Los datos del token aparecen en el registro de auditoría para los siguientes métodos de autenticación.

  • Personal access token
  • token de OAuth
  • GitHub Apps (autenticación como instalación de aplicaciones o en nombre de un usuario)

Datos de token en eventos de registro de auditoría

Los siguientes datos sobre el uso de tokens aparecen en el registro de auditoría para ayudarle a comprender cómo se autentica el usuario o la integración.

InformaciónDescripción
hashed_tokenHash SHA-256 del token usado para la autenticación.
programmatic_access_typeTipo de autenticación utilizada.
token_scopesSi procede, los ámbitos del token.

Identificación de eventos asociados a un token

Para identificar eventos asociados a un token específico, puede usar la interfaz de usuario o la API de REST. Para identificar los eventos, primero debe conocer el hash SHA-256 del token.

Generación de un valor hash SHA-256 para un token

Si solo tienes un valor de token sin procesar, deberás generar un hash SHA-256 para poder buscar el token.

En el caso de macOS y Linux, puedes usar echo -n TOKEN | openssl dgst -sha256 -binary | base64, reemplazando TOKEN por el valor del token.

En el caso de PowerShell, puedes usar el script siguiente a fin de devolver un hash SHA-256 para una cadena determinada.

Shell
Param (
    [Parameter(Mandatory=$true)]
    [string]
    $ClearString
)

$hasher = [System.Security.Cryptography.HashAlgorithm]::Create('sha256')
$hash = $hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($ClearString))

$hashString = [System.BitConverter]::ToString($hash)
$hashString.Replace('-', '')

Búsqueda en GitHub

Al buscar el registro de auditoría en GitHub, incluye hashed_token:"VALUE" en la consulta de búsqueda, reemplazando VALUE por el hash SHA-256 del token.

Nota:

Asegúrate de poner el valor del token con hash entre comillas.

Búsqueda con la API REST

Para poder buscar un token mediante la API REST, después de generar un hash SHA-256, también debes aplicar una secuencia de escape de URI al hash. La mayoría de los lenguajes de programación principales proporcionan una utilidad para el escape de URI. Por ejemplo, encodeURIComponent() codifica una cadena para JavaScript.

Después, incluye hashed_token:"VALUE" en la frase de búsqueda, reemplazando VALUE por el hash de escape de URI.

Por ejemplo, si el nombre de la cuenta de empresa es octo-corp, el comando curl siguiente buscaría en el registro de auditoría @octo-corp todos los eventos asociados al token cuyo hash SHA-256 codificado en URI es EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8.

curl --header "Accept: application/vnd.github+json" --header "Authorization: Bearer YOUR-TOKEN" --encabezado "X-GitHub-Api-Version:2022-11-28" 'https://api.github.com/enterprises/octo-corp/audit-log?phrase=hashed_token:"EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8"'

Información adicional

  •         [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise)