InfoGrab DocsInfoGrab Docs

인스턴스에 대한 감사 이벤트 스트리밍

요약

인스턴스 감사 이벤트 스트리밍을 사용하면 관리자는 다음을 수행할 수 있습니다. 각 스트리밍 대상에는 스트리밍되는 이벤트마다 최대 20개의 사용자 지정 HTTP 헤더를 포함할 수 있습니다. GitLab은 같은 대상에 하나의 이벤트를 두 번 이상 스트리밍할 수 있습니다.

인스턴스 감사 이벤트 스트리밍을 사용하면 관리자는 다음을 수행할 수 있습니다.

  • 인스턴스 전체에 스트리밍 대상을 설정해 해당 인스턴스의 모든 감사 이벤트를 구조화된 JSON으로 수신합니다.
  • 서드파티 시스템에서 감사 로그를 관리합니다. 구조화된 JSON 데이터를 수신할 수 있는 서비스라면 무엇이든 스트리밍 대상으로 사용할 수 있습니다.

각 스트리밍 대상에는 스트리밍되는 이벤트마다 최대 20개의 사용자 지정 HTTP 헤더를 포함할 수 있습니다.

GitLab은 같은 대상에 하나의 이벤트를 두 번 이상 스트리밍할 수 있습니다. 수신 데이터를 중복 제거하려면 페이로드의 id 키를 사용합니다.

감사 이벤트는 HTTP가 지원하는 POST 요청 메서드 프로토콜로 전송됩니다.

Warning

스트리밍 대상은 민감한 정보가 포함될 수 있는 모든 감사 이벤트 데이터를 수신합니다. 스트리밍 대상을 신뢰할 수 있는지 확인합니다.

인스턴스 전체의 스트리밍 대상을 관리합니다.

HTTP 대상#

사전 요구 사항:

  • 보안을 강화하려면 대상 URL에 SSL 인증서를 사용해야 합니다.

인스턴스 전체의 HTTP 스트리밍 대상을 관리합니다.

새 HTTP 대상 추가#

인스턴스에 새 HTTP 스트리밍 대상을 추가합니다.

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스에 스트리밍 대상을 추가하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. Add streaming destination을 선택하고 HTTP endpoint를 선택해 대상 추가 섹션을 표시합니다.
  5. Name 및 Destination URL 필드에 대상 이름과 URL을 입력합니다.
  6. 선택 사항. 사용자 지정 HTTP 헤더를 추가하려면 Add header를 선택해 새 이름과 값 쌍을 만들고 값을 입력합니다. 필요한 이름과 값 쌍의 수만큼 이 단계를 반복합니다. 스트리밍 대상마다 최대 20개의 헤더를 추가할 수 있습니다.
  7. 헤더를 활성화하려면 Active 체크박스를 선택합니다. 해당 헤더는 감사 이벤트와 함께 전송됩니다.
  8. Add header를 선택해 새 이름과 값 쌍을 만듭니다. 필요한 이름과 값 쌍의 수만큼 이 단계를 반복합니다. 스트리밍 대상마다 최대 20개의 헤더를 추가할 수 있습니다.
  9. 모든 헤더를 입력한 다음 Add를 선택해 새 스트리밍 대상을 추가합니다.

HTTP 대상 업데이트#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스 스트리밍 대상의 이름을 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Name 필드에 업데이트할 대상 이름을 입력합니다.
  6. Save를 선택해 스트리밍 대상을 업데이트합니다.

인스턴스 스트리밍 대상의 사용자 지정 HTTP 헤더를 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Custom HTTP headers 표를 찾습니다.
  6. 업데이트할 헤더를 찾습니다.
  7. 헤더를 활성화하려면 Active 체크박스를 선택합니다. 해당 헤더는 감사 이벤트와 함께 전송됩니다.
  8. Add header를 선택해 새 이름과 값 쌍을 만듭니다. 필요한 만큼 이름과 값 쌍을 입력합니다. 스트리밍 대상마다 최대 20개의 헤더를 추가할 수 있습니다.
  9. Save를 선택해 스트리밍 대상을 업데이트합니다.

이벤트 진위 확인#

각 스트리밍 대상에는 이벤트의 진위를 확인하는 데 사용할 수 있는 고유한 확인 토큰(verificationToken)이 있습니다. 이 토큰은 Owner가 지정하거나 이벤트 대상을 생성할 때 자동으로 생성되며 변경할 수 없습니다.

