Cloud 감사 로그

Cloud 감사 로그는 각 프로젝트, 폴더, 조직에 세 가지 감사 로그(관리자 활동, 데이터 액세스, 시스템 이벤트)를 유지합니다. Google Cloud Platform 서비스는 이러한 로그에 감사 로그 항목을 작성하여 GCP 프로젝트 내에서 '누가 언제 어디서 무엇을 했는가?'라는 질문에 답할 수 있도록 지원합니다.

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

관리자 활동 감사 로그

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

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

관리자 활동 감사 로그는 항상 사용 설정되어 있습니다. 관리자 활동 감사 로그에는 요금이 청구되지 않습니다. 로깅 사용량 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

데이터 액세스 감사 로그

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

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

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

BigQuery 데이터 액세스 감사 로그는 다른 데이터 액세스 감사 로그와 다르게 처리됩니다. BigQuery 감사 로그는 항상 작성되며 사용 중지될 수 없습니다. 또한 로그 할당량으로 집계되지 않으며 무료입니다.

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

시스템 이벤트 감사 로그

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

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

시스템 이벤트 감사 로그는 항상 사용 설정되어 있습니다. 시스템 이벤트 감사 로그에는 요금이 청구되지 않습니다. 로깅 사용량 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

감사 로그 항목 구조

Stackdriver Logging의 모든 감사 로그 항목은 다음 정보가 특징인 LogEntry 유형의 객체입니다.

  • 로그 항목을 소유한 프로젝트 또는 조직
  • 로그 항목이 적용되는 리소스. 모니터링 리소스 목록리소스 유형과 특정 인스턴스를 나타내는 추가 값으로 구성됩니다.
  • 로그 이름
  • 타임스탬프
  • protoPayload 유형의 페이로드. 각 감사 로그 항목의 페이로드는 AuditLog 유형의 객체(프로토콜 버퍼)이며 일부 서비스에는 추가 정보를 저장하기 위해 사용되는 serviceData 필드가 포함됩니다.

모든 감사 로그 항목에는 감사 로그 이름, 리소스, 서비스가 포함됩니다. 이러한 이름을 사용하여 감사 로그 항목을 필터링할 수 있습니다.

  • 로그 이름: 감사 로그 항목은 프로젝트, 폴더, 조직 내의 로그에 속합니다. 로그 이름은 다음과 같이 나열됩니다.
   projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity
   projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access

   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

일반적으로 프로젝트, 폴더 또는 조직에서 로그 이름은 activity, data_access, system_event로 축약되어 표시됩니다.

  • 리소스: 각 감사 로그 항목에는 특정 유형의 리소스가 포함됩니다. 예를 들어 단일 Compute Engine VM 인스턴스 또는 모든 VM 인스턴스의 감사 로그 항목을 볼 수 있습니다. 이 정보는 감사 로그 항목의 resource.type 필드에 나열됩니다.

    리소스 유형 목록은 모니터링 리소스 유형을 참조하세요.

  • 서비스: 서비스는 Compute Engine, Cloud SQL 또는 Cloud Pub/Sub와 같은 개별 GCP 제품입니다. 각 서비스는 이름으로 식별됩니다. Compute Engine 이름은 compute.googleapis.com이고, Cloud SQL 이름은 cloudsql.googleapis.com입니다. 이 정보는 감사 로그 항목의 protoPayload.serviceName 필드에 나열됩니다.

    리소스 유형은 단일 서비스에 속하지만 한 서비스에 여러 가지 리소스 유형이 있을 수 있습니다. 서비스 및 리소스 목록은 서비스를 리소스에 매핑을 참조하세요.

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

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

감사 로그 보기

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

기본 뷰어

GCP Console의 로그 뷰어 기본 인터페이스를 사용하여 감사 로그 항목을 검색할 수 있습니다. 다음 안내를 따르세요.

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

    로그 뷰어 페이지로 이동

  2. 페이지 상단에서 기존 GCP 프로젝트를 선택하거나 새 프로젝트를 만듭니다.

  3. 첫 번째 드롭다운 메뉴에서 확인할 감사 로그의 리소스 유형을 선택합니다. 특정 리소스를 선택하거나 모든 리소스를 확인할 경우 Global을 선택할 수 있습니다.

  4. 두 번째 드롭다운 메뉴에서 확인할 로그 유형을 선택합니다. 관리자 활동 감사 로그는 activity, 데이터 액세스 감사 로그는 data_access, 시스템 이벤트 로그는 system_events를 선택합니다.

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

