Cloud 감사 로그

Cloud 감사 로그는 Google Cloud 프로젝트, 폴더, 조직에 세 가지 감사 로그(관리자 활동, 데이터 액세스, 시스템 이벤트)를 유지합니다. Google Cloud 서비스에서 감사 로그 항목을 이 로그에 작성하여 Google Cloud 리소스에서 '누가, 언제, 어디서, 무엇을 했는지' 파악할 수 있습니다.

감사 로그를 제공하는 Google Cloud 서비스 목록은 감사 로그를 생성하는 Google 서비스를 참조하세요. 모든 Google Cloud 서비스는 감사 로그를 제공합니다.

관리 활동 감사 로그

관리자 활동 감사 로그에는 API 호출이나 리소스의 구성 또는 메타데이터를 수정하는 기타 관리 작업과 관련된 로그 항목이 포함됩니다. 예를 들어 사용자가 VM 인스턴스를 만들거나 ID 및 액세스 관리 권한을 변경하면 로그가 기록됩니다.

로그를 보려면 IAM 역할 로깅/로그 뷰어 또는 프로젝트/뷰어가 있어야 합니다.

관리자 활동 감사 로그는 항상 기록되며 구성하거나 사용 중지할 수 없습니다. 관리자 활동 감사 로그에는 요금이 청구되지 않습니다. 로깅 사용량 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

데이터 액세스 감사 로그

데이터 액세스 감사 로그에는 리소스의 구성 또는 메타데이터를 읽는 API 호출뿐만 아니라 사용자가 제공한 리소스 데이터를 생성, 수정 또는 읽는 사용자 주도 API 호출도 포함됩니다. 공개적으로 공유(모든 사용자 또는 모든 인증 사용자에게 제공)되거나 Google Cloud에 로그인하지 않고도 액세스할 수 있는 리소스의 데이터 액세스 작업은 데이터 액세스 감사 로그에 기록되지 않습니다.

로그를 보려면 IAM 역할 로깅/비공개 로그 뷰어 또는 프로젝트/소유자가 있어야 합니다.

데이터 액세스 감사 로그는 크기로 인해 기본적으로 사용 중지되어 있습니다. 이 로그는 명시적으로 사용 설정되어야만 작성됩니다. 이 로그를 사용 설정하면 추가 로그 사용량에 따라 요금이 프로젝트에 청구될 수 있습니다. 데이터 액세스 감사 로그를 사용 설정 및 구성하는 방법은 데이터 액세스 로그 구성을 참조하세요.

Logging 사용량 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요. 발생 가능한 비용에 대한 자세한 내용은 가격 책정을 참조하세요.

시스템 이벤트 감사 로그

시스템 이벤트 감사 로그는 리소스 구성을 수정하는 Google Cloud 관리 작업의 로그 항목을 포함합니다. 시스템 이벤트 감사 로그는 Google 시스템에서 생성되며 사용자의 직접적인 작업을 통해 생성되지 않습니다.

로그를 보려면 IAM 역할 로깅/로그 뷰어 또는 프로젝트/뷰어가 있어야 합니다.

시스템 이벤트 감사 로그는 항상 기록되며, 구성하거나 사용 중지할 수 없습니다. 시스템 이벤트 감사 로그에는 요금이 청구되지 않습니다. 로깅 사용량 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

감사 로그 항목 구조

Cloud Logging의 모든 감사 로그 항목은 LogEntry 유형의 객체입니다. 감사 로그 항목과 다른 로그 항목의 차이점은 protoPayload 필드입니다. 이 필드에는 감사 로깅 데이터를 저장하는 AuditLog 객체가 있습니다.

감사 로그 항목을 읽고 해석하는 방법은 감사 로그 이해를 참조하세요.

감사 로그 보기

감사 로그를 찾아서 보려면 감사 로깅 정보를 보려는 Cloud 프로젝트, 폴더, 조직의 식별자를 알아야 합니다. 색인 생성된 다른 LogEntry 필드(예: resource.type)를 더 구체적으로 지정할 수 있습니다. 자세한 내용은 로그 항목 빨리 찾기를 참조하세요.