스트리밍되는 각 이벤트는 X-Gitlab-Event-Streaming-Token HTTP 헤더에 확인 토큰을 포함하며, 스트리밍 대상을 나열할 때 대상의 값과 대조해 확인할 수 있습니다.

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 스트리밍 대상을 나열하고 확인 토큰을 보는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 각 항목의 오른쪽에서 확인 토큰을 확인합니다.

이벤트 필터 업데이트#

이 기능을 활성화하면 사용자가 대상별로 스트리밍되는 감사 이벤트를 필터링하도록 허용할 수 있습니다. 필터 없이 기능만 활성화하면 대상은 모든 감사 이벤트를 수신합니다.

이벤트 유형 필터가 설정된 스트리밍 대상에는 filtered([filter]) 레이블이 표시됩니다.

스트리밍 대상의 이벤트 필터를 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Filter by audit event type 드롭다운 목록을 찾습니다.
  6. 드롭다운 목록을 선택하고 필요한 이벤트 유형을 선택하거나 선택 해제합니다.
  7. Save를 선택해 이벤트 필터를 업데이트합니다.

기본 콘텐츠 유형 헤더 재정의#

기본적으로 스트리밍 대상은 content-type 헤더로 application/x-www-form-urlencoded를 사용합니다. 다만 content-type 헤더를 다른 값으로 설정해야 할 수 있습니다. 예를 들면 application/json 입니다.

인스턴스 스트리밍 대상의 content-type 헤더 기본값을 재정의하려면 다음 중 하나를 사용합니다.

Google Cloud Logging 대상#

인스턴스 전체의 Google Cloud Logging 대상을 관리합니다.

사전 요구 사항#

Google Cloud Logging 감사 이벤트 스트리밍을 설정하기 전에 다음을 수행해야 합니다.

  1. Google Cloud 프로젝트에서 Cloud Logging API를 활성화합니다.
  2. 적절한 자격 증명과 권한을 가진 Google Cloud 서비스 계정을 만듭니다. 이 계정은 감사 로그 스트리밍 인증을 구성하는 데 사용됩니다. 자세한 내용은 Google Cloud 문서의 서비스 계정 생성 및 관리를 참고합니다.
  3. Google Cloud에서 로깅을 사용하도록 서비스 계정에 Logs Writer 역할을 활성화합니다. 자세한 내용은 IAM을 사용한 액세스 제어를 참고합니다.
  4. 서비스 계정의 JSON 키를 만듭니다. 자세한 내용은 서비스 계정 키 생성을 참고합니다.

새 Google Cloud Logging 대상 추가#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스에 Google Cloud Logging 스트리밍 대상을 추가하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. Add streaming destination을 선택하고 Google Cloud Logging을 선택해 대상 추가 섹션을 표시합니다.
  5. 새 대상의 이름으로 사용할 임의 문자열을 입력합니다.
  6. 앞서 만든 Google Cloud 서비스 계정 키의 Google 프로젝트 ID와 Google 클라이언트 이메일을 입력합니다.
  7. 앞서 만든 Google Cloud 서비스 계정 키의 Google 비공개 키를 입력합니다. 비공개 키는 PEM 형식이어야 하며 -----BEGIN PRIVATE KEY-----로 시작합니다. JSON 키 전체를 업로드하지 않습니다.
  8. 새 대상의 로그 ID로 사용할 임의 문자열을 입력합니다. 이후 Google Cloud에서 로그 결과를 필터링할 때 사용할 수 있습니다.
  9. Add를 선택해 새 스트리밍 대상을 추가합니다.

Google Cloud Logging 대상 업데이트#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 Google Cloud Logging 스트리밍 대상을 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 Google Cloud Logging 스트림을 선택합니다.
  5. 대상의 이름으로 사용할 임의 문자열을 입력합니다.
  6. 대상을 업데이트하려면 앞서 만든 Google Cloud 서비스 계정 키의 Google 프로젝트 ID와 Google 클라이언트 이메일을 입력합니다.
  7. 대상의 로그 ID를 업데이트할 임의 문자열을 입력합니다. 이후 Google Cloud에서 로그 결과를 필터링할 때 사용할 수 있습니다.
  8. 비공개 키를 업데이트하려면 Add a new private key를 선택하고 Google 비공개 키를 입력합니다.
  9. Save를 선택해 스트리밍 대상을 업데이트합니다.