고급 뷰어

GCP Console의 로그 뷰어 고급 인터페이스를 사용하여 감사 로그 항목을 검색할 수 있습니다. 다음 안내를 따르세요.

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

    로그 뷰어 페이지로 이동

  2. 페이지 상단에서 기존 GCP 프로젝트를 선택하거나 새 프로젝트를 만듭니다.

  3. 첫 번째 드롭다운 메뉴에서 확인할 감사 로그의 리소스 유형을 선택합니다. 특정 리소스를 선택하거나 모든 리소스를 확인할 경우 Global을 선택할 수 있습니다.

  4. 검색 필터 상자의 오른쪽 끝에 있는 드롭다운 화살표(▾)를 클릭하고 고급 필터로 전환을 선택합니다.

  5. 확인할 로그 항목을 자세히 지정하는 필터를 만듭니다. 프로젝트의 모든 감사 로그를 검색하려면 다음 필터를 추가합니다. 각 로그 이름에 유효한 [PROJECT_ID]를 입력합니다.

      logName = ("projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
          OR "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events"
          OR "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access")
    

    필터에 대한 자세한 내용은 고급 로그 필터를 참조하세요.

API

Stackdriver 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%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"
      }
    
  3. 실행을 클릭합니다.

필터에 관한 자세한 내용은 고급 로그 필터를 참조하세요.

SDK

Cloud SDK를 사용하여 로그 항목을 읽으려면 다음 명령어를 실행합니다. 각 로그 이름에 유효한 [PROJECT_ID]를 입력합니다.

gcloud logging read "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)

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

활동 페이지 사용

GCP Console의 프로젝트 활동 페이지에서 축약된 프로젝트 수준 감사 로그 항목을 볼 수 있습니다. 홈 > 활동 페이지로 이동합니다. 필터를 사용하여 보려는 항목을 선택합니다. 실제 감사 로그 항목에는 활동 페이지에 표시되는 정보보다 더 많은 정보가 포함될 수 있습니다.

활동 페이지로 이동

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

감사 로그 내보내기

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

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

GCP 조직, 폴더 또는 결제 계정의 감사 로그 항목을 내보내려면 전체 내보내기를 참조하세요.

감사 로그 보관

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

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

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

감사 로그의 사용자 ID

감사 로그는 기록된 작업을 수행한 ID를 기록합니다. 이 ID는 AuditLog 객체의 AuthenticationInfo 필드에 보관됩니다.

다음과 같은 경우에는 ID가 사용 불가능하거나 수정됩니다.

  • 모든 감사 로그: 개인 정보 보호를 위해, '승인 거부됨' 오류와 함께 실패하는 모든 읽기 전용 작업은 기본 이메일 주소가 수정됩니다.

  • App Engine: ID가 기존 App Engine API에서 수집되지 않습니다.

  • BigQuery: 최소한 다음 조건 중 하나가 충족되지 않으면 감사 로그에서 ID와 호출자 IP 주소가 수정됩니다.

    • 읽기 전용 액세스가 아닙니다.
    • ID가 프로젝트에 속한 서비스 계정입니다.
    • ID가 프로젝트와 연결된 도메인의 구성원입니다.

    여기서 프로젝트 도메인은 BigQuery 설정입니다. 프로젝트와 연결된 도메인을 변경하려면 BigQuery 지원팀에 문의하세요.

    프로젝트 간 액세스에는 다음과 같은 규칙이 추가로 적용됩니다.

    여기서 결제 프로젝트는 요청을 실행하는 프로젝트이고, 데이터 프로젝트는 작업 중에 리소스도 액세스되는 프로젝트입니다. 데이터 프로젝트에서 일부 테이블 데이터를 읽는 결제 프로젝트의 쿼리 작업을 예로 들 수 있습니다.

    결제 프로젝트 리소스 ID는 데이터 프로젝트 로그에서 수정됩니다. 단, 두 프로젝트가 서로 연결된 동일한 도메인을 갖거나 동일한 조직에 속한 경우에는 그렇지 않습니다.

    위의 조건 중 하나가 적용되지 않거나 다음에 해당하는 경우에는 ID와 호출자 IP 주소가 데이터 프로젝트 로그에서 수정됩니다.

    • 결제 프로젝트와 데이터 프로젝트가 동일한 도메인과 연결되어 있거나 동일한 조직에 속해 있고, 결제 프로젝트에 이미 ID와 호출자 IP 주소가 포함되어 있습니다.
    • ID에 프로젝트에서 쿼리를 실행할 권한이 있고 작업이 job.insert 작업입니다.

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

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

