Resource Manager 감사 로깅 정보

이 페이지에서는 Cloud 감사 로깅 과정에서 Resource Manager가 생성한 감사 로그에 대해 설명합니다.

개요

Google Cloud Platform 서비스는 감사 로그를 작성하여 '누가, 언제, 어디서, 무엇을 했는지'라는 질문에 답하는 데 도움을 줍니다.각 GCP 프로젝트에는 해당 프로젝트 바로 안에 있는 리소스에 대한 감사 로그만 들어 있습니다. 폴더, 조직, 결제 계정과 같은 다른 항목마다 항목 자체에 대한 감사 로그가 있습니다.

Cloud 감사 로깅의 일반적인 개요는 Cloud 감사 로깅을 참조하세요. Cloud 감사 로깅에 대해 자세히 알아보려면 감사 로그 이해를 참조하세요.

Cloud 감사 로깅은 각 GCP 프로젝트, 폴더, 조직당 세 가지 감사 로그를 유지합니다.

  • 시스템 이벤트 감사 로그
  • 관리 활동 감사 로그
  • 데이터 액세스 감사 로그

Resource Manager는 Compute Engine이 시스템 이벤트를 수행하는 시기에 관한 로그 항목이 포함된 시스템 이벤트 감사 로그를 작성합니다. Resource Manager는 기본적으로 이러한 로그를 제공합니다.

Resource Manager는 관리자 활동에 대한 감사 로그를 작성하고 기본적으로 이러한 로그를 제공합니다. 여기에는 리소스의 구성 또는 메타데이터를 수정하는 작업이 포함됩니다.

Resource Manager는 데이터 액세스에 대한 감사 로그를 작성하지만 기본적으로 이러한 로그를 제공하지는 않습니다. 이 로그에는 사용자가 제공한 데이터를 생성하거나 수정하거나 읽는 API 호출이 기록됩니다.

데이터 액세스 감사 로그는 다음과 같이 여러 범주로 나뉩니다.

  • 데이터 액세스(ADMIN_READ): 리소스의 구성 또는 메타데이터를 읽는 작업

    Resource Manager는 기본적으로 관리자 읽기 정보를 제공합니다.

  • 데이터 액세스(DATA_READ): 리소스에서 사용자가 제공한 데이터를 읽는 작업

    Resource Manager는 기본적으로 데이터 읽기 정보를 제공하지 않습니다.

  • 데이터 액세스(DATA_WRITE): 사용자가 제공한 데이터를 리소스에 쓰는 작업

    Resource Manager는 기본적으로 데이터 쓰기 정보를 제공하지 않습니다.

기본적으로 제공되지 않는 감사 정보를 구성할 수 있습니다. 자세한 내용은 데이터 액세스 로그 구성을 참조하세요.

감사 대상 작업

다음 표에는 어느 API 작업이 Resource Manager의 각 감사 로그 유형에 해당되는지 요약되어 있습니다.

감사 로그 범주 Resource Manager 작업
관리자 활동 로그(ADMIN_WRITE)
  • UpdateContactInfo

v2beta1:

  • cloudresourcemanager.v2beta1.folders.create
  • cloudresourcemanager.v2beta1.folders.delete
  • cloudresourcemanager.v2beta1.folders.move
  • cloudresourcemanager.v2beta1.folders.patch
  • cloudresourcemanager.v2beta1.folders.setIamPolicy
  • cloudresourcemanager.v2beta1.folders.undelete

v2:

  • cloudresourcemanager.v2.folders.create
  • cloudresourcemanager.v2.folders.delete
  • cloudresourcemanager.v2.folders.move
  • cloudresourcemanager.v2.folders.patch
  • cloudresourcemanager.v2.folders.setIamPolicy
  • cloudresourcemanager.v2.folders.undelete

v1beta1:

  • cloudresourcemanager.v1beta1.organizations.setIamPolicy
  • cloudresourcemanager.v1beta1.organizations.update
  • cloudresourcemanager.v1beta1.projects.create
  • cloudresourcemanager.v1beta1.projects.delete
  • cloudresourcemanager.v1beta1.projects.setIamPolicy
  • cloudresourcemanager.v1beta1.projects.undelete
  • cloudresourcemanager.v1beta1.projects.update