AWS S3 대상#

인스턴스 전체의 AWS S3 대상을 관리합니다.

사전 요구 사항#

AWS S3 감사 이벤트 스트리밍을 설정하기 전에 다음을 수행해야 합니다.

  1. 적절한 자격 증명과 권한을 가진 AWS 액세스 키를 만듭니다. 이 계정은 감사 로그 스트리밍 인증을 구성하는 데 사용됩니다. 자세한 내용은 액세스 키 관리를 참고합니다.
  2. AWS S3 버킷을 만듭니다. 이 버킷은 감사 로그 스트리밍 데이터를 저장하는 데 사용됩니다. 자세한 내용은 버킷 생성을 참고합니다.

새 AWS S3 대상 추가#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스에 AWS S3 스트리밍 대상을 추가하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. Add streaming destination을 선택하고 AWS S3를 선택해 대상 추가 섹션을 표시합니다.
  5. 새 대상의 이름으로 사용할 임의 문자열을 입력합니다.
  6. 앞서 만든 AWS 액세스 키와 버킷의 Access Key ID, Secret Access Key, Bucket Name, AWS Region을 입력해 새 대상에 추가합니다.
  7. Add를 선택해 새 스트리밍 대상을 추가합니다.

AWS S3 대상 업데이트#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 AWS S3 스트리밍 대상을 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 AWS S3 스트림을 선택합니다.
  5. 대상의 이름으로 사용할 임의 문자열을 입력합니다.
  6. 대상을 업데이트하려면 앞서 만든 AWS 액세스 키와 버킷의 Access Key ID, Secret Access Key, Bucket Name, AWS Region을 입력합니다.
  7. Secret Access Key를 업데이트하려면 Add a new Secret Access Key를 선택하고 AWS Secret Access Key를 입력합니다.
  8. Save를 선택합니다.

스트리밍 대상 나열#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 스트리밍 대상을 나열하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.

스트리밍 대상 활성화 또는 비활성화#

히스토리

대상 구성을 삭제하지 않고 해당 대상으로의 감사 이벤트 스트리밍을 일시적으로 비활성화할 수 있습니다. 스트리밍 대상을 비활성화하면 다음과 같이 동작합니다.

  • 해당 대상으로의 감사 이벤트 스트리밍이 즉시 중단됩니다.
  • 대상 구성은 그대로 유지됩니다.
  • 언제든지 대상을 다시 활성화할 수 있습니다.
  • 활성 상태인 다른 대상은 계속 이벤트를 수신합니다.

스트리밍 대상 비활성화#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

스트리밍 대상을 비활성화하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Active 체크박스를 선택 해제합니다.
  6. Save를 선택합니다.

해당 대상은 감사 이벤트 수신을 중단합니다.

스트리밍 대상 활성화#

이전에 비활성화한 스트리밍 대상을 다시 활성화하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Active 체크박스를 선택합니다.
  6. Save를 선택합니다.

해당 대상은 즉시 감사 이벤트 수신을 재개합니다.

AI 감사 이벤트 스트리밍#

히스토리
Warning

AI 감사 이벤트 스트리밍을 활성화하면 인스턴스 성능에 영향을 줄 수 있습니다. 인스턴스의 부하를 평가한 뒤에 이 설정을 활성화합니다.

GitLab Duo Agent Platform은 다음과 같은 활동에 대해 AI 감사 이벤트를 기록합니다.

  • 에이전트 세션.
  • LLM 요청.
  • 도구 호출.
  • 사용자 입력.

GitLab은 이 이벤트를 항상 데이터베이스에 저장합니다.

또한 별도의 설정으로 GitLab 이 AI 감사 이벤트를 외부 대상으로 스트리밍할지 여부를 제어할 수 있습니다. 이 설정은 기본적으로 꺼져 있습니다.

