로그 버킷의 로그 보기 관리

로그 뷰를 사용하면 로그 버킷 내에서 로그에 액세스할 수 있는 사용자를 제어할 수 있습니다. 로그 라우터로그 버킷을 사용하면 필요에 따라 로그 스토리지를 중앙화하거나 세분화할 수 있습니다. 커스텀 로그 뷰는 로그 버킷의 로그에 대한 액세스를 제어하는 세분화된 고급 방법을 제공합니다.

예를 들어 중앙 프로젝트의 모든 조직 로그를 저장하는 시나리오를 가정해 보겠습니다. 로그 버킷에는 여러 프로젝트의 로그가 포함될 수 있으므로 다른 사용자가 로그를 볼 수 있는 프로젝트를 제어하려 할 수 있습니다. 커스텀 로그 뷰를 사용하면 사용자 한 명에게 단일 프로젝트의 로그에 대한 액세스 권한을 부여하면서 동시에 다른 사용자에게 모든 프로젝트의 로그에 대한 액세스 권한을 부여할 수 있습니다.

Cloud Logging은 모든 버킷에 대한 _AllLogs 보기를 자동으로 만들어 모든 로그를 표시합니다. 또한 Cloud Logging은_Default라는 _Default 버킷의 보기도 만듭니다. _Default 버킷의 _Default 보기에는 데이터 액세스 감사 로그를 제외한 모든 로그가 표시됩니다. _AllLogs_Default 보기는 수정할 수 없습니다.

다음 안내에서는 로그 보기를 생성, 보기, 업데이트, 삭제하는 방법을 설명합니다. 로그 보기 관리에는 다음 작업 수행이 포함됩니다.

  1. gcloud 명령줄 도구 또는 API를 사용하여 보기 만들기
  2. Google Cloud Console 또는 gcloud 명령줄 도구를 통해 ID 및 액세스 관리(IAM) 권한 설정

시작하기 전에

로그 뷰를 만들기 전에 다음 단계를 완료합니다.

  • 아직 그렇게 하지 않았으면 새 로그 버킷을 만들고 버킷으로 로그를 라우팅합니다.

  • 보기에 포함할 로그를 결정합니다.

  • 다음 역할 중 하나가 있는지 확인합니다.

    • roles/logging.admin

    • roles/logging.configWriter

  • 아직 Cloud SDK를 설치하지 않았다면 설치합니다.

로그 뷰를 만들 때 다음 조건에 유의하세요.

  • 로그 뷰의 필터에는 다음이 포함될 수 있습니다.

  • 로그 뷰의 필터에는 OR 연산자를 포함할 수 없습니다.

로그 보기 만들기

로그 보기를 만들려면 굵게 표시된 부분을 사용자 정보로 바꿔 다음 명령어를 실행합니다.

gcloud beta logging views create VIEW_ID \
  --log-filter="resource.type=gce_instance" --bucket=BUCKET_NAME \
  --location=LOCATION --description="Logs view for the central logs bucket for Compute Engine instance"

버킷 보기를 나열하여 보기가 만들어졌는지 확인합니다.

gcloud beta logging views list --bucket=BUCKET_NAME --location=LOCATION

로그 보기에 사용자 추가

사용자가 로그에 액세스할 수 있도록 보기에 추가하려면 다음 단계를 완료하세요.

gcloud

  1. 프로젝트의 IAM 정책을 가져와 JSON 형식의 로컬 파일에 씁니다.

    gcloud projects get-iam-policy PROJECT_ID --format json > output.json
    
  2. 사용자가 만든 버킷에서 사용자가 읽을 수 있도록 IAM 조건을 추가합니다. 예를 들면 다음과 같습니다.

    {
      "bindings": [
        {
          "members": [
            "username@gmail.com"
          ],
          "role": "roles/logging.viewAccessor",
          "condition": {
              "title": "Bucket reader condition example",
              "description": "Grants logging.viewAccessor role to user username@gmail.com for the [VIEW_ID] Logs View.",
              "expression":
                "resource.name == \"projects/[PROJECT_ID]/locations/[LOCATION]/buckets/[BUCKET_NAME]/views/[VIEW_ID]\""
          }
        }
      ],
      "etag": "BwWd_6eERR4=",
      "version": 3
    }
  3. IAM 정책을 업데이트합니다.

    gcloud projects set-iam-policy PROJECT_ID output.json
    

Console

  1. 버킷을 만든 프로젝트의 Cloud Console에서 IAM 페이지로 이동합니다.

    IAM 페이지로 이동

  2. 추가를 클릭합니다.

  3. 새 구성원 필드에 사용자의 이메일 계정을 추가합니다.

  4. 역할 선택 드롭다운 메뉴에서 로그 보기 접근자를 선택합니다.

    이 역할은 사용자에게 모든 보기에 대한 읽기 액세스 권한을 제공합니다. 특정 보기에 대한 사용자 액세스를 제한하려면 리소스 이름을 기준으로 조건을 추가합니다.

    1. 조건 추가를 클릭합니다.

    2. 조건의 제목설명을 입력합니다.

    3. 조건 유형 드롭다운 메뉴에서 리소스 > 이름을 선택합니다.

    4. 연산자 드롭다운 메뉴에서 일치를 선택합니다.

    5. 필드에 보기의 전체 경로를 포함한 로그 보기의 ID를 입력합니다.

      예를 들면 다음과 같습니다.

      projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID
    6. 저장을 클릭하여 조건을 추가합니다.

  5. 저장을 클릭하여 권한을 설정합니다.

자세한 내용은 IAM 조건 개요를 참조하세요.

로그 보기 업데이트

로그 보기를 업데이트하려면 굵게 표시된 부분을 사용자 정보로 바꿔 다음 명령어를 실행합니다.

gcloud beta logging views update VIEW_ID \
  --log-filter="resource.type=gce_instance" --bucket=NEW_BUCKET_NAME \
  --location=LOCATION --description="New description for the Logs View"

버킷 보기를 나열하여 보기가 업데이트되었는지 확인합니다.

gcloud beta logging views list --bucket=NEW_BUCKET_NAME --location=LOCATION

_Default_AllLogs 보기를 업데이트할 수 없습니다.

로그 보기 삭제

로그 보기를 삭제하려면 굵게 표시된 부분을 사용자 정보로 바꿔 다음 명령어를 실행합니다.

gcloud beta logging views delete VIEW_ID \
  --bucket=BUCKET_NAME --location=LOCATION

버킷 보기를 나열하여 보기가 삭제되었는지 확인합니다.

gcloud beta logging views list --bucket=BUCKET_NAME --location=LOCATION

로그 뷰 정보 보기

로그 보기를 설명하려면 굵게 표시된 부분을 사용자 정보로 바꿔 다음 명령어를 실행합니다.

gcloud beta logging views describe VIEW_ID \
  --bucket=BUCKET_NAME --location=LOCATION

로그 뷰와 연결된 로그 뷰

로그 보기에서 로그를 보려면 로그 보기의 roles/logging.viewAccessor 역할이 있어야 합니다.

로그 탐색기로 이동합니다.

로그 탐색기로 이동

범위 상세검색을 클릭하여 범위 상세검색 패널을 표시합니다. 여기에서 로그 뷰에 사용할 로그 버킷과 로그 뷰를 선택할 수 있습니다.

범위 상세검색 패널

자세한 내용은 로그 탐색기 문서를 참조하세요.

다음 단계

로그 탐색기로 이동하여 생성된 보기가 올바른 로그에 액세스되는지 확인하세요.

로그 탐색기로 이동