v1:

  • cloudresourcemanager.v1.folders.clearOrgPolicy
  • cloudresourcemanager.v1.folders.setOrgPolicy
  • cloudresourcemanager.v1.organizations.clearOrgPolicy
  • cloudresourcemanager.v1.organizations.setIamPolicy
  • cloudresourcemanager.v1.organizations.setOrgPolicy
  • cloudresourcemanager.v1.projects.clearOrgPolicy
  • cloudresourcemanager.v1.projects.create
  • cloudresourcemanager.v1.projects.delete
  • cloudresourcemanager.v1.projects.setIamPolicy
  • cloudresourcemanager.v1.projects.setOrgPolicy
  • cloudresourcemanager.v1.projects.undelete
  • cloudresourcemanager.v1.projects.update
데이터 액세스 로그(ADMIN_READ)
  • GetContactInfo

v2beta1:

  • cloudresourcemanager.v2beta1.folders.get
  • cloudresourcemanager.v2beta1.folders.getIamPolicy
  • cloudresourcemanager.v2beta1.folders.list

v2:

  • cloudresourcemanager.v2.folders.get
  • cloudresourcemanager.v2.folders.getIamPolicy
  • cloudresourcemanager.v2.folders.list

v1beta1:

  • cloudresourcemanager.v1beta1.organizations.get
  • cloudresourcemanager.v1beta1.organizations.getIamPolicy
  • cloudresourcemanager.v1beta1.projects.get
  • cloudresourcemanager.v1beta1.projects.getIamPolicy

v1:

  • cloudresourcemanager.v1.folders.getEffectiveOrgPolicy
  • cloudresourcemanager.v1.folders.getOrgPolicy
  • cloudresourcemanager.v1.folders.listAvailableOrgPolicyConstraints
  • cloudresourcemanager.v1.folders.listOrgPolicies
  • cloudresourcemanager.v1.organizations.get
  • cloudresourcemanager.v1.organizations.getEffectiveOrgPolicy
  • cloudresourcemanager.v1.organizations.getIamPolicy
  • cloudresourcemanager.v1.organizations.getOrgPolicy
  • cloudresourcemanager.v1.organizations.listAvailableOrgPolicyConstraints
  • cloudresourcemanager.v1.organizations.listOrgPolicies
  • cloudresourcemanager.v1.projects.get
  • cloudresourcemanager.v1.projects.getEffectiveOrgPolicy
  • cloudresourcemanager.v1.projects.getIamPolicy
  • cloudresourcemanager.v1.projects.listAvailableOrgPolicyConstraints
  • cloudresourcemanager.v1.projects.listOrgPolicies

GetContactInfoUpdateContactInfo 작업은 EU 개인정보 보호법(GDPR)에 대해 ContactInfo 서비스를 지원합니다. 이러한 작업은 EU 담당자와 데이터 보호 담당자의 연락처 정보를 업데이트하고 검색합니다. 이 정보는 Google Cloud Platform 콘솔의 GCP 개인정보 보호 및 보안 페이지에서 수정할 수 있습니다.

감사 로그 형식

로그 뷰어, Stackdriver Logging API, Cloud SDK를 사용하여 Stackdriver Logging에서 볼 수 있는 감사 로그 항목에는 다음과 같은 객체가 포함됩니다.

  • LogEntry 유형의 객체인 로그 항목 자체. 유용한 필드는 다음과 같습니다.

    • logName에는 프로젝트 ID와 감사 로그 유형이 들어 있습니다.
    • resource에는 감사를 실시하는 작업의 대상이 들어 있습니다.
    • timeStamp에는 감사를 실시하는 작업의 시간이 들어 있습니다.
    • protoPayload에는 감사를 실시한 정보가 들어 있습니다.
  • 로그 항목의 protoPayload 필드에 보관된 AuditLog 객체인 감사 로깅 데이터

  • AuditLog 객체의 serviceData 필드에 보관되는 서비스별 객체인 선택적 서비스별 감사 정보. 자세한 내용은 서비스별 감사 데이터를 참조하세요.

이러한 객체의 다른 필드, 해당 샘플 콘텐츠, 객체의 정보에 대한 샘플 쿼리는 감사 로그 데이터 유형을 참조하세요.

로그 이름

Cloud 감사 로깅 리소스 이름은 감사 로그를 소유하는 프로젝트나 다른 항목, 그리고 로그에 관리자 활동, 데이터 액세스, 시스템 이벤트 감사 로깅 데이터가 포함되어 있는지 여부를 나타냅니다. 예를 들어 다음은 프로젝트의 관리자 활동 로그와 조직의 데이터 액세스 로그의 로그 이름을 보여줍니다.

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

서비스 이름

Resource Manager 감사 로그는 서비스 이름 cloudresourcemanager.googleapis.com을 사용합니다.

