Примечание. Потоковая передача журналов аудита в настоящее время доступна в бета-версии GitHub Enterprise Server и может быть изменена.
Сведения о потоковой передаче журналов аудита
Чтобы обеспечить безопасность интеллектуальной собственности и соответствие требованиям вашей организации, можно использовать потоковую передачу для хранения копий данных журнала аудита и мониторинга: * обращение к параметрам вашей организации или репозитория;
- изменения в разрешениях;
- добавление или удаление пользователей в организации, репозитории или команде;
- повышение пользователей до администратора;
- Изменения в разрешениях GitHub App
Преимущества потоковой передачи данных аудита включают в себя следующее:
- Исследование данных. Вы можете изучить передаваемые потоком события с помощью предпочтительного средства для запроса больших объемов данных. Поток содержит события аудита и события Git во всей учетной записи предприятия.
- Хранение данных. Вы можете хранить экспортированные журналы аудита и данные событий Git до тех пор, пока это необходимо.
Владельцы предприятия могут в любое время настроить или удалить поток. Поток экспортирует данные аудита и событий Git для всех организаций на предприятии.
Примечание: Все журналы аудита передаются в потоковом режиме в формате JSON.
Настройка потоковой передачи журналов аудита
Настраивайте поток журнала аудита в GitHub Enterprise Server, следуя инструкциям поставщика.
Настройка потоковой передачи в Amazon S3
Чтобы настроить потоковую передачу журналов аудита из GitHub, вам потребуется:
- ИД ключа доступа AWS;
- секретный ключ AWS.
Сведения о создании ИД ключа доступа и секретного ключа или доступе к ним см. в статье Основные сведения об учетных данных AWS и их получение документации по AWS.
-
В AWS создайте контейнер и заблокируйте общий доступ к контейнеру. Дополнительные сведения см. в статье Создание, настройка и работа с контейнерами Amazon S3 документации по Amazon Web Services. 1. В 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 в документации по Amazon Web Services. 1. В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.
-
На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.
-
В разделе "Журнал аудита" щелкните Потоковая передача журналов. 1. Выберите раскрывающееся меню Настройка потока и выберите Amazon S3.
-
Настройте параметры потоковой передачи.
- В разделе "Контейнер" введите имя контейнера, в который нужно выполнять потоковую передачу. Например,
auditlog-streaming-test
. - В разделе "Идентификатор ключа доступа" введите идентификатор ключа доступа. Например,
ABCAIOSFODNN7EXAMPLE1
. - В разделе "Секретный ключ" введите секретный ключ. Например,
aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY
.
- В разделе "Контейнер" введите имя контейнера, в который нужно выполнять потоковую передачу. Например,
-
Нажмите кнопку Проверить конечную точку, чтобы убедиться, что GitHub может подключиться к конечной точке Amazon S3 и записывать в нее. 1. После успешной проверки конечной точки щелкните Сохранить.
Интеграция с AWS CloudTrail Lake
Вы можете консолидировать журналы аудита из GitHub Enterprise Server с журналами действий AWS, интегрируя потоковую передачу журналов аудита в S3 с AWS CloudTrail Lake. Дополнительные сведения см. в документации по AWS CloudTrail или в журнале аудита GitHub to CloudTrail Open Audit в репозитории aws-samples/aws-cloudtrail-lake-github-audit-log
.
Настройка потоковой передачи в Хранилище BLOB-объектов Azure
Перед настройкой потока в GitHub необходимо сначала создать учетную запись хранения и контейнер в Microsoft Azure. Дополнительные сведения см. в статье Общие сведения о Хранилище BLOB-объектов Azure документация Майкрософт.
Чтобы настроить поток в GitHub, вам потребуется URL-адрес маркера SAS.
На портале Microsoft Azure:
- На домашней странице выберите Учетные записи хранения.
- В разделе "Имя" щелкните имя учетной записи хранения, которую вы хотите использовать.
- В разделе "Хранилище данных" щелкните Контейнеры.
- Щелкните имя контейнера, который хотите использовать.
- На левой боковой панели в разделе "Параметры" щелкните Общие маркеры доступа.
- Выберите раскрывающееся меню Разрешения , а затем выберите
Create
иWrite
снимите флажок все остальные параметры. - Задайте дату окончания срока действия, соответствующую политике смены секретов.
- Щелкните Создать маркер SAS и URL-адрес.
- Скопируйте значение отображаемого поля URL-адрес SAS BLOB-объекта. Этот URL-адрес вы используете в GitHub.
В GitHub: 1. В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.