AI 감사 이벤트 스트리밍의 상태에 따라 동작은 다음과 같습니다.

  • 켜져 있으면 GitLab은 활성 상태인 모든 인스턴스 스트리밍 대상으로 AI 감사 이벤트를 스트리밍합니다. 이벤트 유형 필터, 사용자 지정 HTTP 헤더, 확인 토큰은 다른 감사 이벤트와 동일한 방식으로 AI 감사 이벤트에도 적용됩니다.
  • 꺼져 있으면 GitLab은 AI 감사 이벤트를 데이터베이스에 계속 저장하지만 외부 대상으로는 전송하지 않습니다. 다른 감사 이벤트 유형은 각 대상의 구성에 따라 계속 스트리밍됩니다.

AI 감사 이벤트 스트리밍 켜기#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

AI 감사 이벤트 스트리밍을 켜는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 GitLab Duo를 선택합니다.
  3. Change configuration을 선택합니다.
  4. Enable AI audit event streaming 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

AI 감사 이벤트 스트리밍 끄기#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

AI 감사 이벤트 스트리밍을 끄는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 GitLab Duo를 선택합니다.
  3. Change configuration을 선택합니다.
  4. Enable AI audit event streaming 체크박스를 선택 해제합니다.
  5. Save changes를 선택합니다.

AI 감사 이벤트 스트리밍이 즉시 중단됩니다. GitLab은 이 이벤트를 계속 데이터베이스에 저장합니다.

스트리밍 대상 삭제#

인스턴스 전체의 스트리밍 대상을 삭제합니다. 마지막 대상이 삭제되면 해당 인스턴스의 스트리밍이 비활성화됩니다.

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 스트리밍 대상을 삭제하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Delete destination을 선택합니다.
  6. 확인하려면 Delete destination을 선택합니다.

사용자 지정 HTTP 헤더만 삭제#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

스트리밍 대상의 사용자 지정 HTTP 헤더만 삭제하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 항목 오른쪽에서 Edit(✏️)를 선택합니다.
  5. Custom HTTP headers 표를 찾습니다.
  6. 제거할 헤더를 찾습니다.
  7. 헤더 오른쪽에서 Delete([remove])를 선택합니다.
  8. Save를 선택합니다.

관련 주제#

인스턴스에 대한 감사 이벤트 스트리밍

GitLab v19.5
Tier: Ultimate
Offering: GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

인스턴스 감사 이벤트 스트리밍을 사용하면 관리자는 다음을 수행할 수 있습니다. 각 스트리밍 대상에는 스트리밍되는 이벤트마다 최대 20개의 사용자 지정 HTTP 헤더를 포함할 수 있습니다. GitLab은 같은 대상에 하나의 이벤트를 두 번 이상 스트리밍할 수 있습니다.

인스턴스 감사 이벤트 스트리밍을 사용하면 관리자는 다음을 수행할 수 있습니다.

  • 인스턴스 전체에 스트리밍 대상을 설정해 해당 인스턴스의 모든 감사 이벤트를 구조화된 JSON으로 수신합니다.
  • 서드파티 시스템에서 감사 로그를 관리합니다. 구조화된 JSON 데이터를 수신할 수 있는 서비스라면 무엇이든 스트리밍 대상으로 사용할 수 있습니다.

각 스트리밍 대상에는 스트리밍되는 이벤트마다 최대 20개의 사용자 지정 HTTP 헤더를 포함할 수 있습니다.

GitLab은 같은 대상에 하나의 이벤트를 두 번 이상 스트리밍할 수 있습니다. 수신 데이터를 중복 제거하려면 페이로드의 id 키를 사용합니다.

감사 이벤트는 HTTP가 지원하는 POST 요청 메서드 프로토콜로 전송됩니다.

Warning

스트리밍 대상은 민감한 정보가 포함될 수 있는 모든 감사 이벤트 데이터를 수신합니다. 스트리밍 대상을 신뢰할 수 있는지 확인합니다.

인스턴스 전체의 스트리밍 대상을 관리합니다.

HTTP 대상#

사전 요구 사항:

  • 보안을 강화하려면 대상 URL에 SSL 인증서를 사용해야 합니다.

인스턴스 전체의 HTTP 스트리밍 대상을 관리합니다.

새 HTTP 대상 추가#

