감사 로깅

이 페이지에서는 Cloud Build에서 만든 감사 로그를 설명합니다.

감사 로깅 요약

Google Cloud 서비스는 감사 로그를 작성하여 Google Cloud 프로젝트 및 조직 내에서 '누가, 언제, 어디서, 무엇을 했는가'라는 질문에 답하도록 도움을 줍니다.

감사 정보는 여러 가지 정보 범주로 나뉩니다.

  • 관리자 활동: Cloud Build 리소스의 구성 또는 메타데이터를 수정하는 작업. 빌드를 만들거나 취소하고, 트리거를 삭제/사용 설정/사용 중지/업데이트하는 모든 API 호출이 이 카테고리에 속합니다. 이 감사 정보는 기본적으로 제공됩니다.

  • 데이터 액세스(ADMIN_READ): 프로젝트, 빌드 또는 트리거의 구성 또는 메타데이터를 읽는 작업. 이 감사 정보는 기본적으로 제공되지 않습니다.

  • 데이터 액세스(DATA_READ): 리소스에서 사용자가 제공한 데이터를 읽는 작업. 이 감사 정보는 기본적으로 제공되지 않습니다.

  • 데이터 액세스(DATA_WRITE): 사용자가 제공한 데이터를 리소스에 쓰는 작업. 이 감사 정보는 기본적으로 제공되지 않습니다.

자세한 내용은 Cloud Audit Logging을 참조하세요.

감사되는 작업

다음 표에는 각 감사 로그 카테고리에 나열되는 Cloud Build API 작업이 요약되어 있습니다.

감사 로그 범주 Cloud Build 작업
관리자 활동
  • projects.builds.create
  • projects.builds.cancel
  • projects.builds.approve
  • projects.triggers.create
  • projects.triggers.delete
  • projects.triggers.update
  • Google Cloud Console에서 트리거 실행 버튼을 사용하여 트리거 실행
  • IAM 정책 생성/업데이트
데이터 액세스(ADMIN_READ)
  • projects.builds.get
  • projects.builds.list
  • projects.triggers.list
  • projects.triggers.get
  • IAM 정책 가져오기
데이터 액세스(DATA_READ) 없음
데이터 액세스(DATA_WRITE) 없음

다른 서비스의 감사 로그와 달리 Cloud Build에는 ADMIN_READ 데이터 액세스 로그만 있으며 DATA_READDATA_WRITE 로그는 제공되지 않습니다. 왜냐하면 DATA_READDATA_WRITE 로그는 사용자 데이터를 저장하고 관리하는 서비스에만 사용되며 Cloud Build는 빌드 및 트리거를 관리 구성 정보로 간주하기 때문입니다.

로그 액세스 권한

관리자 활동 로그를 볼 수 있는 사용자는 다음과 같습니다.

데이터 액세스 로그를 볼 수 있는 사용자는 다음과 같습니다.

  • 프로젝트 소유자
  • 비공개 로그 뷰어 IAM 역할을 가진 사용자
  • logging.privateLogEntries.list IAM 권한을 가진 사용자

IAM 권한 부여에 대한 지침은 액세스 제어 구성을 참조하세요.

감사 로그 형식

감사 로그 항목 구조는 다음과 같습니다.

  • 전체 로그 항목을 포함하는 LogEntry 유형의 객체
  • LogEntry 객체의 protoPayload 필드에 보관되는 AuditLog 유형의 객체

이러한 객체에 어떤 정보가 보관되는지 알면 감사 로그를 쉽게 이해하고 로그 탐색기와 Stackdriver Logging API를 사용하여 감사 로그 항목을 검색할 수 있습니다.

모든 감사 로그 항목에는 감사 로그의 이름, 리소스, 서비스가 포함됩니다.

  • logName: 이 필드는 로그가 관리자 활동 로그인지, 데이터 액세스 감사 로그인지를 나타냅니다. 예를 들면 다음과 같습니다.

    projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity
    projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access
    organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Factivity
    organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fdata_access
    

    프로젝트 또는 조직 내에서 이러한 로그 이름에는 축약된 activity 또는 data_access의 서픽스가 포함됩니다.

  • 모니터링 리소스 유형:

    • build: 감사된 작업의 프로젝트, 빌드, 빌드 트리거를 포함합니다.
  • serviceName: Cloud Build의 경우 필드에 cloudbuild.googleapis.com이 포함됩니다.

    리소스 유형은 하나의 서비스에 속하지만 한 서비스가 여러 리소스 유형을 가질 수 있습니다. 서비스와 리소스의 목록은 리소스에 서비스 매핑하기를 참조하세요.

자세한 내용은 감사 로그 데이터 유형을 참조하세요.

로그 사용 설정

관리자 활동 로그는 기본적으로 사용 설정되고 기록됩니다. 이 로그는 로그 처리 할당량에 포함되지 않습니다.

Cloud Build 작업의 데이터 액세스 로그는 기본적으로 기록되지 않습니다. 프로젝트 또는 조직에서 데이터 액세스 감사 로그를 구성할 수 있습니다. 데이터 액세스 유형 작업에 대한 로그 사용 방법은 데이터 액세스 로그 구성을 참조하세요.

할당량 및 한도

관리자 활동 로그는 로그 처리 할당량에 포함되지 않습니다.

데이터 액세스 작업은 대량이며 로그 처리 할당량에 포함됩니다.

자세한 내용은 할당량 및 제한을 참조하세요.

로그 보기

관리 활동 요약을 보려면 다음 안내를 따르세요.

로그를 선택 및 필터링하고 자세히 보려면 다음 안내를 따르세요.

  1. 로그 탐색기 페이지를 엽니다.

    로그 탐색기 페이지로 이동

  2. 첫 번째 드롭다운 메뉴에서 확인할 감사 로그의 리소스를 선택합니다. 특정 프로젝트 또는 '모든 프로젝트'를 선택합니다.

  3. 두 번째 메뉴에서 확인하려는 로그 이름을 선택합니다. 관리 활동 감사 로그는 activity, 데이터 액세스 감사 로그(로그를 이용할 수 있는 경우)는 data_access입니다.

감사 로그가 로그 탐색기에 나타납니다.

또한 로그 탐색기의 고급 필터 인터페이스를 사용하여 리소스 유형과 로그 이름을 지정할 수 있습니다. 자세한 내용은 감사 로그 검색을 참조하세요.

감사 로그 내보내기

로그의 일부 또는 전체 사본을 다른 애플리케이션, 다른 저장소, 제3자에게 내보낼 수 있습니다. 로그를 내보내는 방법은 로그 내보내기를 참조하세요.

조직의 경우 조직의 모든 프로젝트, 폴더, 결제 계정에서 로그 항목을 내보낼 수 있는 집계 싱크를 만들 수 있습니다. 여타 싱크와 마찬가지로 집계 싱크도 개별 로그 항목을 선택하는 필터를 포함합니다. 감사 로그를 집계하고 내보내려면 집계 싱크를 참조하세요.

API를 통해 로그 항목을 읽으려면 entries.list를 참조하세요. SDK를 사용하여 로그 항목을 읽으려면 로그 항목 읽기를 참조하세요.

다음 단계