아래 표에서는 관리자 활동 감사 로그 또는 데이터 액세스 감사 로그를 작성하는 Google 서비스를 보여줍니다. GA는 로그 유형이 서비스에 일반 안정화(Generally Available) 버전으로 제공된다는 뜻이고, 베타는 로그 유형이 제공되지만 이전 버전과 호환되지 않는 방식으로 변경될 수 있으며 SLA 또는 지원 중단 정책이 적용되지 않는다는 뜻입니다.

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

감사 로그를 생성하는 GCP 서비스 관리자
활동
로그
데이터
액세스
로그
Access Approval API 베타 해당 없음1
App Engine GA 해당 없음1
Application Identity4 베타 해당 없음1
BigQuery GA GA2
Cloud AutoML 베타 베타
Cloud Bigtable 베타 해당 없음1
Cloud Billing 베타 해당 없음1
Cloud Composer GA 해당 없음1
Cloud Dataflow GA 해당 없음1
Cloud Dataproc GA GA
Cloud Datastore GA GA6
Cloud Deployment Manager GA GA
Cloud Data Loss Prevention GA GA
클라우드 DNS GA GA
Cloud Functions GA GA
Cloud Genomics 베타 베타
Cloud Healthcare 베타 베타
Cloud Identity and Access Management GA GA
Cloud Identity-Aware Proxy 해당 없음3 GA
Cloud IoT Core GA GA
Cloud Key Management Service GA GA
Cloud Memorystore 베타 베타
AI Platform 베타 베타
Cloud Pub/Sub GA GA
Cloud Run 베타 베타
Cloud Source Repositories GA GA
Cloud Spanner GA GA
Cloud SQL GA GA
Cloud Storage5 GA GA
Cloud AutoML Vision GA 해당 없음1
Compute Engine7 GA GA
Compute Engine Serial Port Access GA 해당 없음1
Container Analysis 베타 베타
Cloud Build GA GA
Dialogflow GA GA
Google Kubernetes Engine GA GA
서비스 관리 GA 해당 없음1
Resource Manager GA GA
Stackdriver Debugger GA GA
Stackdriver Error Reporting GA GA
Stackdriver Logging GA GA
Stackdriver Monitoring GA GA
Stackdriver Trace 해당 없음3 GA
Stackdriver Profiler 해당 없음3 GA

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

감사 로그를 생성하는 G Suite 서비스 관리자
활동
로그
데이터
액세스
로그
Enterprise Groups GA 해당 없음1

G Suite 감사 로그 이름은 organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Factivity입니다. G Suite 감사 로그는 audited_resource 리소스 유형을 사용합니다.

추가 컨텍스트는 G Suite 관리자 도움말 문서를 참조하세요.

1: 이 서비스는 데이터 액세스 감사 로그를 생성하지 않습니다.
2: BigQuery 데이터 액세스 감사 로그는 기본적으로 사용 설정되어 있으며 로그 할당량에 집계되지 않습니다.
3: 이 서비스는 관리자 활동 감사 로그를 생성하지 않습니다.
4: OAuth 2.0 클라이언트 ID와 브랜드를 감사합니다.
5: 아직 요청/응답 정보를 포함하지 않습니다.
6: 관리형 가져오기 또는 내보내기 작업을 시작하는 요청을 감사합니다. 감사에는 이러한 작업의 항목별 읽기/쓰기 로그가 포함되지 않습니다.
7: Compute Engine은 시스템 이벤트 감사 로그도 생성합니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Stackdriver Logging
도움이 필요하시나요? 지원 페이지를 방문하세요.