OS 정책 보고서 보기


VM Manager가 OS 정책 할당을 가상 머신(VM) 인스턴스에 적용하면 OS 정책 할당 보고서가 생성됩니다. 보고서에는 특정 OS 정책 할당에 대해 특정 VM에 적용되는 모든 OS 정책의 규정 준수 상태가 포함됩니다.

이 문서에서는 다음 작업을 설명합니다.

시작하기 전에

  • OS 구성 할당량을 검토합니다.
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

필수 역할 및 권한

OS 정책 규정 준수 데이터를 보는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

이러한 사전 정의된 역할에는 OS 정책 규정 준수 데이터를 보는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.

필수 권한

OS 정책 규정 준수 데이터를 보려면 다음 권한이 필요합니다.

  • 조직 또는 폴더의 VM에 대한 OS 정책 규정 준수 요약 보기(미리보기):
    • osconfig.osPolicyAssignmentReports.searchSummaries
    • osconfig.osPolicyAssignments.searchPolicies
    • resourcemanager.projects.get
    • resourcemanager.projects.list

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

조직 또는 폴더의 모든 VM에 대한 OS 정책 규정 준수 요약 보기

Google Cloud 콘솔을 사용하여 조직 또는 폴더의 모든 VM에 대한 OS 정책 규정 준수 요약을 볼 수 있습니다.

VM Manager는 다음 요구사항 중 하나를 충족하는 프로젝트에 대해서만 OS 정책 규정 준수 요약을 표시합니다.

  • VM Manager가 사용 설정되었고 실행 중인 VM이 하나 이상 포함됩니다.
  • 지난 7일 동안 VM Manager가 실행 중이었던 하나 이상의 VM이 포함되어 있으며 OS 정책 규정 준수 데이터를 사용할 수 있습니다.

OS 정책 규정 준수 데이터를 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Compute Engine > VM Manager > OS 정책 페이지로 이동합니다.

    OS 정책으로 이동

  2. Google Cloud 콘솔 상단의 프로젝트 드롭다운 목록에서 OS 정책 규정 준수 요약을 보려는 조직 또는 폴더를 선택합니다.

  3. OS 정책 규정 준수 데이터를 보려면 다음 옵션을 사용합니다.

    1. 프로젝트별 OS 정책 규정 준수 요약을 보려면 프로젝트 탭을 클릭합니다.
    2. 정책별 OS 정책 규정 준수 요약을 보려면 OS 정책 탭을 클릭합니다.
  4. 선택사항: 쿼리 빌더를 사용하여 OS 정책 규정 준수 요약을 산출하기 위한 기준을 지정합니다.

  5. VM의 OS 정책 규정 준수 요약을 검토합니다. 프로젝트 탭의 테이블에는 다음 그림과 같이 각 프로젝트의 행이 포함됩니다.

    모든 프로젝트의 OS 정책 요약

    이 테이블에는 쿼리 빌더에서 지정한 기준을 충족하는 다음 정보가 나열됩니다.

    • 프로젝트: 하나 이상의 VM을 포함하고 VM Manager가 사용 설정된 조직의 프로젝트 이름입니다.
    • 총 VM: 각 프로젝트의 총 VM 수입니다.
    • 모니터링되는 VM: VM Manager 에이전트가 사용 설정되어 있고 정책 준수 여부를 스캔 중인 프로젝트의 VM 수입니다.
    • 정책이 있는 VM: 하나 이상의 정책이 할당된 VM 수입니다.
    • 규정 준수: 모든 할당된 정책이 COMPLIANT로 보고된 VM 수입니다.
    • 미준수: NON-COMPLIANT로 보고된 정책이 하나 이상 할당된 VM 수입니다.
    • 알 수 없음: 하나 이상의 할당된 정책이 UNKNOWN으로 보고되었고 NON-COMPLIANT로 보고된 정책이 없는 VM 수입니다. UNKNOWN 상태는 다음 이유 중 하나로 인해 발생합니다.
      • VM이 실행 중이 아닙니다.
      • VM에 VM Manager 에이전트가 사용 설정되지 않았습니다.
      • 프로세스 도중 오류가 발생했습니다.
    • 보고서 없음: 할당된 정책이 있지만 다음 이유 중 하나로 인해 정책 규정 준수 보고서를 찾을 수 없는 VM 수입니다.
      • VM에 VM Manager 에이전트가 사용 설정되지 않았습니다.
      • 규정 준수 스캔이 진행 중이므로 보고서가 아직 준비되지 않았습니다.
  6. 선택사항: OS 정책 규정 준수 요약 테이블에서 특정 행을 보려면 테이블 필터를 적용합니다.

    정책 요약 테이블의 테이블 필터

    예를 들어 VM이 10개를 초과하는 프로젝트에 대한 OS 정책 규정 준수 요약을 보려면 총 VM 필터 옵션을 >= 10으로 설정합니다.

  7. 선택사항: 특정 상태의 VM에 대한 자세한 내용을 보려면 VM 수를 클릭합니다. 예를 들어 알 수 없음 열에서 해당 프로젝트의 VM 수를 클릭하면 프로젝트의 각 VM에 대한 알 수 없는 OS 정책 목록이 포함된 VM 인스턴스 탭이 열립니다.

    알 수 없는 OS 정책이 있는 VM 인스턴스 탭

    자세한 내용은 OS 정책 할당 보고서 보기를 참고하세요.