다음은 Cloud 프로젝트, 폴더, 조직 식별자에 대한 변수가 포함된 감사 로그 이름입니다.

   projects/project-id/logs/cloudaudit.googleapis.com%2Factivity
   projects/project-id/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/project-id/logs/cloudaudit.googleapis.com%2Fsystem_event

   folders/folder-id/logs/cloudaudit.googleapis.com%2Factivity
   folders/folder-id/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/folder-id/logs/cloudaudit.googleapis.com%2Fsystem_event

   organizations/organization-id/logs/cloudaudit.googleapis.com%2Factivity
   organizations/organization-id/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/organization-id/logs/cloudaudit.googleapis.com%2Fsystem_event

여러 가지 방법으로 감사 로그 항목을 볼 수 있습니다.

Console

Cloud Console의 로그 뷰어를 사용하여 Cloud 프로젝트의 감사 로그 항목을 검색할 수 있습니다.

  1. Cloud Console에서 Cloud Logging > 로그(로그 뷰어) 페이지로 이동합니다.

    로그 뷰어 페이지로 이동

  2. 기본에서 새 로그 뷰어 미리보기를 선택합니다.

  3. 기존 Cloud 프로젝트를 선택합니다.

  4. 쿼리 빌더 창에서 다음을 수행합니다.

    • 리소스에서 감사 로그를 확인할 Google Cloud 리소스 유형을 선택합니다.

    • 로그 이름에서 확인할 감사 로그 유형을 선택합니다.

    • 관리자 활동 감사 로그의 경우 activity를 선택합니다.

    • 데이터 액세스 감사 로그의 경우 data_access를 선택합니다.

    • 시스템 이벤트 감사 로그의 경우 system_events를 선택합니다.

    이러한 옵션 중 어느 것도 표시되지 않으면 프로젝트에 해당 유형의 감사 로그가 없다는 의미입니다.

    새 로그 뷰어를 사용한 쿼리에 대한 자세한 내용은 로그 쿼리 작성하기(미리보기)를 참조하세요.

API

쿼리를 빌드할 때 변수를 유효한 값으로 바꾸고 감사 로그 이름에 나열된 적절한 프로젝트 수준, 폴더 수준 또는 조직 수준의 감사 로그 이름 또는 식별자를 대체합니다. 예를 들어 쿼리에 project-id가 포함된 경우 제공한 프로젝트 식별자가 현재 선택된 Cloud 프로젝트를 참조해야 합니다.

Logging API를 사용하여 감사 로그 항목을 확인하려면 다음 안내를 따르세요.

  1. entries.list 메서드 문서의 API 사용해 보기 섹션으로 이동합니다.

  2. API 사용해 보기 양식의 요청 본문 부분에 다음을 입력합니다. 미리 채워진 양식을 클릭하면 요청 본문이 자동으로 입력되지만 각 로그 이름에 유효한 project-id를 입력해야 합니다.

    {
      "resourceNames": [
        "projects/project-id"
      ],
      "pageSize": 5,
      "filter": "logName : projects/project-id/logs/cloudaudit.googleapis.com"
    }
    
  3. 실행을 클릭합니다.

쿼리에 대한 자세한 내용은 Logging 쿼리 언어를 참조하세요.

gcloud

gcloud 명령줄 도구는 Cloud Logging API에 명령줄 인터페이스를 제공합니다. 각 로그 이름에 유효한 project-id, folder-id 또는 organization-id를 입력합니다.

Google Cloud 프로젝트 수준 감사 로그 항목을 읽으려면 다음을 실행하세요.

gcloud logging read "logName : projects/project-id/logs/cloudaudit.googleapis.com" --project=project-id

폴더 수준 감사 로그 항목을 읽으려면 다음을 실행하세요.

gcloud logging read "logName : folders/folder-id/logs/cloudaudit.googleapis.com" --folder=folder-id