인스턴스에 새 HTTP 스트리밍 대상을 추가합니다.

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스에 스트리밍 대상을 추가하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. Add streaming destination을 선택하고 HTTP endpoint를 선택해 대상 추가 섹션을 표시합니다.
  5. Name 및 Destination URL 필드에 대상 이름과 URL을 입력합니다.
  6. 선택 사항. 사용자 지정 HTTP 헤더를 추가하려면 Add header를 선택해 새 이름과 값 쌍을 만들고 값을 입력합니다. 필요한 이름과 값 쌍의 수만큼 이 단계를 반복합니다. 스트리밍 대상마다 최대 20개의 헤더를 추가할 수 있습니다.
  7. 헤더를 활성화하려면 Active 체크박스를 선택합니다. 해당 헤더는 감사 이벤트와 함께 전송됩니다.
  8. Add header를 선택해 새 이름과 값 쌍을 만듭니다. 필요한 이름과 값 쌍의 수만큼 이 단계를 반복합니다. 스트리밍 대상마다 최대 20개의 헤더를 추가할 수 있습니다.
  9. 모든 헤더를 입력한 다음 Add를 선택해 새 스트리밍 대상을 추가합니다.

HTTP 대상 업데이트#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스 스트리밍 대상의 이름을 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Name 필드에 업데이트할 대상 이름을 입력합니다.
  6. Save를 선택해 스트리밍 대상을 업데이트합니다.

인스턴스 스트리밍 대상의 사용자 지정 HTTP 헤더를 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Custom HTTP headers 표를 찾습니다.
  6. 업데이트할 헤더를 찾습니다.
  7. 헤더를 활성화하려면 Active 체크박스를 선택합니다. 해당 헤더는 감사 이벤트와 함께 전송됩니다.
  8. Add header를 선택해 새 이름과 값 쌍을 만듭니다. 필요한 만큼 이름과 값 쌍을 입력합니다. 스트리밍 대상마다 최대 20개의 헤더를 추가할 수 있습니다.
  9. Save를 선택해 스트리밍 대상을 업데이트합니다.

이벤트 진위 확인#

각 스트리밍 대상에는 이벤트의 진위를 확인하는 데 사용할 수 있는 고유한 확인 토큰(verificationToken)이 있습니다. 이 토큰은 Owner가 지정하거나 이벤트 대상을 생성할 때 자동으로 생성되며 변경할 수 없습니다.

스트리밍되는 각 이벤트는 X-Gitlab-Event-Streaming-Token HTTP 헤더에 확인 토큰을 포함하며, 스트리밍 대상을 나열할 때 대상의 값과 대조해 확인할 수 있습니다.

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 스트리밍 대상을 나열하고 확인 토큰을 보는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 각 항목의 오른쪽에서 확인 토큰을 확인합니다.

이벤트 필터 업데이트#

이 기능을 활성화하면 사용자가 대상별로 스트리밍되는 감사 이벤트를 필터링하도록 허용할 수 있습니다. 필터 없이 기능만 활성화하면 대상은 모든 감사 이벤트를 수신합니다.

이벤트 유형 필터가 설정된 스트리밍 대상에는 filtered([filter]) 레이블이 표시됩니다.

스트리밍 대상의 이벤트 필터를 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Filter by audit event type 드롭다운 목록을 찾습니다.
  6. 드롭다운 목록을 선택하고 필요한 이벤트 유형을 선택하거나 선택 해제합니다.
  7. Save를 선택해 이벤트 필터를 업데이트합니다.

기본 콘텐츠 유형 헤더 재정의#

기본적으로 스트리밍 대상은 content-type 헤더로 application/x-www-form-urlencoded를 사용합니다. 다만 content-type 헤더를 다른 값으로 설정해야 할 수 있습니다. 예를 들면 application/json 입니다.

인스턴스 스트리밍 대상의 content-type 헤더 기본값을 재정의하려면 다음 중 하나를 사용합니다.

Google Cloud Logging 대상#

인스턴스 전체의 Google Cloud Logging 대상을 관리합니다.

사전 요구 사항#

Google Cloud Logging 감사 이벤트 스트리밍을 설정하기 전에 다음을 수행해야 합니다.

  1. Google Cloud 프로젝트에서 Cloud Logging API를 활성화합니다.
  2. 적절한 자격 증명과 권한을 가진 Google Cloud 서비스 계정을 만듭니다. 이 계정은 감사 로그 스트리밍 인증을 구성하는 데 사용됩니다. 자세한 내용은 Google Cloud 문서의 서비스 계정 생성 및 관리를 참고합니다.
  3. Google Cloud에서 로깅을 사용하도록 서비스 계정에 Logs Writer 역할을 활성화합니다. 자세한 내용은 IAM을 사용한 액세스 제어를 참고합니다.
  4. 서비스 계정의 JSON 키를 만듭니다. 자세한 내용은 서비스 계정 키 생성을 참고합니다.