쿼리 빌더를 사용한 OS 정책 규정 준수 데이터 필터링

쿼리 빌더에 지정한 기준에 따라 VM Manager에 조직 또는 폴더의 프로젝트에 있는 VM에 대한 OS 정책 규정 준수 데이터가 표시됩니다. 그러면 OS 정책 규정 준수 테이블의 테이블 필터를 사용하여 표시된 데이터를 필터링할 수 있습니다.

예를 들어 쿼리 빌더에서 OS 속성을 Debian으로 설정하면 VM Manager에 Debian OS가 있는 VM의 OS 정책 규정 준수 데이터가 표시됩니다. 특정 프로젝트의 규정 준수 데이터를 보려면 테이블 필터를 사용하여 프로젝트 ID를 지정합니다.

하나의 속성을 사용한 쿼리 빌더

프로젝트 탭의 쿼리 빌더에서 쿼리를 설정하려면 다음 안내를 따르세요.

  1. 속성을 선택하세요. 쿼리 빌더는 다음 속성을 지원합니다.

    • OS: 운영체제의 닉네임(예: Windows 또는 Debian)을 지정합니다.
    • OS 버전: 운영체제 버전을 지정합니다. 예를 들면 21.04 또는 10.0.22000입니다. OS 버전 문자열 끝에 단일 별표(*)를 지정하여 부분 일치를 나타낼 수 있습니다(예: 10*).
    • 실행 중인 VM: RUNNING 상태의 VM에 대한 패치 요약을 볼지 여부를 지정합니다.
    • 정책 디지털 지문: OS 정책의 고유한 정책 디지털 지문을 지정합니다. 이 속성을 설정하면 VM Manager가 지정된 디지털 지문이 있는 OS 정책의 규정 준수 요약만 산출합니다.
    • 규정 준수 상태: 정책의 규정 준수 상태 중 하나를 지정합니다.
      • COMPLIANT: 모든 할당된 정책이 COMPLIANT로 보고된 VM입니다.
      • NON-COMPLIANT: NON-COMPLIANT로 보고된 정책이 하나 이상 할당된 VM입니다.
      • UNKNOWN: UNKNOWN으로 보고된 정책이 하나 이상 할당된 VM입니다.
  2. 속성 중 하나를 선택하고 속성 값을 지정합니다. 예를 들어 특정 운영체제가 있는 VM에 대한 패치 요약을 보려면 OS를 선택합니다. 그러면 선택할 비교 연산자 목록을 가져올 수 있습니다.

    1. 연산자를 선택합니다(예: ==).
    2. 필드에 비교 값을 지정합니다. 예를 들면 Debian입니다.
  3. 다른 속성을 추가하려면 조건 추가를 클릭합니다.

  4. 검색을 클릭합니다.

OS 정책 할당 보고서 보기

OS 정책 할당 보고서를 보려면 Google Cloud 콘솔, Google Cloud CLI 또는 REST를 사용하면 됩니다.

이 절차에 따라 특정 위치에 대한 OS 정책 할당 보고서 목록을 확인합니다.

Console

  1. VPC 서비스 제어를 사용하여 서비스를 보호하는 경우 허용된 서비스 목록에 Cloud 애셋 인벤토리 서비스를 추가합니다. 자세한 내용은 VPC 액세스 가능 서비스를 참조하세요.

  2. Google Cloud 콘솔에서 OS 정책 > VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

    VM 규정 준수 보기

gcloud

OS 정책 할당 보고서 목록을 보려면 os-config os-policy-assignment-reports list 명령어를 사용합니다.

특정 위치의 모든 OS 정책 할당 보고서를 보려면 다음 명령어를 실행합니다. ZONE을 VM이 있는 영역으로 바꿉니다.

