InfoGrab Docs

인스턴스용 감사 이벤트 스트리밍 GraphQL API

요약

GraphQL API를 사용하여 인스턴스의 감사 이벤트 스트리밍 대상을 관리합니다. 전체 인스턴스의 HTTP 스트리밍 대상을 관리합니다. 인스턴스에 새 HTTP 스트리밍 대상을 추가합니다. 스트리밍을 활성화하고 대상을 추가하려면 GraphQL API에서 instanceExternalAuditEventDestinationCreate mutation을 사용합니다.

히스토리
  • GitLab 16.0에서 ff_external_audit_events라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 인스턴스 수준 스트리밍 대상의 커스텀 HTTP 헤더 API가 GitLab 16.1에서 ff_external_audit_events라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 16.2에서 기능 플래그 ff_external_audit_events가 기본적으로 활성화되었습니다.
  • GitLab 16.2에서 사용자 지정 대상 이름 API 지원이 도입되었습니다.
  • GitLab 16.4에서 인스턴스 스트리밍 대상이 일반 공급되었습니다. 기능 플래그 ff_external_audit_events가 제거되었습니다.

GraphQL API를 사용하여 인스턴스의 감사 이벤트 스트리밍 대상을 관리합니다.

HTTP 대상#

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

새 HTTP 대상 추가#

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

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한.

스트리밍을 활성화하고 대상을 추가하려면 GraphQL API에서 instanceExternalAuditEventDestinationCreate mutation을 사용합니다.

mutation {
  instanceExternalAuditEventDestinationCreate(input: { destinationUrl: "https://mydomain.io/endpoint/ingest"}) {
    errors
    instanceExternalAuditEventDestination {
      destinationUrl
      id
      name
      verificationToken
    }
  }
}

다음 조건이 충족되면 이벤트 스트리밍이 활성화됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

선택적으로 GraphQL instanceExternalAuditEventDestinationCreate mutation을 사용하여 기본 GitLab 생성 이름 대신 자체 대상 이름을 지정할 수 있습니다. 이름 길이는 72자를 초과할 수 없으며 후행 공백은 제거되지 않습니다. 이 값은 고유해야 합니다. 예를 들면:

mutation {
  instanceExternalAuditEventDestinationCreate(input: { destinationUrl: "https://mydomain.io/endpoint/ingest", name: "destination-name-here"}) {
    errors
    instanceExternalAuditEventDestination {
      destinationUrl
      id
      name
      verificationToken
    }
  }
}

인스턴스 관리자는 GraphQL auditEventsStreamingInstanceHeadersCreate mutation을 사용하여 HTTP 헤더를 추가할 수 있습니다. 대상 ID는 인스턴스의 모든 스트리밍 대상 나열에서 또는 이전 mutation에서 가져올 수 있습니다.

mutation {
  auditEventsStreamingInstanceHeadersCreate(input:
    {
      destinationId: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/42",
      key: "foo",
      value: "bar",
      active: true
    }) {
    errors
    header {
      id
      key
      value
      active
    }
  }
}

반환된 errors 객체가 비어 있으면 헤더가 생성됩니다.

스트리밍 대상 나열#

인스턴스의 모든 HTTP 스트리밍 대상을 나열합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한.

인스턴스의 스트리밍 대상 목록을 보려면 instanceExternalAuditEventDestinations query 유형을 사용합니다.

query {
  instanceExternalAuditEventDestinations {
    nodes {
      id
      name
      destinationUrl
      verificationToken
      headers {
        nodes {
          id
          key
          value
          active
        }
      }
      eventTypeFilters
    }
  }
}

결과 목록이 비어 있으면 인스턴스에 대한 감사 스트리밍이 활성화되지 않은 것입니다.

업데이트 및 삭제 mutation에는 이 query에서 반환된 ID 값이 필요합니다.

스트리밍 대상 업데이트#

인스턴스의 HTTP 스트리밍 대상을 업데이트합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한.