조직 수준 감사 로그 항목을 읽으려면 다음을 실행하세요.

gcloud logging read "logName : organizations/organization-id/logs/cloudaudit.googleapis.com" --organization=organization-id

gcloud 도구 사용에 대한 자세한 내용은 로그 항목 읽기를 참조하세요.

샘플 감사 로그 항목과 이 항목에서 가장 중요한 정보를 찾는 방법은 감사 로그 이해를 참조하세요.

활동 페이지 사용

Cloud Console의 Google Cloud 프로젝트 또는 조직의 활동 페이지에서 축약된 감사 로그 항목을 볼 수 있습니다. 축약된 감사 로그 항목을 보려면 다음을 수행합니다.

  1. 활동 페이지로 이동합니다.

    활동 페이지로 이동

  2. 프로젝트 선택기에서 감사 로그 항목을 보려는 Google Cloud 프로젝트 또는 조직을 선택합니다.

  3. 필터 패널에서 보려는 항목을 선택합니다.

실제 감사 로그 항목에는 활동 페이지에 표시된 것보다 많은 정보가 포함될 수 있습니다.

활동 페이지에서는 로깅된 작업을 수행하는 ID가 감사 로그 항목에서 수정되며 User (anonymized)가 표시됩니다. 자세한 내용은 감사 로그의 사용자 ID를 참조하세요.

감사 로그 내보내기

감사 로그 항목을 Cloud Logging 또는 특정 Google Cloud 서비스로 내보낼 수 있습니다.

감사 로그 항목을 Logging 외부로 내보내려면 로그 싱크를 만듭니다. 내보내려는 감사 로그 항목을 지정하는 쿼리를 싱크에 제공합니다. 쿼리 예시는 보안 로깅 쿼리를 참조하세요.

Google Cloud 조직, 폴더 또는 결제 계정의 감사 로그 항목을 내보내려면 집계 싱크를 검토하세요.

감사 로그 보관

개별 감사 로그 항목은 지정된 기간 동안 유지된 후 삭제됩니다. Logging에서 로그 항목이 보관되는 기간에 대한 자세한 내용은 할당량 및 한도: 로그 보관 기간의 보관 정보를 참조하세요. 다른 방식으로는 감사 로그 항목을 삭제하거나 수정할 수 없습니다.

감사 로그 유형 보관 기간
관리자 활동 400일
데이터 액세스 30일
시스템 이벤트 400일

더 오래 보관하려면 다른 Logging 로그 항목처럼 감사 로그 항목을 내보내서 원하는 기간 동안 보관할 수 있습니다.

로그를 1~3,650일 동안 보관하도록 Cloud Logging을 구성할 수도 있습니다. 자세한 내용은 로그 저장: 커스텀 보관을 참조하세요.

감사 로그의 호출자 ID

감사 로그는 Google Cloud 리소스에서 로깅된 작업을 수행한 ID를 기록합니다. 호출자 ID는 AuditLog 개체의 AuthenticationInfo 필드에 보관됩니다.

다음과 같은 상황에서 다음 조건이 모두 충족되면 호출자의 기본 이메일 주소가 감사 로그에서 수정됩니다.

  • 읽기 전용 작업인 경우
  • 작업이 '권한 거부' 오류와 함께 실패한 경우
  • ID가 서비스 계정이고 ID가 리소스와 연결된 Google Cloud 조직의 구성원이 아닌 경우. ID가 서비스 계정이 아닌 경우 이 조건은 적용되지 않습니다.

위에 나열된 조건 외에도 특정 Google Cloud 제품에는 다음 사항이 적용됩니다.

Google Cloud Console 활동 페이지에서 감사 로그를 확인하면 ID가 수정되거나 비어 있는 로그 항목에 User (anonymized)가 표시됩니다.

감사 로그를 생성하는 Google 서비스

감사 로그를 제공하는 Google Cloud 서비스 목록은 감사 로그를 생성하는 Google 서비스를 참조하세요. 모든 Google Cloud 서비스는 감사 로그를 제공합니다.