gcloud compute os-config os-policy-assignment-reports list --location=ZONE

명령어 및 출력 예시(모든 VM)

gcloud compute os-config os-policy-assignment-reports list --location=us-central1-a

INSTANCE                   ASSIGNMENT_ID                   LOCATION       UPDATE_TIME                  SUMMARY
centos7                    my-test-assignment1             us-central1-a  2021-11-02T18:14:03.908341Z  0/1 policies compliant
centos7                    my-test-assignment2             us-central1-a  2021-11-02T18:14:03.908341Z  0/1 policies compliant
rhel-8                     my-test-assignment1             us-central1-a  2021-11-02T19:13:28.468290Z  0/1 policies compliant
rhel-8                     my-test-assignment2             us-central1-a  2021-11-02T19:13:28.468290Z  0/1 policies compliant
my-centos                  my-test-assignment1             us-central1-a  2021-11-02T18:14:37.418883Z  1/1 policies compliant
my-centos                  my-test-assignment2             us-central1-a  2021-11-02T18:14:37.418883Z  0/1 policies compliant
deb-10                     my-test-assignment2             us-central1-a  2021-11-02T19:00:11.777748Z  0/1 policies compliant
windows                    my-test-assignment2             us-central1-a  2021-11-02T18:24:07.935711Z  0/1 policies compliant
windows                    my-test-assignment3             us-central1-a  2021-11-02T18:24:07.935711Z  0/1 policies compliant
sles15                     my-test-assignment2             us-central1-a  2021-11-02T18:38:07.335276Z  0/1 policies compliant

--instance 또는 --assignment-id와 같은 선택적 플래그를 사용하여 결과를 필터링할 수도 있습니다.

gcloud compute os-config os-policy-assignment-reports list --location=ZONE \
    [--instance=VM_NAME | --assignment-id=ASSIGNMENT_ID]

다음을 바꿉니다.

  • ZONE: VM이 있는 영역입니다.
  • 선택사항: 다음 중 하나를 제공합니다.
    • VM_NAME: OS 정책 할당 보고서를 보려는 VM의 이름 또는 ID
    • ASSIGNMENT_ID: OS 정책 할당 보고서를 보려는 OS 정책 할당의 ID

명령어 및 출력 예시(특정 VM)

gcloud compute os-config os-policy-assignment-reports list --location=us-central1-a \
    --instance=my-centos

INSTANCE                ASSIGNMENT_ID               LOCATION       UPDATE_TIME                  SUMMARY
my-centos               my-test-assignment1         us-central1-a  2021-11-02T18:14:37.418883Z  1/1 policies compliant
my-centos               my-test-assignment2         us-central1-a  2021-11-02T18:14:37.418883Z  0/1 policies compliant

명령어 및 출력 예시(특정 할당)

gcloud compute os-config os-policy-assignment-reports list --location=us-central1-a \
    --assignment-id=my-test-assignment1

INSTANCE                ASSIGNMENT_ID               LOCATION       UPDATE_TIME                  SUMMARY
centos7                 my-test-assignment1         us-central1-a  2021-11-02T18:14:03.908341Z  0/1 policies compliant
rhel-8                  my-test-assignment1         us-central1-a  2021-11-02T19:13:28.468290Z  0/1 policies compliant
my-centos               my-test-assignment1         us-central1-a  2021-11-02T18:14:37.418883Z  1/1 policies compliant

REST

API에서 projects.locations.osPolicyAssignments.reports.list 메서드에 대한 GET 요청을 만듭니다.

GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/VM_NAME/osPolicyAssignments/OS_POLICY_ASSIGNMENT_ID/report

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • ZONE: VM이 있는 영역
  • 선택사항. 다음 중 하나를 제공합니다.
    • VM_NAME: OS 정책 할당 보고서를 보려는 VM의 이름 또는 ID. 필요하지 않은 경우 -를 값으로 사용합니다.
    • ASSIGNMENT_ID: OS 정책 할당 보고서를 보려는 OS 정책 할당의 ID. 필요하지 않은 경우 -를 값으로 사용합니다.

예:

  • my-project-12345 프로젝트 및 us-central1-a 영역의 모든 VM에 대한 보고서를 보려면 다음 URI를 사용합니다.
    projects/my-project-12345/locations/us-central1-a/instances/-/osPolicyAssignments/-/report
  • my-project-12345 프로젝트와 us-central1-a 영역에 있는 VM my-test-vm의 보고서를 보려면 다음 URI를 사용합니다.
    projects/my-project-12345/locations/us-central1-a/instances/my-test-vm/osPolicyAssignments/-/report
  • my-test-assignment OS 정책 할당이 있는 my-project-12345 프로젝트 및 us-central1-a 영역의 모든 VM에 대한 보고서를 보려면 다음 URI를 사용합니다.
    projects/my-project-12345/locations/us-central1-a/instances/-/osPolicyAssignments/my-test-assignment/report

