참고: 감사 로그 스트리밍은 현재 GitHub Enterprise Server에 베타에 있으며 변경될 수 있습니다.
감사 로그 스트리밍 정보
지적 재산권을 보호하고 조직의 규정 준수를 유지하기 위해 스트리밍을 사용하여 감사 로그 데이터의 복사본을 유지하고 모니터링할 수 있습니다. * 조직 또는 리포지토리 설정에 대한 액세스
- 권한의 변경 내용
- 조직, 리포지토리 또는 팀에서 추가 또는 제거된 사용자
- 관리자로 승격된 사용자
- GitHub App의 사용 권한 변경
감사 데이터 스트리밍의 이점은 다음과 같습니다.
- 데이터 검색. 대량의 데이터를 쿼리하기 위해 기본 설정 도구를 사용하여 스트림된 이벤트를 검사할 수 있습니다. 스트림에는 전체 엔터프라이즈 계정에 대한 감사 이벤트와 Git 이벤트가 모두 포함됩니다.
- 데이터 보존. 내보낸 감사 로그와 Git 이벤트 데이터는 필요한 기간만큼 유지할 수 있습니다.
엔터프라이즈 소유자는 언제든지 스트림을 설정 또는 삭제할 수 있습니다. 스트림은 엔터프라이즈의 모든 조직에 대한 감사 및 Git 이벤트 데이터를 내보냅니다.
참고: 모든 감사 로그는 JSON 형식으로 스트리밍됩니다.
감사 로그 스트리밍 설정
공급자에 대한 지침에 따라 GitHub Enterprise Server에 대한 감사 로그 스트림을 설정합니다.
Amazon S3으로 스트리밍 설정
GitHub에서 감사 로그 스트리밍을 설정하려면 다음 항목이 필요합니다.
- AWS 액세스 키 ID
- AWS 비밀 키
액세스 키 ID 및 비밀 키를 만들거나 액세스하는 방법에 대한 자세한 내용은 AWS 설명서의 AWS 자격 증명 이해 및 가져오기를 참조하세요.
-
AWS에서 버킷을 만들고 버킷에 대한 공용 액세스를 차단합니다. 자세한 내용은 AWS 설명서의 Amazon S3 버킷 만들기, 구성, 사용을 참조하세요. 1. AWS에서 다음 JSON을 복사하고 를 버킷 이름으로 바꿔 GitHub이
EXAMPLE-BUCKET
버킷에 쓸 수 있도록 하는 정책을 만듭니다. GitHub에는 이 JSON의 권한만 필요합니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::EXAMPLE-BUCKET/*" } ] }
자세한 내용은 AWS 설명서의 IAM 정책 만들기를 참조하세요. 1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음 엔터프라이즈 설정을 클릭합니다.
-
엔터프라이즈 계정 사이드바에서 설정을 클릭합니다. 1. " 설정에서 감사 로그를 클릭합니다.
-
“감사 로그”에서 로그 스트리밍을 클릭합니다. 1. 스트림 구성 드롭다운 메뉴를 선택하고 Amazon S3을 클릭합니다.
-
스트림 설정을 구성합니다.
- “버킷”에서 스트리밍할 버킷의 이름을 입력합니다. 예:
auditlog-streaming-test
. - “액세스 키 ID”에서 액세스 키 ID를 입력합니다. 예:
ABCAIOSFODNN7EXAMPLE1
. - “비밀 키”에서 비밀 키를 입력합니다. 예:
aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY
.
- “버킷”에서 스트리밍할 버킷의 이름을 입력합니다. 예:
-
GitHub가 Amazon S3 엔드포인트에 연결하고 쓸 수 있는지 확인하려면 엔드포인트 확인을 클릭합니다. 1. 엔드포인트를 성공적으로 확인한 후 저장을 클릭합니다.
AWS CloudTrail Lake와 통합
감사 로그 스트리밍을 AWS CloudTrail Lake와 S3에 통합하여 GitHub Enterprise Server의 감사 로그를 AWS 활동 로그와 통합할 수 있습니다. 자세한 내용은 AWS CloudTrail 설명서 또는 리포지토리의 GitHub 감사 로그에서 CloudTrail 열기 감사를 aws-samples/aws-cloudtrail-lake-github-audit-log
참조하세요.
Azure Blob Storage로 스트리밍 설정
GitHub에서 스트림을 설정하기 전에 먼저 Microsoft Azure에서 스토리지 계정과 컨테이너를 만들어야 합니다. 자세한 내용은 Microsoft 설명서의 "Azure Blob Storage 소개"를 참조하세요.
GitHub에서 스트림을 구성하려면 SAS 토큰의 URL이 필요합니다.
Microsoft Azure Portal:
- 홈페이지에서 스토리지 계정을 클릭합니다.
- "이름"에서 사용하려는 스토리지 계정의 이름을 클릭합니다.
- "데이터 스토리지"에서 컨테이너를 클릭합니다.
- 사용하려는 컨테이너의 이름을 클릭합니다.
- 왼쪽 사이드바의 "설정"에서 공유 액세스 토큰을 클릭합니다.
- 사용 권한 드롭다운 메뉴를 선택한 다음, 다른 모든 옵션을 선택하고
Create
Write
선택 취소합니다. - 비밀 회전 정책을 준수하는 만료 날짜를 설정합니다.
- SAS 토큰 및 URL 생성을 클릭합니다.
- 표시된 Blob SAS URL 필드의 값을 복사합니다. 이 URL은 GitHub에서 사용합니다.
On GitHub : 1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음 엔터프라이즈 설정을 클릭합니다.

-
엔터프라이즈 계정 사이드바에서 설정을 클릭합니다. 1. " 설정에서 감사 로그를 클릭합니다.
-
“감사 로그”에서 로그 스트리밍을 클릭합니다.
-
스트림 구성 드롭다운 메뉴를 선택하고 Azure Blob Storage 클릭합니다.
-
구성 페이지에서 Azure에 복사한 Blob SAS URL을 입력합니다. 컨테이너 필드는 URL에 따라 자동으로 채워집니다.
-
엔드포인트 확인을 클릭하여 GitHub에서 Azure Blob Storage 엔드포인트에 연결하고 쓸 수 있는지 확인합니다.
-
엔드포인트를 성공적으로 확인한 후 저장을 클릭합니다.
Azure Event Hubs로 스트리밍 설정
GitHub에서 스트림을 설정하기 전에 먼저 Microsoft Azure에 이벤트 허브 네임스페이스가 있어야 합니다. 다음으로, 이벤트 허브 인스턴스를 네임스페이스 내에 만들어야 합니다. 이 이벤트 허브 인스턴스의 세부 정보는 스트림을 설정할 때 필요합니다. 자세한 내용은 Microsoft 설명서의 "빠른 시작: Azure Portal을 사용하여 이벤트 허브 만들기"를 참조하세요.
이벤트 허브에 대한 두 가지 정보, 즉 인스턴스 이름과 연결 문자열이 필요합니다.
Microsoft Azure Portal:
- 페이지 위쪽의 "Microsoft Azure" 옆에 있는 검색 상자를 사용하여 "Event Hubs"를 검색합니다.
- Event Hubs를 선택합니다. 이벤트 허브의 이름이 나열됩니다.
- 스트리밍할 이벤트 허브의 이름을 기록해 둡니다. 이벤트 허브를 클릭합니다.
- 왼쪽 메뉴에서 공유 액세스 정책을 클릭합니다.
- 정책 목록에서 공유 액세스 정책을 선택하거나 새 정책을 만듭니다.
- 연결 문자열-기본 키 필드에서 연결 문자열을 복사합니다.
On GitHub : 1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음 엔터프라이즈 설정을 클릭합니다.

-
엔터프라이즈 계정 사이드바에서 설정을 클릭합니다. 1. " 설정에서 감사 로그를 클릭합니다.
-
“감사 로그”에서 로그 스트리밍을 클릭합니다.
-
스트림 구성 드롭다운 메뉴를 선택하고 Azure Event Hubs 클릭합니다.
-
구성 페이지에서 다음을 입력합니다.
- Azure Event Hubs 인스턴스의 이름
- 연결 문자열입니다.
-
엔드포인트 확인을 클릭하여 GitHub에서 Azure Events Hub 엔드포인트에 연결하고 쓸 수 있는지 확인합니다.
-
엔드포인트를 성공적으로 확인한 후 저장을 클릭합니다.
Google Cloud Storage로 스트리밍 설정
Google Cloud Storage로 스트림하도록 설정하려면 적절한 자격 증명 및 권한을 사용하여 Google Cloud에서 서비스 계정을 만든 다음, 인증을 위해 서비스 계정의 자격 증명을 사용하여 GitHub Enterprise Server에서 감사 로그 스트리밍을 구성해야 합니다.
-
Google Cloud에 대한 서비스 계정을 만듭니다. 서비스 계정에 대한 액세스 제어 또는 IAM 역할을 설정할 필요가 없습니다. 자세한 내용은 Google Cloud 설명서의 서비스 계정 만들기 및 관리를 참조하세요.
-
서비스 계정에 대한 JSON 키를 만들고, 해당 키를 안전하게 저장합니다. 자세한 내용은 Google Cloud 설명서의 서비스 계정 키 만들기 및 관리를 참조하세요.
-
아직 만들지 않은 경우 버킷을 만듭니다. 자세한 내용은 Google Cloud 설명서의 스토리지 버킷 만들기를 참조하세요.
-
버킷에 대한 스토리지 개체 작성자 역할을 서비스 계정에 부여합니다. 자세한 내용은 Google Cloud 설명서의 Cloud IAM 권한 사용을 참조하세요.
-
GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음 엔터프라이즈 설정을 클릭합니다.
-
엔터프라이즈 계정 사이드바에서 설정을 클릭합니다. 1. " 설정에서 감사 로그를 클릭합니다.
-
“감사 로그”에서 로그 스트리밍을 클릭합니다.
-
스트림 구성 드롭다운 메뉴를 선택하고 Google Cloud Storage를 클릭합니다.
-
"버킷" 아래에서 Google Cloud Storage 버킷의 이름을 입력합니다.
-
"JSON 자격 증명" 아래에서 서비스 계정의 JSON 키에 대한 파일의 전체 콘텐츠를 붙여넣습니다.
-
GitHub에서 Google Cloud Storage 버킷에 연결하고 쓸 수 있는지 확인하려면 엔드포인트 확인을 클릭합니다.
-
엔드포인트를 성공적으로 확인한 후 저장을 클릭합니다.
Splunk로 스트리밍 설정
감사 로그를 Splunk의 HEC(HTTP 이벤트 수집기) 엔드포인트로 스트림하려면 엔드포인트가 HTTPS 연결을 허용하도록 구성되어 있는지 확인해야 합니다. 자세한 내용은 Splunk 설명서의 Splunk Web에서 HTTP 이벤트 수집기 설정 및 사용을 참조하세요.
-
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에서 타사 애플리케이션에 인증하는 데 사용할 수 있는 토큰
-
-
SSL 확인 사용 확인란을 선택된 상태로 둡니다.
감사 로그는 항상 암호화된 데이터로 스트림되지만, 이 옵션을 선택하면 GitHub에서 이벤트를 전달할 때 Splunk 인스턴스의 SSL 인증서를 확인합니다. SSL 확인은 이벤트가 URL 엔드포인트에 안전하게 전달되도록 하는 데 도움이 됩니다. 이 옵션의 선택을 취소할 수 있지만, SSL 확인이 사용하도록 설정된 상태로 두는 것이 좋습니다.
-
엔드포인트 확인을 클릭하여 GitHub에서 Splunk 엔드포인트에 연결하고 쓸 수 있는지 확인합니다.
-
엔드포인트를 성공적으로 확인한 후 저장을 클릭합니다.
감사 로그 스트림 삭제
-
GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음 엔터프라이즈 설정을 클릭합니다.
-
엔터프라이즈 계정 사이드바에서 설정을 클릭합니다. 1. " 설정에서 감사 로그를 클릭합니다.
-
“감사 로그”에서 로그 스트리밍을 클릭합니다.
-
"위험 영역"에서 스트림 삭제를 클릭합니다.
-
확인 메시지가 표시됩니다. 스트림 삭제를 클릭하여 확인합니다.
API 요청의 감사 로그 스트리밍 사용
참고: 이 기능은 현재 퍼블릭 베타 버전이며 변경될 수 있습니다.
-
GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음 엔터프라이즈 설정을 클릭합니다.
-
엔터프라이즈 계정 사이드바에서 설정을 클릭합니다. 1. " 설정에서 감사 로그를 클릭합니다.
-
"감사 로그"에서 설정을 클릭합니다.
-
"API 요청"에서 API 요청 이벤트 사용을 선택합니다.