-
На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.
-
В разделе "Журнал аудита" щелкните Потоковая передача журналов.
-
Выберите раскрывающееся меню Настройка потока и щелкните Хранилище BLOB-объектов Azure.
-
На странице конфигурации введите URL-адрес SAS BLOB-объекта, скопированный в Azure. Поле Container (Контейнер) заполняется автоматически на основе URL-адреса.
-
Нажмите кнопку Check endpoint (Проверить конечную точку), чтобы убедиться, что GitHub может подключиться к конечной точке Хранилища BLOB-объектов Azure и записывать в нее.
-
После успешной проверки конечной точки щелкните Сохранить.
Настройка потоковой передачи в Центры событий Azure
Перед настройкой потока в GitHub необходимо иметь пространство имен концентратора событий в Microsoft Azure. Затем необходимо создать экземпляр концентратора событий в пространстве имен. При настройке потока потребуются сведения об этом экземпляре концентратора событий. Дополнительные сведения см. в статье Краткое руководство. Создание концентратора событий с помощью портала Azure документации Майкрософт.
Вам потребуется информация о двух значениях концентратора событий: имя экземпляра и строка подключения.
На портале Microsoft Azure:
- В верхней части страницы рядом с полем "Microsoft Azure" используйте поле поиска для поиска "Центры событий".
- Выберите Концентраторы событий. Здесь перечислены имена концентраторов событий.
- Запишите имя концентратора событий, в который требуется выполнить потоковую передачу. Щелкните концентратор событий.
- В меню слева щелкните Политики общего доступа.
- Выберите политику общего доступа из списка политик или создайте новую политику.
- Скопируйте строку подключения из поля Строка подключения — первичный ключ .
В GitHub: 1. В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.

-
На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.
-
В разделе "Журнал аудита" щелкните Потоковая передача журналов.
-
Выберите раскрывающееся меню Настройка потока и щелкните Центры событий Azure.
-
На странице конфигурации введите:
- Имя экземпляра Центров событий Azure.
- Строка подключения.
-
Нажмите кнопку Check endpoint (Проверить конечную точку), чтобы убедиться, что GitHub может подключиться к конечной точке Центров событий Azure и записывать в нее.
-
После успешной проверки конечной точки щелкните Сохранить.
Настройка потоковой передачи в Google Cloud Storage
Чтобы настроить потоковую передачу в Google Cloud Storage, необходимо создать учетную запись службы в Google Cloud с соответствующими учетными данными и разрешениями. Затем настроить потоковую передачу журналов аудита в GitHub Enterprise Server, используя данные для входа учетной записи службы для проверки подлинности.
-
Создайте учетную запись службы для Google Cloud. Не нужно настраивать управление доступом или роли IAM для учетной записи службы. Дополнительные сведения см. в статье Создание учетных записей служб и управление ими документации Google Cloud.
-
Создайте ключ JSON для учетной записи службы и безопасно его храните. Дополнительные сведения см. в статье Создание ключей учетной записи службы и управление ими документации Google Cloud.
-
Если вы еще не создали контейнер, сделайте это. Дополнительные сведения см. в статье Создание контейнеров хранилища документации Google Cloud.
-
Предоставьте учетной записи службы роль Storage Object Creator (Создатель объектов хранилища) для контейнера. Дополнительные сведения см. в статье Использование разрешений Cloud IAM документации Google Cloud.
-
В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.
-
На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.
-
В разделе "Журнал аудита" щелкните Потоковая передача журналов.
-
Выберите раскрывающееся меню Настройка потоковой передачи и выберите Google Cloud Storage.
-
В поле Bucket (Контейнер) введите имя контейнера Google Cloud Storage.
-
В поле JSON Credentials (Учетные данные JSON) вставьте все содержимое файла для ключа JSON учетной записи службы.
-
Чтобы убедиться, что GitHub может подключиться к контейнеру Google Cloud Storage и записывать в него, нажмите кнопку Check endpoint (Проверить конечную точку).
-
После успешной проверки конечной точки щелкните Сохранить.
Настройка потоковой передачи в Splunk
Для потоковой передачи журналов аудита в конечную точку сборщика событий HTTP (HEC) Splunk необходимо убедиться, что эта конечная точка настроена для приема подключений HTTPS. Дополнительные сведения см. в статье Настройка и использование сборщика событий HTTP в Splunk Web документации Splunk.
-
В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.
-
На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.
-
В разделе "Журнал аудита" щелкните Потоковая передача журналов.
-
Выберите раскрывающееся меню Настройка потока и щелкните 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 щелкните фотографию профиля и выберите Параметры предприятия.
-
На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.
-
В разделе "Журнал аудита" щелкните Потоковая передача журналов.
-
В разделе "Зона опасности" щелкните Удалить поток.
-
Вы увидите сообщение с подтверждением. Нажмите кнопку Delete stream (Удалить поток), чтобы подтвердить.