OS 정책 할당 보고서 검토

이 절차에 따라 특정 VM과 연결된 OS 정책 할당 보고서를 자세히 살펴봅니다.

콘솔

  1. VPC 서비스 제어를 사용하여 서비스를 보호하는 경우 허용된 서비스 목록에 Cloud 애셋 인벤토리 서비스를 추가합니다. 자세한 내용은 VPC 액세스 가능 서비스를 참조하세요.

  2. Google Cloud 콘솔에서 OS 정책 > VM 인스턴스 페이지로 이동합니다.

    Google Cloud 콘솔로 이동

  3. 특정 VM의 OS 정책 할당 보고서를 보려면 VM의 이름을 클릭합니다.

    VM 규정 준수 보기

  4. 상태, 상태 이유, 로그 필드를 검토합니다. 로그 필드는 VM에서 실행 중인 OS 구성 에이전트의 디버그 로그에 액세스할 수 있는 Cloud Logging 대시보드 링크를 제공합니다.

    이러한 문제를 해결하기 위해 OS 정책 로그를 검토하고 필요한 업데이트를 수행할 수도 있습니다. 로그를 확인하려면 VM Manager 문제 해결을 참조하세요.

gcloud

  1. 특정 VM의 OS 정책 할당 보고서를 보려면 os-config os-policy-assignment-reports describe 명령어를 사용합니다.

    gcloud compute os-config os-policy-assignment-reports describe OS_POLICY_ASSIGNMENT_ID \
        --instance=VM_NAME \
        --location=ZONE
    

    다음을 바꿉니다.

    • OS_POLICY_ASSIGNMENT_ID: 지정된 VM에 대해 검토할 OS 정책 할당의 ID
    • VM_NAME: OS 정책 할당 보고서를 보려는 VM의 이름 또는 ID
    • ZONE: VM이 있는 영역입니다.

    예시

    gcloud compute os-config os-policy-assignment-reports describe my-test-assignment1 \
        --instance=centos7 \
        --location=us-central1-a
    

    결과

    instance: centos7
    lastRunId: 96a61b92-3e14-4155-a3e8-dd66520f49ae
    name: projects/1234578882888/locations/us-central1-a/instances/29255009728795105/osPolicyAssignments/my-test-assignment1/report
    osPolicyAssignment: projects/1234578882888/locations/us-central1-a/osPolicyAssignments/my-test-assignment1t@3428384d-fa61-478e-b7e2-3d5fae74bea3
    osPolicyCompliances:
    – complianceState: UNKNOWN
      complianceStateReason: os-policies-not-supported-by-agent
      osPolicyId: setup-repo-and-install-package-policy
      osPolicyResourceCompliances:
      – complianceState: UNKNOWN
        complianceStateReason: os-policy-execution-attempt-failed
        osPolicyResourceId: setup-repo
      – complianceState: UNKNOWN
        complianceStateReason: os-policy-execution-attempt-failed
        osPolicyResourceId: install-pkg
    updateTime: '2021-11-02T19:14:34.314831Z'
    
  2. complianceStatecomplianceStateReason을 검토합니다.

    이러한 문제를 해결하기 위해 OS 정책 로그를 검토하고 필요한 업데이트를 수행할 수도 있습니다. 로그를 확인하려면 VM Manager 문제 해결을 참조하세요.

REST

  1. API에서 projects.locations.osPolicyAssignments.reports.get 메서드에 대한 GET 요청을 만듭니다.

    GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/VM_NAME/osPolicyAssignments/OS_POLICY_ASSIGNMENT_ID/report
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • ZONE: VM이 있는 영역입니다.
    • VM_NAME: OS 정책 할당 보고서를 보려는 VM의 이름 또는 ID
    • OS_POLICY_ASSIGNMENT_ID: OS 정책 할당 보고서를 보려는 OS 정책 할당의 ID
  2. complianceStatecomplianceStateReason을 검토합니다.

    이러한 문제를 해결하기 위해 OS 정책 로그를 검토하고 필요한 업데이트를 수행할 수도 있습니다. 로그를 확인하려면 VM Manager 문제 해결을 참조하세요.

다음 단계