인스턴스의 스트리밍 대상을 업데이트하려면 instanceExternalAuditEventDestinationUpdate mutation 유형을 사용합니다. 대상 ID는 인스턴스의 모든 외부 대상 나열에서 가져올 수 있습니다.

mutation {
  instanceExternalAuditEventDestinationUpdate(input: {
    id: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/1",
    destinationUrl: "https://www.new-domain.com/webhook",
    name: "destination-name"}) {
    errors
    instanceExternalAuditEventDestination {
      destinationUrl
      id
      name
      verificationToken
    }
  }
}

다음 조건이 충족되면 스트리밍 대상이 업데이트됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

인스턴스 관리자는 auditEventsStreamingInstanceHeadersUpdate mutation 유형을 사용하여 스트리밍 대상의 커스텀 HTTP 헤더를 업데이트할 수 있습니다. 커스텀 HTTP 헤더 ID는 인스턴스의 모든 커스텀 HTTP 헤더 나열에서 가져올 수 있습니다.

mutation {
  auditEventsStreamingInstanceHeadersUpdate(input: { headerId: "gid://gitlab/AuditEvents::Streaming::InstanceHeader/2", key: "new-key", value: "new-value", active: false }) {
    errors
    header {
      id
      key
      value
      active
    }
  }
}

반환된 errors 객체가 비어 있으면 헤더가 업데이트됩니다.

스트리밍 대상 삭제#

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

마지막 대상이 성공적으로 삭제되면 인스턴스에 대한 스트리밍이 비활성화됩니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한.

스트리밍 대상을 삭제하려면 instanceExternalAuditEventDestinationDestroy mutation 유형을 사용합니다. 대상 ID는 인스턴스의 모든 스트리밍 대상 나열에서 가져올 수 있습니다.

