Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Потоковая передача журнала аудита для предприятия

Можно выполнять потоковую передачу аудита и данных событий Git из GitHub во внешнюю систему управления данными.

Кто может использовать эту функцию

Enterprise owners can configure audit log streaming.

Примечание. Потоковая передача журналов аудита в настоящее время доступна в бета-версии GitHub Enterprise Server и может быть изменена.

Сведения о потоковой передаче журналов аудита

Чтобы обеспечить безопасность интеллектуальной собственности и соответствие требованиям вашей организации, можно использовать потоковую передачу для хранения копий данных журнала аудита и мониторинга: * обращение к параметрам вашей организации или репозитория;

  • изменения в разрешениях;
  • добавление или удаление пользователей в организации, репозитории или команде;
  • повышение пользователей до администратора;
  • Изменения в разрешениях GitHub App

Преимущества потоковой передачи данных аудита включают в себя следующее:

  • Исследование данных. Вы можете изучить передаваемые потоком события с помощью предпочтительного средства для запроса больших объемов данных. Поток содержит события аудита и события Git во всей учетной записи предприятия.
  • Хранение данных. Вы можете хранить экспортированные журналы аудита и данные событий Git до тех пор, пока это необходимо.

Владельцы предприятия могут в любое время настроить или удалить поток. Поток экспортирует данные аудита и событий Git для всех организаций на предприятии.

Примечание: Все журналы аудита передаются в потоковом режиме в формате JSON.

Настройка потоковой передачи журналов аудита

Настраивайте поток журнала аудита в GitHub Enterprise Server, следуя инструкциям поставщика.

Настройка потоковой передачи в Amazon S3

Чтобы настроить потоковую передачу журналов аудита из GitHub, вам потребуется:

  • ИД ключа доступа AWS;
  • секретный ключ AWS.

Сведения о создании ИД ключа доступа и секретного ключа или доступе к ним см. в статье Основные сведения об учетных данных AWS и их получение документации по AWS.

  1. В 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 щелкните фотографию профиля и выберите Параметры предприятия.

    A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

  2. На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.

  3. В разделе "Журнал аудита" щелкните Потоковая передача журналов. 1. Выберите раскрывающееся меню Настройка потока и выберите Amazon S3.

  4. Настройте параметры потоковой передачи.

    • В разделе "Контейнер" введите имя контейнера, в который нужно выполнять потоковую передачу. Например, auditlog-streaming-test.
    • В разделе "Идентификатор ключа доступа" введите идентификатор ключа доступа. Например, ABCAIOSFODNN7EXAMPLE1.
    • В разделе "Секретный ключ" введите секретный ключ. Например, aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY.
  5. Нажмите кнопку Проверить конечную точку, чтобы убедиться, что 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:

  1. На домашней странице выберите Учетные записи хранения.
  2. В разделе "Имя" щелкните имя учетной записи хранения, которую вы хотите использовать.
  3. В разделе "Хранилище данных" щелкните Контейнеры.
  4. Щелкните имя контейнера, который хотите использовать.
  5. На левой боковой панели в разделе "Параметры" щелкните Общие маркеры доступа.
  6. Выберите раскрывающееся меню Разрешения , а затем выберите Create и Write снимите флажок все остальные параметры.
  7. Задайте дату окончания срока действия, соответствующую политике смены секретов.
  8. Щелкните Создать маркер SAS и URL-адрес.
  9. Скопируйте значение отображаемого поля URL-адрес SAS BLOB-объекта. Этот URL-адрес вы используете в GitHub.

В GitHub: 1. В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.

![A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.](/assets/images/enterprise/settings/enterprise-settings.png)
  1. На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.

  2. В разделе "Журнал аудита" щелкните Потоковая передача журналов.

  3. Выберите раскрывающееся меню Настройка потока и щелкните Хранилище BLOB-объектов Azure.

  4. На странице конфигурации введите URL-адрес SAS BLOB-объекта, скопированный в Azure. Поле Container (Контейнер) заполняется автоматически на основе URL-адреса.

  5. Нажмите кнопку Check endpoint (Проверить конечную точку), чтобы убедиться, что GitHub может подключиться к конечной точке Хранилища BLOB-объектов Azure и записывать в нее.

  6. После успешной проверки конечной точки щелкните Сохранить.

Настройка потоковой передачи в Центры событий Azure

Перед настройкой потока в GitHub необходимо иметь пространство имен концентратора событий в Microsoft Azure. Затем необходимо создать экземпляр концентратора событий в пространстве имен. При настройке потока потребуются сведения об этом экземпляре концентратора событий. Дополнительные сведения см. в статье Краткое руководство. Создание концентратора событий с помощью портала Azure документации Майкрософт.

Вам потребуется информация о двух значениях концентратора событий: имя экземпляра и строка подключения.