로깅 서비스에 대한 자세한 내용은 리소스에 서비스 매핑하기를 참조하세요.

리소스 유형

Resource Manager 감사 로그는 모든 감사 로그에 리소스 유형 project를 사용합니다.

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

감사 로깅 사용 설정

시스템 이벤트 로그는 기본적으로 사용 설정되어 있으며 사용 중지할 수 없습니다.

관리자 활동 감사 로그는 기본적으로 사용 설정되며 사용 중지할 수 없습니다.

대부분의 데이터 액세스 감사 로그는 기본적으로 사용 중지되어 있습니다. 예외적으로 BigQuery에 대한 데이터 액세스 감사 로그는 기본적으로 사용 설정되며 사용 중지할 수 없습니다. BigQuery 데이터 액세스 로그는 프로젝트의 로깅 할당량으로 집계되지 않습니다.

데이터 액세스 로그의 일부 또는 전부를 사용 설정하려면 데이터 액세스 로그 구성을 참조하세요.

사용자가 구성하는 데이터 액세스 로그가 Stackdriver의 로그 가격 책정에 영향을 미칠 수 있습니다. 이 페이지의 가격 섹션을 참조하세요.

감사 로그 권한

Cloud Identity and Access Management 권한과 역할에 따라 사용자가 보거나 내보낼 수 있는 감사 로그가 결정됩니다. 로그는 프로젝트 내에 있거나, 조직, 폴더, 결제 계정 등과 같은 기타 항목 안에 있습니다. 자세한 내용은 역할 이해하기를 참조하세요.

관리자 활동 로그를 보려면 감사 로그가 들어 있는 프로젝트에 다음 Cloud IAM 역할 중 하나가 있어야 합니다.

데이터 액세스 로그를 보려면 감사 로그가 포함된 프로젝트에 다음 역할 중 하나가 있어야 합니다.

시스템 이벤트 로그를 보려면 감사 로그가 들어 있는 프로젝트에 다음 Cloud IAM 역할 중 하나가 있어야 합니다.

조직과 같이 프로젝트가 아닌 항목의 감사 로그를 사용하는 경우 프로젝트 역할을 적합한 조직 역할로 변경합니다.

로그 보기

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

기본 뷰어

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

      logName = ("projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity" OR
          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 사용해 보기 양식의 요청 본문 부분에 다음을 입력합니다. 이 미리 채워진 양식을 클릭하면 요청 본문이 자동으로 입력되지만 각 로그 이름에 유효한 [PRODUCT_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를 사용하여 로그 항목을 읽으려면 다음 명령어를 실행합니다. 각 로그 이름에 유효한 [PRODUCT_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 사용에 대한 자세한 내용은 로그 항목 읽기를 참조하세요.

샘플 감사 로그 항목을 보고 여기서 가장 중요한 정보를 찾는 방법을 알아보려면 감사 로그 이해를 참조하세요.

감사 로그 내보내기

다른 종류의 로그를 내보낼 때와 같은 방법으로 감사 로그를 내보낼 수 있습니다. 로그를 내보내는 방법에 대한 자세한 내용은 로그 내보내기를 참조하세요. 다음은 감사 로그를 내보내는 몇 가지 응용 방법입니다.

  • 장기간 감사 로그를 보존하거나 더 강력한 검색 기능을 사용하려면 감사 로그의 복사본을 Cloud Storage, BigQuery 또는 Cloud Pub/Sub로 내보내면 됩니다. Cloud Pub/Sub를 사용하여 다른 애플리케이션, 다른 저장소, 제3자에게 내보낼 수 있습니다.

  • 조직 전체의 감사 로그를 관리하려면 조직의 일부 또는 모든 프로젝트에서 로그를 내보낼 수 있는 집계 내보내기 싱크를 만들면 됩니다.

  • 사용 설정한 데이터 액세스 로그가 로그 할당량을 초과하여 프로젝트를 푸시하는 경우 데이터 액세스 로그를 내보내고 로깅에서 제외할 수 있습니다. 자세한 내용은 로그 제외를 참조하세요.

가격

Stackdriver Logging은 모든 관리자 활동 및 시스템 이벤트 로그를 비롯하여 기본적으로 사용 설정되는 감사 로그에 대해 비용을 부과하지 않습니다.

Stackdriver Logging은 사용자가 명시적으로 요청하는 데이터 액세스 로그에 대해 요금을 부과합니다.

로그 가격(감사 로그 가격 포함)에 대한 자세한 내용은 Stackdriver 가격 책정을 참조하세요.

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

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

Resource Manager 문서