새 Google Cloud Logging 대상 추가#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스에 Google Cloud Logging 스트리밍 대상을 추가하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. Add streaming destination을 선택하고 Google Cloud Logging을 선택해 대상 추가 섹션을 표시합니다.
  5. 새 대상의 이름으로 사용할 임의 문자열을 입력합니다.
  6. 앞서 만든 Google Cloud 서비스 계정 키의 Google 프로젝트 ID와 Google 클라이언트 이메일을 입력합니다.
  7. 앞서 만든 Google Cloud 서비스 계정 키의 Google 비공개 키를 입력합니다. 비공개 키는 PEM 형식이어야 하며 -----BEGIN PRIVATE KEY-----로 시작합니다. JSON 키 전체를 업로드하지 않습니다.
  8. 새 대상의 로그 ID로 사용할 임의 문자열을 입력합니다. 이후 Google Cloud에서 로그 결과를 필터링할 때 사용할 수 있습니다.
  9. Add를 선택해 새 스트리밍 대상을 추가합니다.

Google Cloud Logging 대상 업데이트#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 Google Cloud Logging 스트리밍 대상을 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 Google Cloud Logging 스트림을 선택합니다.
  5. 대상의 이름으로 사용할 임의 문자열을 입력합니다.
  6. 대상을 업데이트하려면 앞서 만든 Google Cloud 서비스 계정 키의 Google 프로젝트 ID와 Google 클라이언트 이메일을 입력합니다.
  7. 대상의 로그 ID를 업데이트할 임의 문자열을 입력합니다. 이후 Google Cloud에서 로그 결과를 필터링할 때 사용할 수 있습니다.
  8. 비공개 키를 업데이트하려면 Add a new private key를 선택하고 Google 비공개 키를 입력합니다.
  9. Save를 선택해 스트리밍 대상을 업데이트합니다.

AWS S3 대상#

인스턴스 전체의 AWS S3 대상을 관리합니다.

사전 요구 사항#

AWS S3 감사 이벤트 스트리밍을 설정하기 전에 다음을 수행해야 합니다.

  1. 적절한 자격 증명과 권한을 가진 AWS 액세스 키를 만듭니다. 이 계정은 감사 로그 스트리밍 인증을 구성하는 데 사용됩니다. 자세한 내용은 액세스 키 관리를 참고합니다.
  2. AWS S3 버킷을 만듭니다. 이 버킷은 감사 로그 스트리밍 데이터를 저장하는 데 사용됩니다. 자세한 내용은 버킷 생성을 참고합니다.

새 AWS S3 대상 추가#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스에 AWS S3 스트리밍 대상을 추가하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. Add streaming destination을 선택하고 AWS S3를 선택해 대상 추가 섹션을 표시합니다.
  5. 새 대상의 이름으로 사용할 임의 문자열을 입력합니다.
  6. 앞서 만든 AWS 액세스 키와 버킷의 Access Key ID, Secret Access Key, Bucket Name, AWS Region을 입력해 새 대상에 추가합니다.
  7. Add를 선택해 새 스트리밍 대상을 추가합니다.

AWS S3 대상 업데이트#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 AWS S3 스트리밍 대상을 업데이트하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 AWS S3 스트림을 선택합니다.
  5. 대상의 이름으로 사용할 임의 문자열을 입력합니다.
  6. 대상을 업데이트하려면 앞서 만든 AWS 액세스 키와 버킷의 Access Key ID, Secret Access Key, Bucket Name, AWS Region을 입력합니다.
  7. Secret Access Key를 업데이트하려면 Add a new Secret Access Key를 선택하고 AWS Secret Access Key를 입력합니다.
  8. Save를 선택합니다.

스트리밍 대상 나열#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 스트리밍 대상을 나열하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.

스트리밍 대상 활성화 또는 비활성화#

히스토리