На портале Microsoft Azure:

  1. В верхней части страницы рядом с полем "Microsoft Azure" используйте поле поиска для поиска "Центры событий".
  2. Выберите Концентраторы событий. Здесь перечислены имена концентраторов событий.
  3. Запишите имя концентратора событий, в который требуется выполнить потоковую передачу. Щелкните концентратор событий.
  4. В меню слева щелкните Политики общего доступа.
  5. Выберите политику общего доступа из списка политик или создайте новую политику.
  6. Скопируйте строку подключения из поля Строка подключения — первичный ключ .

В GitHub: 1. В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.

![A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.](/assets/images/enterprise/settings/enterprise-settings.png)
  1. На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.

  2. В разделе "Журнал аудита" щелкните Потоковая передача журналов.

  3. Выберите раскрывающееся меню Настройка потока и щелкните Центры событий Azure.

  4. На странице конфигурации введите:

    • Имя экземпляра Центров событий Azure.
    • Строка подключения.
  5. Нажмите кнопку Check endpoint (Проверить конечную точку), чтобы убедиться, что GitHub может подключиться к конечной точке Центров событий Azure и записывать в нее.

  6. После успешной проверки конечной точки щелкните Сохранить.

Настройка потоковой передачи в Google Cloud Storage

Чтобы настроить потоковую передачу в Google Cloud Storage, необходимо создать учетную запись службы в Google Cloud с соответствующими учетными данными и разрешениями. Затем настроить потоковую передачу журналов аудита в GitHub Enterprise Server, используя данные для входа учетной записи службы для проверки подлинности.

  1. Создайте учетную запись службы для Google Cloud. Не нужно настраивать управление доступом или роли IAM для учетной записи службы. Дополнительные сведения см. в статье Создание учетных записей служб и управление ими документации Google Cloud.

  2. Создайте ключ JSON для учетной записи службы и безопасно его храните. Дополнительные сведения см. в статье Создание ключей учетной записи службы и управление ими документации Google Cloud.

  3. Если вы еще не создали контейнер, сделайте это. Дополнительные сведения см. в статье Создание контейнеров хранилища документации Google Cloud.

  4. Предоставьте учетной записи службы роль Storage Object Creator (Создатель объектов хранилища) для контейнера. Дополнительные сведения см. в статье Использование разрешений Cloud IAM документации Google Cloud.

  5. В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.

    A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

  6. На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.

  7. В разделе "Журнал аудита" щелкните Потоковая передача журналов.

  8. Выберите раскрывающееся меню Настройка потоковой передачи и выберите Google Cloud Storage.

  9. В поле Bucket (Контейнер) введите имя контейнера Google Cloud Storage.

  10. В поле JSON Credentials (Учетные данные JSON) вставьте все содержимое файла для ключа JSON учетной записи службы.

  11. Чтобы убедиться, что GitHub может подключиться к контейнеру Google Cloud Storage и записывать в него, нажмите кнопку Check endpoint (Проверить конечную точку).

  12. После успешной проверки конечной точки щелкните Сохранить.

Настройка потоковой передачи в Splunk

Для потоковой передачи журналов аудита в конечную точку сборщика событий HTTP (HEC) Splunk необходимо убедиться, что эта конечная точка настроена для приема подключений HTTPS. Дополнительные сведения см. в статье Настройка и использование сборщика событий HTTP в Splunk Web документации Splunk.

  1. В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.

    A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

  2. На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.

  3. В разделе "Журнал аудита" щелкните Потоковая передача журналов.

  4. Выберите раскрывающееся меню Настройка потока и щелкните Splunk.

  5. На странице конфигурации введите:

    • Домен размещенного приложения, для которого требуется выполнить потоковую передачу.

      Если вы используете 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 может использовать для проверки подлинности в стороннем приложении.

  6. Оставьте флажок Enable SSL verification (Включить проверку SSL).

    Журналы аудита всегда передаются в виде зашифрованных данных, но при выборе этого параметра GitHub проверяет SSL-сертификат экземпляра Splunk при доставке событий. Проверка SSL помогает обеспечить безопасную доставку событий в конечную точку URL-адреса. Можно снять флажок с этого параметра, но рекомендуем оставить проверку SSL включенной.

  7. Нажмите кнопку Check endpoint (Проверить конечную точку), чтобы убедиться, что GitHub может подключиться к конечной точке Splunk и записывать в нее.

  8. После успешной проверки конечной точки щелкните Сохранить.

Удаление потока журналов аудита

  1. В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.

    A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

  2. На боковой панели корпоративной учетной записи щелкните Параметры. 1. В разделе " Параметры щелкните Журнал аудита.

  3. В разделе "Журнал аудита" щелкните Потоковая передача журналов.

  4. В разделе "Зона опасности" щелкните Удалить поток.

  5. Вы увидите сообщение с подтверждением. Нажмите кнопку Delete stream (Удалить поток), чтобы подтвердить.