mutation {
  instanceExternalAuditEventDestinationDestroy(input: { id: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/1" }) {
    errors
  }
}

다음 조건이 충족되면 스트리밍 대상이 삭제됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

HTTP 헤더를 제거하려면 GraphQL auditEventsStreamingInstanceHeadersDestroy mutation을 사용합니다. 헤더 ID를 가져오려면 인스턴스의 모든 커스텀 HTTP 헤더 나열을 참조합니다.

mutation {
  auditEventsStreamingInstanceHeadersDestroy(input: { headerId: "gid://gitlab/AuditEvents::Streaming::InstanceHeader/<id>" }) {
    errors
  }
}

반환된 errors 객체가 비어 있으면 헤더가 삭제됩니다.

이벤트 유형 필터#

히스토리
  • 이벤트 유형 필터 API가 GitLab 16.2에서 도입되었습니다.

이 기능이 인스턴스에 활성화된 경우 API를 사용하여 대상별로 스트리밍된 감사 이벤트를 필터링할 수 있습니다. 필터 없이 기능이 활성화된 경우 대상은 모든 감사 이벤트를 수신합니다.

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

API를 사용하여 이벤트 유형 필터 추가#

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.

auditEventsStreamingDestinationInstanceEventsAdd mutation을 사용하여 이벤트 유형 필터 목록을 추가할 수 있습니다:

mutation {
    auditEventsStreamingDestinationInstanceEventsAdd(input: {
        destinationId: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/1",
        eventTypeFilters: ["list of event type filters"]}){
        errors
        eventTypeFilters
    }
}

다음 조건이 충족되면 이벤트 유형 필터가 추가됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

API를 사용하여 이벤트 유형 필터 제거#

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.

auditEventsStreamingDestinationInstanceEventsRemove mutation을 사용하여 이벤트 유형 필터 목록을 제거할 수 있습니다:

mutation {
    auditEventsStreamingDestinationInstanceEventsRemove(input: {
    destinationId: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/1",
    eventTypeFilters: ["list of event type filters"]
  }){
    errors
  }
}

다음 조건이 충족되면 이벤트 유형 필터가 제거됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

Google Cloud Logging 대상#

히스토리
  • GitLab 16.5에서 도입되었습니다.

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

Google Cloud Logging 스트리밍 감사 이벤트를 설정하기 전에 전제 조건을 충족해야 합니다.

새 Google Cloud Logging 대상 추가#

인스턴스에 새 Google Cloud Logging 구성 대상을 추가합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있습니다.
  • 서비스 계정을 생성하고 Google Cloud Logging을 활성화하는 데 필요한 권한이 있는 Google Cloud 프로젝트가 있습니다.

스트리밍을 활성화하고 구성을 추가하려면 GraphQL API에서 instanceGoogleCloudLoggingConfigurationCreate mutation을 사용합니다.

mutation {
  instanceGoogleCloudLoggingConfigurationCreate(input: { googleProjectIdName: "my-google-project", clientEmail: "my-email@my-google-project.iam.gservice.account.com", privateKey: "YOUR_PRIVATE_KEY", logIdName: "audit-events", name: "destination-name" } ) {
    errors
    googleCloudLoggingConfiguration {
      id
      googleProjectIdName
      logIdName
      clientEmail
      name
    }
    errors
  }
}

다음 조건이 충족되면 이벤트 스트리밍이 활성화됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

Google Cloud Logging 구성 나열#

인스턴스의 모든 Google Cloud Logging 구성 대상을 나열합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있습니다.

instanceGoogleCloudLoggingConfigurations query 유형을 사용하여 인스턴스의 스트리밍 구성 목록을 볼 수 있습니다.

query {
  instanceGoogleCloudLoggingConfigurations {
    nodes {
      id
      logIdName
      googleProjectIdName
      clientEmail
      name
    }
  }
}

결과 목록이 비어 있으면 인스턴스에 대한 감사 스트리밍이 활성화되지 않은 것입니다.

업데이트 및 삭제 mutation에는 이 query에서 반환된 ID 값이 필요합니다.

Google Cloud Logging 구성 업데이트#

인스턴스의 Google Cloud Logging 구성 대상을 업데이트합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있습니다.

인스턴스의 스트리밍 구성을 업데이트하려면 instanceGoogleCloudLoggingConfigurationUpdate mutation 유형을 사용합니다. 구성 ID는 모든 외부 대상 나열에서 가져올 수 있습니다.

mutation {
  instanceGoogleCloudLoggingConfigurationUpdate(
    input: {id: "gid://gitlab/AuditEvents::Instance::GoogleCloudLoggingConfiguration/1", googleProjectIdName: "updated-google-id", clientEmail: "updated@my-google-project.iam.gservice.account.com", privateKey: "YOUR_PRIVATE_KEY", logIdName: "audit-events", name: "updated name"}
  ) {
    errors
    instanceGoogleCloudLoggingConfiguration {
      id
      logIdName
      googleProjectIdName
      clientEmail
      name
    }
  }
}

다음 조건이 충족되면 스트리밍 구성이 업데이트됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

Google Cloud Logging 구성 삭제#

인스턴스의 스트리밍 대상을 삭제합니다.

마지막 대상이 성공적으로 삭제되면 인스턴스에 대한 스트리밍이 비활성화됩니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있습니다.

스트리밍 구성을 삭제하려면 instanceGoogleCloudLoggingConfigurationDestroy mutation 유형을 사용합니다. 구성 ID는 인스턴스의 모든 스트리밍 대상 나열에서 가져올 수 있습니다.

mutation {
  instanceGoogleCloudLoggingConfigurationDestroy(input: { id: "gid://gitlab/AuditEvents::Instance::GoogleCloudLoggingConfiguration/1" }) {
    errors
  }
}

다음 조건이 충족되면 스트리밍 구성이 삭제됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

인스턴스용 감사 이벤트 스트리밍 GraphQL API

Tier: Ultimate
Offering: GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

GraphQL API를 사용하여 인스턴스의 감사 이벤트 스트리밍 대상을 관리합니다. 전체 인스턴스의 HTTP 스트리밍 대상을 관리합니다. 인스턴스에 새 HTTP 스트리밍 대상을 추가합니다. 스트리밍을 활성화하고 대상을 추가하려면 GraphQL API에서 instanceExternalAuditEventDestinationCreate mutation을 사용합니다.

히스토리
  • GitLab 16.0에서 ff_external_audit_events라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 인스턴스 수준 스트리밍 대상의 커스텀 HTTP 헤더 API가 GitLab 16.1에서 ff_external_audit_events라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 16.2에서 기능 플래그 ff_external_audit_events가 기본적으로 활성화되었습니다.
  • GitLab 16.2에서 사용자 지정 대상 이름 API 지원이 도입되었습니다.
  • GitLab 16.4에서 인스턴스 스트리밍 대상이 일반 공급되었습니다. 기능 플래그 ff_external_audit_events가 제거되었습니다.

GraphQL API를 사용하여 인스턴스의 감사 이벤트 스트리밍 대상을 관리합니다.

HTTP 대상#

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

새 HTTP 대상 추가#

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

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한.

스트리밍을 활성화하고 대상을 추가하려면 GraphQL API에서 instanceExternalAuditEventDestinationCreate mutation을 사용합니다.

mutation {
  instanceExternalAuditEventDestinationCreate(input: { destinationUrl: "https://mydomain.io/endpoint/ingest"}) {
    errors
    instanceExternalAuditEventDestination {
      destinationUrl
      id
      name
      verificationToken
    }
  }
}

다음 조건이 충족되면 이벤트 스트리밍이 활성화됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

선택적으로 GraphQL instanceExternalAuditEventDestinationCreate mutation을 사용하여 기본 GitLab 생성 이름 대신 자체 대상 이름을 지정할 수 있습니다. 이름 길이는 72자를 초과할 수 없으며 후행 공백은 제거되지 않습니다. 이 값은 고유해야 합니다. 예를 들면:

mutation {
  instanceExternalAuditEventDestinationCreate(input: { destinationUrl: "https://mydomain.io/endpoint/ingest", name: "destination-name-here"}) {
    errors
    instanceExternalAuditEventDestination {
      destinationUrl
      id
      name
      verificationToken
    }
  }
}

인스턴스 관리자는 GraphQL auditEventsStreamingInstanceHeadersCreate mutation을 사용하여 HTTP 헤더를 추가할 수 있습니다. 대상 ID는 인스턴스의 모든 스트리밍 대상 나열에서 또는 이전 mutation에서 가져올 수 있습니다.

mutation {
  auditEventsStreamingInstanceHeadersCreate(input:
    {
      destinationId: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/42",
      key: "foo",
      value: "bar",
      active: true
    }) {
    errors
    header {
      id
      key
      value
      active
    }
  }
}

반환된 errors 객체가 비어 있으면 헤더가 생성됩니다.

스트리밍 대상 나열#

인스턴스의 모든 HTTP 스트리밍 대상을 나열합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한.

인스턴스의 스트리밍 대상 목록을 보려면 instanceExternalAuditEventDestinations query 유형을 사용합니다.

query {
  instanceExternalAuditEventDestinations {
    nodes {
      id
      name
      destinationUrl
      verificationToken
      headers {
        nodes {
          id
          key
          value
          active
        }
      }
      eventTypeFilters
    }
  }
}

결과 목록이 비어 있으면 인스턴스에 대한 감사 스트리밍이 활성화되지 않은 것입니다.

업데이트 및 삭제 mutation에는 이 query에서 반환된 ID 값이 필요합니다.

스트리밍 대상 업데이트#

인스턴스의 HTTP 스트리밍 대상을 업데이트합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한.

인스턴스의 스트리밍 대상을 업데이트하려면 instanceExternalAuditEventDestinationUpdate mutation 유형을 사용합니다. 대상 ID는 인스턴스의 모든 외부 대상 나열에서 가져올 수 있습니다.

mutation {
  instanceExternalAuditEventDestinationUpdate(input: {
    id: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/1",
    destinationUrl: "https://www.new-domain.com/webhook",
    name: "destination-name"}) {
    errors
    instanceExternalAuditEventDestination {
      destinationUrl
      id
      name
      verificationToken
    }
  }
}

다음 조건이 충족되면 스트리밍 대상이 업데이트됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

인스턴스 관리자는 auditEventsStreamingInstanceHeadersUpdate mutation 유형을 사용하여 스트리밍 대상의 커스텀 HTTP 헤더를 업데이트할 수 있습니다. 커스텀 HTTP 헤더 ID는 인스턴스의 모든 커스텀 HTTP 헤더 나열에서 가져올 수 있습니다.

mutation {
  auditEventsStreamingInstanceHeadersUpdate(input: { headerId: "gid://gitlab/AuditEvents::Streaming::InstanceHeader/2", key: "new-key", value: "new-value", active: false }) {
    errors
    header {
      id
      key
      value
      active
    }
  }
}

반환된 errors 객체가 비어 있으면 헤더가 업데이트됩니다.

스트리밍 대상 삭제#

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

마지막 대상이 성공적으로 삭제되면 인스턴스에 대한 스트리밍이 비활성화됩니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한.

스트리밍 대상을 삭제하려면 instanceExternalAuditEventDestinationDestroy mutation 유형을 사용합니다. 대상 ID는 인스턴스의 모든 스트리밍 대상 나열에서 가져올 수 있습니다.

mutation {
  instanceExternalAuditEventDestinationDestroy(input: { id: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/1" }) {
    errors
  }
}

다음 조건이 충족되면 스트리밍 대상이 삭제됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

HTTP 헤더를 제거하려면 GraphQL auditEventsStreamingInstanceHeadersDestroy mutation을 사용합니다. 헤더 ID를 가져오려면 인스턴스의 모든 커스텀 HTTP 헤더 나열을 참조합니다.

mutation {
  auditEventsStreamingInstanceHeadersDestroy(input: { headerId: "gid://gitlab/AuditEvents::Streaming::InstanceHeader/<id>" }) {
    errors
  }
}

반환된 errors 객체가 비어 있으면 헤더가 삭제됩니다.

이벤트 유형 필터#

히스토리
  • 이벤트 유형 필터 API가 GitLab 16.2에서 도입되었습니다.

이 기능이 인스턴스에 활성화된 경우 API를 사용하여 대상별로 스트리밍된 감사 이벤트를 필터링할 수 있습니다. 필터 없이 기능이 활성화된 경우 대상은 모든 감사 이벤트를 수신합니다.

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

API를 사용하여 이벤트 유형 필터 추가#

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.

auditEventsStreamingDestinationInstanceEventsAdd mutation을 사용하여 이벤트 유형 필터 목록을 추가할 수 있습니다:

mutation {
    auditEventsStreamingDestinationInstanceEventsAdd(input: {
        destinationId: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/1",
        eventTypeFilters: ["list of event type filters"]}){
        errors
        eventTypeFilters
    }
}

다음 조건이 충족되면 이벤트 유형 필터가 추가됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

API를 사용하여 이벤트 유형 필터 제거#

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.

auditEventsStreamingDestinationInstanceEventsRemove mutation을 사용하여 이벤트 유형 필터 목록을 제거할 수 있습니다:

mutation {
    auditEventsStreamingDestinationInstanceEventsRemove(input: {
    destinationId: "gid://gitlab/AuditEvents::InstanceExternalAuditEventDestination/1",
    eventTypeFilters: ["list of event type filters"]
  }){
    errors
  }
}

다음 조건이 충족되면 이벤트 유형 필터가 제거됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

Google Cloud Logging 대상#

히스토리
  • GitLab 16.5에서 도입되었습니다.

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

Google Cloud Logging 스트리밍 감사 이벤트를 설정하기 전에 전제 조건을 충족해야 합니다.

새 Google Cloud Logging 대상 추가#

인스턴스에 새 Google Cloud Logging 구성 대상을 추가합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있습니다.
  • 서비스 계정을 생성하고 Google Cloud Logging을 활성화하는 데 필요한 권한이 있는 Google Cloud 프로젝트가 있습니다.

스트리밍을 활성화하고 구성을 추가하려면 GraphQL API에서 instanceGoogleCloudLoggingConfigurationCreate mutation을 사용합니다.

mutation {
  instanceGoogleCloudLoggingConfigurationCreate(input: { googleProjectIdName: "my-google-project", clientEmail: "my-email@my-google-project.iam.gservice.account.com", privateKey: "YOUR_PRIVATE_KEY", logIdName: "audit-events", name: "destination-name" } ) {
    errors
    googleCloudLoggingConfiguration {
      id
      googleProjectIdName
      logIdName
      clientEmail
      name
    }
    errors
  }
}

다음 조건이 충족되면 이벤트 스트리밍이 활성화됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

Google Cloud Logging 구성 나열#

인스턴스의 모든 Google Cloud Logging 구성 대상을 나열합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있습니다.

instanceGoogleCloudLoggingConfigurations query 유형을 사용하여 인스턴스의 스트리밍 구성 목록을 볼 수 있습니다.

query {
  instanceGoogleCloudLoggingConfigurations {
    nodes {
      id
      logIdName
      googleProjectIdName
      clientEmail
      name
    }
  }
}

결과 목록이 비어 있으면 인스턴스에 대한 감사 스트리밍이 활성화되지 않은 것입니다.

업데이트 및 삭제 mutation에는 이 query에서 반환된 ID 값이 필요합니다.

Google Cloud Logging 구성 업데이트#

인스턴스의 Google Cloud Logging 구성 대상을 업데이트합니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있습니다.

인스턴스의 스트리밍 구성을 업데이트하려면 instanceGoogleCloudLoggingConfigurationUpdate mutation 유형을 사용합니다. 구성 ID는 모든 외부 대상 나열에서 가져올 수 있습니다.

mutation {
  instanceGoogleCloudLoggingConfigurationUpdate(
    input: {id: "gid://gitlab/AuditEvents::Instance::GoogleCloudLoggingConfiguration/1", googleProjectIdName: "updated-google-id", clientEmail: "updated@my-google-project.iam.gservice.account.com", privateKey: "YOUR_PRIVATE_KEY", logIdName: "audit-events", name: "updated name"}
  ) {
    errors
    instanceGoogleCloudLoggingConfiguration {
      id
      logIdName
      googleProjectIdName
      clientEmail
      name
    }
  }
}

다음 조건이 충족되면 스트리밍 구성이 업데이트됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.

Google Cloud Logging 구성 삭제#

인스턴스의 스트리밍 대상을 삭제합니다.

마지막 대상이 성공적으로 삭제되면 인스턴스에 대한 스트리밍이 비활성화됩니다.

전제 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있습니다.

스트리밍 구성을 삭제하려면 instanceGoogleCloudLoggingConfigurationDestroy mutation 유형을 사용합니다. 구성 ID는 인스턴스의 모든 스트리밍 대상 나열에서 가져올 수 있습니다.

mutation {
  instanceGoogleCloudLoggingConfigurationDestroy(input: { id: "gid://gitlab/AuditEvents::Instance::GoogleCloudLoggingConfiguration/1" }) {
    errors
  }
}

다음 조건이 충족되면 스트리밍 구성이 삭제됩니다:

  • 반환된 errors 객체가 비어 있습니다.
  • API가 200 OK로 응답합니다.