대상 구성을 삭제하지 않고 해당 대상으로의 감사 이벤트 스트리밍을 일시적으로 비활성화할 수 있습니다. 스트리밍 대상을 비활성화하면 다음과 같이 동작합니다.

  • 해당 대상으로의 감사 이벤트 스트리밍이 즉시 중단됩니다.
  • 대상 구성은 그대로 유지됩니다.
  • 언제든지 대상을 다시 활성화할 수 있습니다.
  • 활성 상태인 다른 대상은 계속 이벤트를 수신합니다.

스트리밍 대상 비활성화#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

스트리밍 대상을 비활성화하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Active 체크박스를 선택 해제합니다.
  6. Save를 선택합니다.

해당 대상은 감사 이벤트 수신을 중단합니다.

스트리밍 대상 활성화#

이전에 비활성화한 스트리밍 대상을 다시 활성화하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Active 체크박스를 선택합니다.
  6. Save를 선택합니다.

해당 대상은 즉시 감사 이벤트 수신을 재개합니다.

AI 감사 이벤트 스트리밍#

히스토리
Warning

AI 감사 이벤트 스트리밍을 활성화하면 인스턴스 성능에 영향을 줄 수 있습니다. 인스턴스의 부하를 평가한 뒤에 이 설정을 활성화합니다.

GitLab Duo Agent Platform은 다음과 같은 활동에 대해 AI 감사 이벤트를 기록합니다.

  • 에이전트 세션.
  • LLM 요청.
  • 도구 호출.
  • 사용자 입력.

GitLab은 이 이벤트를 항상 데이터베이스에 저장합니다.

또한 별도의 설정으로 GitLab 이 AI 감사 이벤트를 외부 대상으로 스트리밍할지 여부를 제어할 수 있습니다. 이 설정은 기본적으로 꺼져 있습니다.

AI 감사 이벤트 스트리밍의 상태에 따라 동작은 다음과 같습니다.

  • 켜져 있으면 GitLab은 활성 상태인 모든 인스턴스 스트리밍 대상으로 AI 감사 이벤트를 스트리밍합니다. 이벤트 유형 필터, 사용자 지정 HTTP 헤더, 확인 토큰은 다른 감사 이벤트와 동일한 방식으로 AI 감사 이벤트에도 적용됩니다.
  • 꺼져 있으면 GitLab은 AI 감사 이벤트를 데이터베이스에 계속 저장하지만 외부 대상으로는 전송하지 않습니다. 다른 감사 이벤트 유형은 각 대상의 구성에 따라 계속 스트리밍됩니다.

AI 감사 이벤트 스트리밍 켜기#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

AI 감사 이벤트 스트리밍을 켜는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 GitLab Duo를 선택합니다.
  3. Change configuration을 선택합니다.
  4. Enable AI audit event streaming 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

AI 감사 이벤트 스트리밍 끄기#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

AI 감사 이벤트 스트리밍을 끄는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 GitLab Duo를 선택합니다.
  3. Change configuration을 선택합니다.
  4. Enable AI audit event streaming 체크박스를 선택 해제합니다.
  5. Save changes를 선택합니다.

AI 감사 이벤트 스트리밍이 즉시 중단됩니다. GitLab은 이 이벤트를 계속 데이터베이스에 저장합니다.

스트리밍 대상 삭제#

인스턴스 전체의 스트리밍 대상을 삭제합니다. 마지막 대상이 삭제되면 해당 인스턴스의 스트리밍이 비활성화됩니다.

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

인스턴스의 스트리밍 대상을 삭제하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 확장할 스트림을 선택합니다.
  5. Delete destination을 선택합니다.
  6. 확인하려면 Delete destination을 선택합니다.

사용자 지정 HTTP 헤더만 삭제#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한.

스트리밍 대상의 사용자 지정 HTTP 헤더만 삭제하는 방법은 다음과 같습니다.

  1. 오른쪽 위 모서리에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Monitoring > Audit events를 선택합니다.
  3. 기본 영역에서 Streams 탭을 선택합니다.
  4. 항목 오른쪽에서 Edit(✏️)를 선택합니다.
  5. Custom HTTP headers 표를 찾습니다.
  6. 제거할 헤더를 찾습니다.
  7. 헤더 오른쪽에서 Delete([remove])를 선택합니다.
  8. Save를 선택합니다.

관련 주제#