Примечание.
Веб-перехватчики могут быть хорошей альтернативой журналу аудита или опросу API для определенных вариантов использования. Веб-перехватчики — это способ GitHub для уведомления сервера о конкретных событиях для репозитория, организации или предприятия. По сравнению с API или поиском в журнале аудита веб-перехватчики могут быть более эффективными, если вы просто хотите узнать и, возможно, журнал при возникновении определенных событий в организации, организации или репозитории. См . раздел AUTOTITLE.
Сведения о потоковой передаче журналов аудита
Вы можете защитить интеллектуальную собственность и обеспечить соответствие вашей компании с помощью потоковой передачи для хранения копий данных журнала аудита. События журнала аудита, такие как изменения параметров и доступа, членство пользователей, разрешения приложения и многое другое. См. раздел AUTOTITLE, AUTOTITLE[ и [AUTOTITLE. ](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/audit-log-events-for-your-organization)](/authentication/keeping-your-account-and-data-secure/security-log-events)
Данные журнала аудита потоковой передачи имеют следующие преимущества:
- Исследование данных. Проверьте потоковые события с помощью предпочтительного средства для запроса больших объемов данных. Поток содержит события аудита и события Git во всей учетной записи предприятия.
- Хранение данных. Сохраняйте экспортированные журналы аудита и данные событий Git до тех пор, пока вам нужно.
Вы можете настроить или удалить поток в любое время. Поток экспортирует данные о событиях аудита и Git для всех организаций в вашей организации с момента включения потока.
Все потоковые журналы аудита отправляются в виде сжатых JSON-файлов. Формат имени файла включенYYYY/MM/HH/MM/<uuid>.json.gz.
Примечание.
GitHub использует метод доставки по крайней мере один раз. Из-за определенных проблем с сетью или системой некоторые события могут дублироваться.
Включение потоковой передачи журналов аудита может привести к незначительному влиянию на производительность ваш экземпляр GitHub Enterprise Server. Дополнительные сведения о увеличении ресурсов для устранения этого влияния на производительность см. в статье Увеличение ресурсов ЦП или памяти.
Проверки работоспособности потоков журнала аудита
Каждые 24 часа проверка работоспособности выполняется для каждого потока. Если поток настроен неправильно, сообщение электронной почты будет отправлено владельцам предприятия. Чтобы избежать удаления событий журнала аудита из потока, необходимо исправить неправильно настроенный поток в течение шести дней.
Чтобы исправить конфигурацию потоковой передачи, выполните действия, описанные в разделе "Настройка потоковой передачи журнала аудита".
Настройка потоковой передачи журналов аудита
Чтобы настроить поток журнала аудита, следуйте инструкциям поставщика.
Настройка потоковой передачи в Amazon S3
Примечание.
Регион Amazon us-east-1 должен быть доступен от устройства для потоковой передачи в S3 для работы. Контейнер S3 может находиться в других регионах AWS.
Чтобы настроить потоковую передачу журналов аудита из GitHub, вам потребуется:
- ИД ключа доступа AWS;
- секретный ключ AWS.
Сведения о создании ИД ключа доступа и секретного ключа или доступе к ним см. в статье Основные сведения об учетных данных AWS и их получение документации по AWS.
Из AWS:
-
Создайте контейнер и заблокируйте открытый доступ к нему. См. статью "Создание, настройка и работа с контейнерами Amazon S3" в документации AWS.
-
Создайте политику, которая позволяет GitHub записывать данные в контейнер. Скопируйте следующий код JSON и замените
EXAMPLE-BUCKETего именем. Для GitHub требуются только разрешения в этом формате JSON.{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::EXAMPLE-BUCKET/*" } ] }См. статью "Создание политик IAM" в документации ПО AWS.
Из GitHub:
-
В правом верхнем углу GitHub Enterprise Serverщелкните рисунок профиля, а затем выберите параметры Enterprise.
-
В левой части страницы на боковой панели учетной записи предприятия щелкните Settings.
-
В разделе "Параметры" щелкните журнал аудита.
-
В разделе "Журнал аудита" щелкните Потоковая передача журналов.
-
Выберите раскрывающееся меню "Настройка потока" и щелкните Amazon S3.
-
Настройте параметры потоковой передачи.
- В разделе "Регион" выберите регион контейнера. Например,
us-east-1. - В разделе "Контейнер" введите имя контейнера, в который нужно выполнять потоковую передачу. Например:
auditlog-streaming-test. - В разделе "Идентификатор ключа доступа" введите идентификатор ключа доступа. Например:
ABCAIOSFODNN7EXAMPLE1. - В разделе "Секретный ключ" введите секретный ключ. Например:
aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY.
- В разделе "Регион" выберите регион контейнера. Например,
-
Нажмите кнопку Проверить конечную точку, чтобы убедиться, что GitHub может подключиться к конечной точке Amazon S3 и записывать в нее.
-
После успешной проверки конечной точки щелкните Сохранить.
Интеграция с AWS CloudTrail Lake
Журналы аудита можно объединить, интегрируя потоковую передачу в S3 с AWS CloudTrail Lake. См. документацию AWS CloudTrail или журнал аудита GitHub для открытого аудита CloudTrail в репозитории aws-samples/aws-cloudtrail-lake-github-audit-log.
Настройка потокового потока в Azure Blob Storage
Примечание.
Потоковая передача журнала аудита в blob storage в Azure Government не поддерживается.
Перед тем как настроить поток в GitHub, сначала создайте аккаунт хранения и контейнер в Microsoft Azure. См. Введение в Azure Blob Storage в документации Microsoft.
Чтобы настроить поток, вам потребуется URL-адрес маркера SAS.
Из Microsoft Azure portal:
- На домашней странице выберите Учетные записи хранения.
- В разделе "Имя" щелкните имя учетной записи хранения, которую вы хотите использовать.
- В разделе "Хранилище данных" щелкните "Контейнеры".
- Щелкните имя контейнера, который хотите использовать.
- В левой боковой панели в разделе "Параметры" щелкните "Общие маркеры доступа".
-
**Выберите раскрывающееся меню "Разрешения"**, а затем выберите `Create` и `Write` отмените выбор всех остальных параметров. - Задайте дату окончания срока действия, соответствующую политике смены секретов.
- Щелкните Создать маркер SAS и URL-адрес.
- Скопируйте значение отображаемого поля URL-адрес SAS BLOB-объекта. Этот URL-адрес вы используете в GitHub.
Из GitHub:
- В правом верхнем углу GitHub Enterprise Serverщелкните рисунок профиля, а затем выберите параметры Enterprise.
- В левой части страницы на боковой панели учетной записи предприятия щелкните Settings.
- В разделе "Параметры" щелкните журнал аудита.
- В разделе "Журнал аудита" щелкните Потоковая передача журналов.
- Выберите выпадающее меню Configure stream и нажмите Azure Blob Storage.
- На странице конфигурации введите blob SAS URL, который вы скопировали в Azure. Поле Container (Контейнер) заполняется автоматически на основе URL-адреса.
- Нажмите Check endpoint чтобы убедиться что GitHub может подключиться и записать на Azure Blob Storage конечную точку.
- После успешной проверки конечной точки щелкните Сохранить.
Setting streaming to Azure Event Hubs
Примечание.
Экземпляры Event Hubs в Azure Government не поддерживаются.
Перед настройкой потока в GitHubнеобходимо:
- An event hub namespace in Microsoft Azure
- Экземпляр event hub внутри пространства имён (см. Быстрый старт: Создать event hub с помощью Azure portal в документации Microsoft)
Из Microsoft Azure portal:
- В верхней части страницы используйте поле поиска для поиска "Центры событий".
- Выберите Концентраторы событий. Здесь перечислены имена концентраторов событий.
- Запишите имя концентратора событий, в который требуется выполнить потоковую передачу. Щелкните концентратор событий.
- В меню слева щелкните "Политики общего доступа".
- Выберите политику общего доступа из списка политик или создайте новую политику.
- Скопируйте connection string из поля Connection string-primary key.
Из GitHub:
- В правом верхнем углу GitHub Enterprise Serverщелкните рисунок профиля, а затем выберите параметры Enterprise.
- В левой части страницы на боковой панели учетной записи предприятия щелкните Settings.
- В разделе "Параметры" щелкните журнал аудита.
- В разделе "Журнал аудита" щелкните Потоковая передача журналов.
- Выберите выпадающее меню Configure stream и нажмите Azure Event Hubs.
- На странице конфигурации введите:
- Название экземпляра Azure Event Hubs.
- Строка подключения.
- Нажмите Check endpoint чтобы убедиться, что GitHub может подключиться и записать на конечную точку Azure Events Hub.
- После успешной проверки конечной точки щелкните Сохранить.
Настройка потоковой передачи в Datadog
Чтобы настроить потоковую передачу в Datadog, создайте маркер клиента или ключ API в Datadog, а затем настройте потоковую передачу журнала аудита в GitHub с помощью маркера проверки подлинности. Вам не нужно создавать контейнер bucket или другой контейнер хранилища в Datadog.
После настройки потоковой передачи в Datadog можно просмотреть данные журнала аудита, отфильтровав их по github.audit.streaming. См. раздел "Управление журналами".
- Если у вас еще нет учетной записи Datadog, создайте ее.
- В Datadog создайте маркер клиента или ключ API и нажмите кнопку " Копировать ключ". Ознакомьтесь с ключами API и приложениями в документах Datadog.
- В правом верхнем углу GitHub Enterprise Serverщелкните рисунок профиля, а затем выберите параметры Enterprise.
- В левой части страницы на боковой панели учетной записи предприятия щелкните Settings.
- В разделе "Параметры" щелкните журнал аудита.
- В разделе "Журнал аудита" щелкните Потоковая передача журналов.
-
**Выберите раскрывающийся список "Настройка потока**" и щелкните **Datadog**. - В поле токена **** вставьте скопированный ранее маркер.
-
**Выберите раскрывающийся список "Сайт"** и щелкните сайт Datadog. Чтобы определить сайт, сравните URL-адрес Datadog с таблицей на [сайтах](https://docs.datadoghq.com/getting_started/site/) Datadog в Документациях Datadog. - Нажмите кнопку Проверить конечную точку, чтобы убедиться, что GitHub может подключиться к конечной точке Datadog и записывать в нее.
- После успешной проверки конечной точки щелкните Сохранить.
- Через несколько минут убедитесь, что данные журнала аудита отображаются на вкладке "Журналы " в Datadog. Если он не отображается, убедитесь, что маркер и сайт верны в GitHub.
Настройка потоковой передачи в Google Cloud Storage
Чтобы настроить потоковую передачу в Google Cloud Storage, создайте учетную запись службы в Google Cloud с соответствующими учетными данными и разрешениями, а затем настройте потоковую передачу журнала аудита в GitHub с использованием учетных данных учетной записи службы для проверки подлинности.
-
Создайте учетную запись службы для Google Cloud. Для этой учетной записи не требуется задавать элементы управления доступом или роли IAM. См. статью "Создание учетных записей служб и управление ими" в документации по Google Cloud.
-
Создайте ключ JSON для учетной записи службы и безопасно его храните. Сведения о создании ключей учетной записи службы и управлении ими см. в документации по Google Cloud.
-
Если вы еще не сделали этого, создайте контейнер. См. статью "Создание контейнеров хранилища" в документации по Google Cloud.
-
Предоставьте учетной записи службы роль Storage Object Creator (Создатель объектов хранилища) для контейнера. Ознакомьтесь с разрешениями Cloud IAM в документации по Google Cloud.
-
В правом верхнем углу GitHub Enterprise Serverщелкните рисунок профиля, а затем выберите параметры Enterprise.
-
В левой части страницы на боковой панели учетной записи предприятия щелкните Settings.
-
В разделе "Параметры" щелкните журнал аудита.
-
В разделе "Журнал аудита" щелкните Потоковая передача журналов.
-
**Выберите раскрывающийся список "Настройка потока**" и щелкните Google **Cloud Storage**. -
В поле Bucket (Контейнер) введите имя контейнера Google Cloud Storage.
-
В разделе "Учетные данные JSON" вставьте все содержимое файла ключа учетной записи службы в формате JSON.
-
Чтобы убедиться, что GitHub может подключиться к контейнеру Google Cloud Storage и записывать в него, нажмите кнопку Check endpoint (Проверить конечную точку).
-
После успешной проверки конечной точки щелкните Сохранить.
Настройка потоковой передачи в Splunk
Чтобы передавать журналы аудита в конечную точку сборщика событий HTTP (HEC) Splunk, убедитесь, что конечная точка настроена для приема подключений HTTPS. Сведения о настройке и использовании сборщика событий HTTP в Splunk Web см. в документации по Splunk.
Примечание.
GitHub проверяет конечную точку HEC с помощью <Domain>:port/services/collector. Если локальная размещение конечной точки (например, с приемником HEC Splunk через OpenTelemetry), убедитесь, что она недоступна в этом месте.
-
В правом верхнем углу GitHub Enterprise Serverщелкните рисунок профиля, а затем выберите параметры Enterprise.
-
В левой части страницы на боковой панели учетной записи предприятия щелкните Settings.
-
В разделе "Параметры" щелкните журнал аудита.
-
В разделе "Журнал аудита" щелкните Потоковая передача журналов.
-
**Выберите раскрывающийся список "Настройка потока**" и щелкните **Splunk**. -
На странице конфигурации введите:
-
Домен, в котором размещено приложение, для которого требуется выполнить потоковую передачу.
Если вы используете Splunk Cloud, должен быть
Domain``http-inputs-<host>домен,hostиспользуемый в Splunk Cloud. Например:http-inputs-mycompany.splunkcloud.com.Если вы используете бесплатную пробную версию Splunk Cloud,
Domainдолжно бытьinputs.<host>, гдеhostнаходится домен, используемый в Splunk Cloud. Например:inputs.mycompany.splunkcloud.com. -
Порт, на котором приложение принимает данные.
Если вы используете Splunk Cloud,
Portдолжен быть443.Если вы используете бесплатную пробную версию Splunk Cloud,
Portэто должно быть8088. -
Маркер, который GitHub может использовать для проверки подлинности в стороннем приложении.
-
-
Оставьте флажок Enable SSL verification (Включить проверку SSL).
Журналы аудита всегда передаются в виде зашифрованных данных, но при выборе этого параметра GitHub проверяет SSL-сертификат экземпляра Splunk при доставке событий. Проверка SSL помогает обеспечить безопасную доставку событий в конечную точку URL-адреса. Проверка является необязательной, но рекомендуется оставить включенную проверку SSL.
-
Нажмите кнопку Check endpoint (Проверить конечную точку), чтобы убедиться, что GitHub может подключиться к конечной точке Splunk и записывать в нее.
-
После успешной проверки конечной точки щелкните Сохранить.
Удаление потока журналов аудита
- В правом верхнем углу GitHub Enterprise Serverщелкните рисунок профиля, а затем выберите параметры Enterprise.
- В левой части страницы на боковой панели учетной записи предприятия щелкните Settings.
- В разделе "Параметры" щелкните журнал аудита.
- В разделе "Журнал аудита" щелкните Потоковая передача журналов.
- В разделе "Зона опасности" нажмите кнопку "Удалить поток".
- Отображается сообщение подтверждения. Нажмите кнопку Delete stream (Удалить поток), чтобы подтвердить.