Сведения о данных токена в журнале аудита для организации
Журнал аудита вашей организации содержит событие для каждого действия, выполняемого пользователем или интеграцией. Если действие произошло за пределами веб-интерфейса GitHub, данные события будут отображать сведения о том, как пользователь или интеграция прошли проверку подлинности.
Данные маркера отображаются в журнале аудита для следующих методов проверки подлинности.
- Personal access token
- токена OAuth
- GitHub Apps (проверка подлинности как установка приложения или от имени пользователя)
- Ключ развертывания
- Ключ SSH
Note
Отображение данных токена для ключей SSH и ключ развертывания в журнале аудита находится в public preview и подлежит изменению.
Данные токена в событиях журнала аудита
Определение событий, связанных с маркером
Чтобы определить события, связанные с определенным маркером, можно использовать пользовательский интерфейс или REST API. Чтобы определить события Git, необходимо экспортировать события из журнала аудита. Чтобы определить события, сначала необходимо знать хэш SHA-256 маркера.
- Создание хэш-значения SHA-256 для токена
- Поиск по GitHub
- Поиск с помощью REST API
- Определение событий Git
Создание хэш-значения SHA-256 для токена
Если у вас есть только необработанное значение маркера, необходимо создать хэш SHA-256, прежде чем выполнять поиск маркера.
Для macOS и Linux можно использовать echo -n TOKEN | openssl dgst -sha256 -binary | base64
, заменив TOKEN значением токена.
Для PowerShell можно использовать следующий сценарий, чтобы вернуть хэш SHA-256 для заданной строки.
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('-', '')
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('-', '')
Поиск по GitHub
При поиске журнала аудита на GitHub, включите hashed_token:"VALUE"
в поисковый запрос, заменив VALUE
хэш SHA-256 маркера.
Note
Не забудьте упаковать хэшированные значения маркера в кавычки.
Поиски с помощью GitHub не возвращают события Git.
Поиск с помощью REST API
Например, если имя учетной записи организации указано octo-org
, следующая команда curl будет выполнять поиск @octo-orgв журнале аудита для всех событий, связанных с маркером, хэш EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8
которого закодирован URI SHA-256.
curl --header "Accept: application/vnd.github+json" --header "Authorization: Bearer YOUR-TOKEN" --header "X-GitHub-Api-Version:2022-11-28" 'https://api.github.com/orgs/octo-org/audit-log?phrase=hashed_token:"EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8"'
Определение событий Git
События Git, прошедшие проверку подлинности с определенным маркером. При экспорте данных событий Git из журнала аудита поля с подробными сведениями о проверке подлинности отображаются в выходных данных. Дополнительные сведения см. в разделе "Просмотр журнала аудита для вашей организации".
Note
Отображение данных маркера для событий Git в журнале аудита находится в public preview и подлежит изменению.