VM Manager 데이터 보기

이 주제에서는 VM의 런타임 정보를 볼 수 있도록 Cloud 애셋 인벤토리와 VM Manager의 OS 인벤토리를 구성하는 방법을 설명합니다.

시작하기 전에

시작하기 전에 다음 단계를 완료하세요.

  1. API 명령어를 실행할 프로젝트에서 Cloud 애셋 인벤토리 API를 사용 설정합니다.

    Cloud Asset Inventory API 사용 설정

  2. gcloud CLI 또는 API를 사용하여 Cloud 애셋 인벤토리 API를 호출하는 데 필요한 권한을 구성하세요.

  3. 다음 단계에 따라 환경 설정을 완료합니다.

    gcloud CLI

    gcloud CLI를 사용하여 Cloud Asset Inventory API를 호출하는 환경을 설정하려면 로컬 클라이언트에 Google Cloud CLI를 설치하세요.

    REST

    curl 명령어로 Cloud Asset Inventory API를 호출하도록 환경을 설정하려면 다음 단계를 완료합니다.

    1. curl 명령어에 대한 액세스 권한이 있는지 확인합니다.

    2. 프로젝트, 폴더 또는 조직에서 다음 역할 중 하나를 계정에 부여했는지 확인합니다.

      • Cloud 애셋 뷰어 역할(roles/cloudasset.viewer)

      • 소유자 기본 역할(roles/owner)

OS 인벤토리 사용 설정

VM Manager 제품군의 일부인 OS 인벤토리를 사용 설정하려면 VM Manager 설정의 관련 단계를 완료합니다.

권한 설정

계정에 내보낼 애셋이 포함된 루트 리소스에 대한 cloudasset.assets.exportOSInventories 권한이 있는지 확인합니다. 이 권한을 개별적으로 부여할 수도 있고, 루트 리소스에 다음 역할 중 하나를 부여할 수도 있습니다.

  • Cloud 애셋 뷰어 역할(roles/cloudasset.viewer)

  • Cloud 애셋 소유자 역할(roles/cloudasset.owner)

권한 구성Cloud 애셋 인벤토리 IAM 역할에 대해 자세히 알아보세요.

BigQuery로 VM Manager 데이터 내보내기

지정된 타임스탬프에 OS 인벤토리 스냅샷을 내보내려면 다음 명령어를 사용합니다.

gcloud

프로젝트

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

다음 값을 제공합니다.

  • PROJECT_ID: 메타데이터를 내보내는 프로젝트의 ID입니다.

  • BILLING_PROJECT_ID: 선택사항. BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • SNAPSHOT_TIME: (선택사항) 애셋의 스냅샷을 만들려는 시간입니다. 값은 현재 시간 또는 과거 시간이어야 합니다. 기본적으로 현재 시간으로 스냅샷을 찍습니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

  • DATASET_ID: BigQuery 데이터 세트의 ID입니다.

  • TABLE_NAME: 메타데이터를 내보내려는 대상 테이블입니다.

기타 플래그:

  • --output-bigquery-force: 대상 테이블이 있으면 덮어씁니다.

폴더

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

다음 값을 제공합니다.

  • FOLDER_ID: 메타데이터를 내보내는 폴더의 ID입니다.

    Google Cloud 폴더 ID를 찾는 방법

    콘솔

    Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

    다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: (선택사항) BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • SNAPSHOT_TIME: (선택사항) 애셋의 스냅샷을 만들려는 시간입니다. 값은 현재 시간 또는 과거 시간이어야 합니다. 기본적으로 현재 시간으로 스냅샷을 찍습니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

  • DATASET_ID: BigQuery 데이터 세트의 ID입니다.

  • TABLE_NAME: 메타데이터를 내보내려는 대상 테이블입니다.

기타 플래그:

  • --output-bigquery-force: 대상 테이블이 있으면 덮어씁니다.

조직

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

다음 값을 제공합니다.

  • ORGANIZATION_ID: 메타데이터를 내보내는 조직의 ID입니다.

    Google Cloud 조직 ID를 찾는 방법

    콘솔

    Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: (선택사항) BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • SNAPSHOT_TIME: (선택사항) 애셋의 스냅샷을 만들려는 시간입니다. 값은 현재 시간 또는 과거 시간이어야 합니다. 기본적으로 현재 시간으로 스냅샷을 찍습니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

  • DATASET_ID: BigQuery 데이터 세트의 ID입니다.

  • TABLE_NAME: 메타데이터를 내보내려는 대상 테이블입니다.

기타 플래그:

  • --output-bigquery-force: 대상 테이블이 있으면 덮어씁니다.

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "OS_INVENTORY",
          "readTime": "SNAPSHOT_TIME",
          "outputConfig": {
            "bigqueryDestination": {
              "dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
              "table": "TABLE_NAME",
              "force": true
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

다음 값을 제공합니다.

  • BILLING_PROJECT_ID: 선택사항. BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • SNAPSHOT_TIME: (선택사항) 애셋의 스냅샷을 만들려는 시간입니다(RFC 3339 형식). 값은 현재 시간 또는 35일 이내의 과거 시간이어야 합니다. 제공하지 않으면 스냅샷이 현재 시간으로 작성됩니다.

  • PROJECT_ID: BigQuery 테이블이 있는 프로젝트의 ID입니다.

  • DATASET_ID: BigQuery 데이터 세트의 ID입니다.

  • TABLE_NAME: 메타데이터를 내보내려는 대상 테이블입니다.

  • SCOPE: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.

    허용되는 값은 다음과 같습니다.

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Google Cloud 프로젝트 번호를 찾는 방법

      콘솔

      Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔의 대시보드 페이지로 이동합니다.

        대시보드로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
      4. 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Google Cloud 폴더 ID를 찾는 방법

      콘솔

      Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

      다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Google Cloud 조직 ID를 찾는 방법

      콘솔

      Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

VM Manager 취약성 보고서를 프로젝트에서 BigQuery로 내보내려면 다음 명령어를 사용합니다.

gcloud

프로젝트

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

다음 값을 제공합니다.

  • PROJECT_ID: 메타데이터를 내보내는 프로젝트의 ID입니다.

  • BILLING_PROJECT_ID: 선택사항. BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • DATASET_ID: BigQuery 데이터 세트의 ID입니다.

  • TABLE_NAME: 메타데이터를 내보내려는 대상 테이블입니다.

기타 플래그:

  • --output-bigquery-force: 대상 테이블이 있으면 덮어씁니다.

폴더

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

다음 값을 제공합니다.

  • FOLDER_ID: 메타데이터를 내보내는 폴더의 ID입니다.

    Google Cloud 폴더 ID를 찾는 방법

    콘솔

    Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

    다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: (선택사항) BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • DATASET_ID: BigQuery 데이터 세트의 ID입니다.

  • TABLE_NAME: 메타데이터를 내보내려는 대상 테이블입니다.

기타 플래그:

  • --output-bigquery-force: 대상 테이블이 있으면 덮어씁니다.

조직

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

다음 값을 제공합니다.

  • ORGANIZATION_ID: 메타데이터를 내보내는 조직의 ID입니다.

    Google Cloud 조직 ID를 찾는 방법

    콘솔

    Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: (선택사항) BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • DATASET_ID: BigQuery 데이터 세트의 ID입니다.

  • TABLE_NAME: 메타데이터를 내보내려는 대상 테이블입니다.

기타 플래그:

  • --output-bigquery-force: 대상 테이블이 있으면 덮어씁니다.

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "assetTypes": ["osconfig.googleapis.com/VulnerabilityReport"],
          "contentType": "RESOURCE",
          "outputConfig": {
            "bigqueryDestination": {
              "dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
              "table": "TABLE_NAME",
              "force": true
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

다음 값을 제공합니다.

  • BILLING_PROJECT_ID: 선택사항. BigQuery 데이터 세트 및 테이블 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • PROJECT_ID: BigQuery 테이블이 있는 프로젝트의 ID입니다.

  • DATASET_ID: BigQuery 데이터 세트의 ID입니다.

  • TABLE_NAME: 메타데이터를 내보내려는 대상 테이블입니다.

  • SCOPE: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.

    허용되는 값은 다음과 같습니다.

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Google Cloud 프로젝트 번호를 찾는 방법

      콘솔

      Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔의 대시보드 페이지로 이동합니다.

        대시보드로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
      4. 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Google Cloud 폴더 ID를 찾는 방법

      콘솔

      Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

      다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Google Cloud 조직 ID를 찾는 방법

      콘솔

      Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

기타 매개변수:

  • "force": true: 대상 테이블이 있으면 덮어씁니다.

기존 테이블

내보내기 출력을 기존 테이블에 추가하는 기능은 지원되지 않습니다. 대상 테이블은 비어 있거나 덮어써야 합니다. 덮어쓰려면 gcloud CLI로 --output-bigquery-force 플래그를 사용하거나 REST API로 force를 사용합니다.

쓰기를 시도할 때 출력 테이블이 사용 중이면 400 응답이 Request contains an invalid argument 메시지와 함께 반환됩니다.

Cloud Storage로 VM Manager 데이터 내보내기

프로젝트의 모든 VM 인스턴스에 대해 VM Manager 인벤토리 데이터를 내보내려면 다음 gcloud CLI 명령어 또는 Cloud 애셋 인벤토리 API를 사용합니다.

gcloud

프로젝트

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --output-path="gs://BUCKET_NAME/FILENAME"

다음 값을 제공합니다.

  • PROJECT_ID: 메타데이터를 내보내는 프로젝트의 ID입니다.

  • BILLING_PROJECT_ID: 선택사항. Cloud Storage 버킷에 쓰기 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • BUCKET_NAME: 쓰기를 수행할 대상 Cloud Storage 버킷의 이름입니다.

  • FILENAME: 쓰기를 수행할 대상 Cloud Storage 버킷에 있는 파일입니다.

폴더

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --output-path="gs://BUCKET_NAME/FILENAME"

다음 값을 제공합니다.

  • FOLDER_ID: 메타데이터를 내보내는 폴더의 ID입니다.

    Google Cloud 폴더 ID를 찾는 방법

    콘솔

    Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

    다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: (선택사항) Cloud Storage 버킷에 쓰기 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • BUCKET_NAME: 쓰기를 수행할 대상 Cloud Storage 버킷의 이름입니다.

  • FILENAME: 쓰기를 수행할 대상 Cloud Storage 버킷에 있는 파일입니다.

조직

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --output-path="gs://BUCKET_NAME/FILENAME"

다음 값을 제공합니다.

  • ORGANIZATION_ID: 메타데이터를 내보내는 조직의 ID입니다.

    Google Cloud 조직 ID를 찾는 방법

    콘솔

    Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: (선택사항) Cloud Storage 버킷에 쓰기 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • BUCKET_NAME: 쓰기를 수행할 대상 Cloud Storage 버킷의 이름입니다.

  • FILENAME: 쓰기를 수행할 대상 Cloud Storage 버킷에 있는 파일입니다.

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "OS_INVENTORY",
          "outputConfig": {
            "gcsDestination": {
              "uri": "gs://BUCKET_NAME/FILENAME"
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

다음 값을 제공합니다.

  • BILLING_PROJECT_ID: 선택사항. Cloud Storage 버킷에 쓰기 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • BUCKET_NAME: 쓰기를 수행할 대상 Cloud Storage 버킷의 이름입니다.

  • FILENAME: 쓰기를 수행할 대상 Cloud Storage 버킷에 있는 파일입니다.

  • SCOPE: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.

    허용되는 값은 다음과 같습니다.

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Google Cloud 프로젝트 번호를 찾는 방법

      콘솔

      Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔의 대시보드 페이지로 이동합니다.

        대시보드로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
      4. 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Google Cloud 폴더 ID를 찾는 방법

      콘솔

      Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

      다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Google Cloud 조직 ID를 찾는 방법

      콘솔

      Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

VM Manager 취약성 보고서를 프로젝트에서 Cloud Storage로 내보내려면 다음 gcloud CLI 명령어 또는 Cloud Asset Inventory API를 사용합니다.

gcloud

프로젝트

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --output-path="gs://BUCKET_NAME/FILENAME"

다음 값을 제공합니다.

  • PROJECT_ID: 메타데이터를 내보내는 프로젝트의 ID입니다.

  • BILLING_PROJECT_ID: 선택사항. Cloud Storage 버킷에 쓰기 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • BUCKET_NAME: 쓰기를 수행할 대상 Cloud Storage 버킷의 이름입니다.

  • FILENAME: 쓰기를 수행할 대상 Cloud Storage 버킷에 있는 파일입니다.

폴더

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --output-path="gs://BUCKET_NAME/FILENAME"

다음 값을 제공합니다.

  • FOLDER_ID: 메타데이터를 내보내는 폴더의 ID입니다.

    Google Cloud 폴더 ID를 찾는 방법

    콘솔

    Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

    다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: (선택사항) Cloud Storage 버킷에 쓰기 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • BUCKET_NAME: 쓰기를 수행할 대상 Cloud Storage 버킷의 이름입니다.

  • FILENAME: 쓰기를 수행할 대상 Cloud Storage 버킷에 있는 파일입니다.

조직

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --output-path="gs://BUCKET_NAME/FILENAME"

다음 값을 제공합니다.

  • ORGANIZATION_ID: 메타데이터를 내보내는 조직의 ID입니다.

    Google Cloud 조직 ID를 찾는 방법

    콘솔

    Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: (선택사항) Cloud Storage 버킷에 쓰기 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • BUCKET_NAME: 쓰기를 수행할 대상 Cloud Storage 버킷의 이름입니다.

  • FILENAME: 쓰기를 수행할 대상 Cloud Storage 버킷에 있는 파일입니다.

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "assetTypes": ["osconfig.googleapis.com/VulnerabilityReport"],
          "contentType": "RESOURCE",
          "outputConfig": {
            "gcsDestination": {
              "uri": "gs://BUCKET_NAME/FILENAME"
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

다음 값을 제공합니다.

  • BILLING_PROJECT_ID: 선택사항. Cloud Storage 버킷에 쓰기 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 이미 gcloud config set project로 결제 프로젝트로 전환한 경우에는 필요하지 않습니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • BUCKET_NAME: 쓰기를 수행할 대상 Cloud Storage 버킷의 이름입니다.

  • FILENAME: 쓰기를 수행할 대상 Cloud Storage 버킷에 있는 파일입니다.

  • SCOPE: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.

    허용되는 값은 다음과 같습니다.

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Google Cloud 프로젝트 번호를 찾는 방법

      콘솔

      Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔의 대시보드 페이지로 이동합니다.

        대시보드로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
      4. 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Google Cloud 폴더 ID를 찾는 방법

      콘솔

      Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

      다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Google Cloud 조직 ID를 찾는 방법

      콘솔

      Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

기존 파일

스토리지 버킷에 쓰기를 수행하려고 시도할 때 출력 파일이 사용 중이면 400 응답이 Request contains an invalid argument 메시지와 함께 반환됩니다.

VM Manager 데이터 기록 가져오기

프로젝트, 폴더, 조직에서 지정된 VM 인스턴스의 모든 OS 인벤토리 애셋 기록을 가져오려면 다음 명령어를 실행합니다.

gcloud

프로젝트

gcloud asset get-history \
    --project=PROJECT_ID \
    --asset-names=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME \
    --content-type=os-inventory \
    --start-time="START_TIME" \
    --end-time="END_TIME"

다음 값을 제공합니다.

  • PROJECT_ID: VM 인스턴스가 있는 프로젝트의 ID입니다.

  • ZONE: VM 인스턴스가 있는 영역입니다. 예를 들면 us-central1-a입니다.

  • VM_INSTANCE_NAME: VM 인스턴스의 이름입니다.

  • START_TIME: 선택사항. 기간의 시작 지점입니다. 값은 현재 시간 또는 35일 이내의 과거 시간이어야 합니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

  • END_TIME: 선택사항. 기간의 종료 지점입니다. 값은 현재 시간 또는 35일 이내의 과거 시간이어야 합니다. 제공하지 않으면 종료 시간이 현재 시간으로 간주됩니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

프로젝트에서 특정 VM의 VM Manager 취약성 데이터 기록을 가져오려면 다음 명령어를 실행합니다.

gcloud asset get-history \
    --project=PROJECT_ID \
    --asset-names=//osconfig.googleapis.com/projects/PROJECT_NUMBER/locations/ZONE/instances/VM_INSTANCE_ID/vulnerabilityReport \
    --content-type=resource \
    --start-time="START_TIME" \
    --end-time="END_TIME"

폴더

gcloud asset get-history \
    --folder=FOLDER_ID \
    --asset-names=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME \
    --content-type=os-inventory \
    --start-time="START_TIME" \
    --end-time="END_TIME"

다음 값을 제공합니다.

  • FOLDER_ID: VM 인스턴스가 있는 폴더의 ID입니다.

    Google Cloud 폴더 ID를 찾는 방법

    콘솔

    Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

    다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

    gcloud resource-manager folders list --folder=FOLDER_ID

  • ZONE: VM 인스턴스가 있는 영역입니다. 예를 들면 us-central1-a입니다.

  • VM_INSTANCE_NAME: VM 인스턴스의 이름입니다.

  • START_TIME: 선택사항. 기간의 시작 지점입니다. 값은 현재 시간 또는 35일 이내의 과거 시간이어야 합니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

  • END_TIME: 선택사항. 기간의 종료 지점입니다. 값은 현재 시간 또는 35일 이내의 과거 시간이어야 합니다. 제공하지 않으면 종료 시간이 현재 시간으로 간주됩니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

프로젝트에서 특정 VM의 VM Manager 취약성 데이터 기록을 가져오려면 다음 명령어를 실행합니다.

gcloud asset get-history \
    --folder=FOLDER_ID \
    --asset-names=//osconfig.googleapis.com/projects/PROJECT_NUMBER/locations/ZONE/instances/VM_INSTANCE_ID/vulnerabilityReport \
    --content-type=resource \
    --start-time="START_TIME" \
    --end-time="END_TIME"

조직

gcloud asset get-history \
    --organization=ORGANIZATION_ID \
    --asset-names=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME \
    --content-type=os-inventory \
    --start-time="START_TIME" \
    --end-time="END_TIME"

다음 값을 제공합니다.

  • ORGANIZATION_ID: VM 인스턴스가 있는 조직의 ID입니다.

    Google Cloud 조직 ID를 찾는 방법

    콘솔

    Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • ZONE: VM 인스턴스가 있는 영역입니다. 예를 들면 us-central1-a입니다.

  • VM_INSTANCE_NAME: VM 인스턴스의 이름입니다.

  • START_TIME: 선택사항. 기간의 시작 지점입니다. 값은 현재 시간 또는 35일 이내의 과거 시간이어야 합니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

  • END_TIME: 선택사항. 기간의 종료 지점입니다. 값은 현재 시간 또는 35일 이내의 과거 시간이어야 합니다. 제공하지 않으면 종료 시간이 현재 시간으로 간주됩니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

프로젝트에서 특정 VM의 VM Manager 취약성 데이터 기록을 가져오려면 다음 명령어를 실행합니다.

gcloud asset get-history \
    --organization=ORGANIZATION_ID \
    --asset-names=//osconfig.googleapis.com/projects/PROJECT_NUMBER/locations/ZONE/instances/VM_INSTANCE_ID/vulnerabilityReport \
    --content-type=resource \
    --start-time="START_TIME" \
    --end-time="END_TIME"

REST

프로젝트에서 지정된 VM 인스턴스의 모든 OS 인벤토리 애셋 기록을 가져오려면 다음 명령어를 실행합니다.

curl -X POST \
     -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "assetNames": "//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME",
          "contentType": "OS_INVENTORY",
          "readTimeWindow": {
            "startTime": "START_TIME",
            "endTime": "END_TIME"
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:batchGetAssetsHistory

다음 값을 제공합니다.

  • PROJECT_ID: VM 인스턴스가 있는 프로젝트의 ID입니다.

  • ZONE: VM 인스턴스가 있는 영역입니다. 예를 들면 us-central1-a입니다.

  • VM_INSTANCE_NAME: VM 인스턴스의 이름입니다.

  • START_TIME: 선택사항. 기간의 시작 지점입니다. 값은 현재 시간 또는 35일 이내의 과거 시간이어야 합니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

  • END_TIME: 선택사항. 기간의 종료 지점입니다. 값은 현재 시간 또는 35일 이내의 과거 시간이어야 합니다. 제공하지 않으면 종료 시간이 현재 시간으로 간주됩니다. 시간 형식에 대한 자세한 내용은 gcloud topic datetimes를 참조하세요.

  • SCOPE: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.

    허용되는 값은 다음과 같습니다.

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Google Cloud 프로젝트 번호를 찾는 방법

      콘솔

      Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔의 대시보드 페이지로 이동합니다.

        대시보드로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
      4. 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Google Cloud 폴더 ID를 찾는 방법

      콘솔

      Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

      다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Google Cloud 조직 ID를 찾는 방법

      콘솔

      Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

프로젝트에서 특정 VM의 VM Manager 취약성 데이터 기록을 가져오려면 다음 명령어를 실행합니다.

curl -X POST \
     -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "assetNames": "//osconfig.googleapis.com/projects/PROJECT_ID/locations/ZONE/instances/VM_INSTANCE_NAME/vulnerabilityReport",
          "contentType": "RESOURCE",
          "readTimeWindow": {
            "startTime": "START_TIME",
            "endTime": "END_TIME"
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:batchGetAssetsHistory

Pub/Sub로 VM Manager 데이터 변경사항 모니터링

Pub/Sub 주제를 만든 후 다음 명령어를 실행하여 VM Manager 변경사항을 모니터링합니다.

gcloud

프로젝트

Windows OS가 설치된 VM을 모니터링하기 위해 피드를 만들려면 다음 명령어를 실행합니다.

gcloud asset feeds create FEED_ID \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=compute.googleapis.com/Instance \
    --content-type=os-inventory \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
    --condition-title="CONDITION_TITLE" \
    --condition-description="CONDITION_DESCRIPTION" \
    --condition-expression="temporal_asset.asset.os_inventory.os_info.short_name == \"windows\""

다음 값을 제공합니다.

  • FEED_ID: 고유한 애셋 피드 식별자입니다.

  • PROJECT_ID: 메타데이터가 피드로 전송되는 프로젝트의 ID입니다.

  • BILLING_PROJECT_ID: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • TOPIC_ID: 알림을 게시할 Pub/Sub 주제의 ID입니다.

  • CONDITION_TITLE: 선택사항. 피드에 적용할 조건의 제목입니다.

  • CONDITION_DESCRIPTION: 선택사항. 피드에 적용할 조건에 대한 설명입니다.

프로젝트에서 VM 취약성 데이터 모니터링을 위한 피드를 만들려면 다음 명령어를 실행합니다.

gcloud asset feeds create FEED_ID \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID"

폴더

Windows OS가 설치된 VM을 모니터링하기 위해 피드를 만들려면 다음 명령어를 실행합니다.

gcloud asset feeds create FEED_ID \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=compute.googleapis.com/Instance \
    --content-type=os-inventory \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
    --condition-title="CONDITION_TITLE" \
    --condition-description="CONDITION_DESCRIPTION" \
    --condition-expression="temporal_asset.asset.os_inventory.os_info.short_name == \"windows\""

다음 값을 제공합니다.

  • FEED_ID: 고유한 애셋 피드 식별자입니다.

  • FOLDER_ID: 메타데이터가 피드로 전송되는 폴더의 ID입니다.

    Google Cloud 폴더 ID를 찾는 방법

    콘솔

    Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

    다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • TOPIC_ID: 알림을 게시할 Pub/Sub 주제의 ID입니다.

  • CONDITION_TITLE: 선택사항. 피드에 적용할 조건의 제목입니다.

  • CONDITION_DESCRIPTION: 선택사항. 피드에 적용할 조건에 대한 설명입니다.

프로젝트에서 VM 취약성 데이터 모니터링을 위한 피드를 만들려면 다음 명령어를 실행합니다.

gcloud asset feeds create FEED_ID \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID"

조직

Windows OS가 설치된 VM을 모니터링하기 위해 피드를 만들려면 다음 명령어를 실행합니다.

gcloud asset feeds create FEED_ID \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=compute.googleapis.com/Instance \
    --content-type=os-inventory \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
    --condition-title="CONDITION_TITLE" \
    --condition-description="CONDITION_DESCRIPTION" \
    --condition-expression="temporal_asset.asset.os_inventory.os_info.short_name == \"windows\""

다음 값을 제공합니다.

  • FEED_ID: 고유한 애셋 피드 식별자입니다.

  • ORGANIZATION_ID: 메타데이터가 피드로 전송되는 조직의 ID입니다.

    Google Cloud 조직 ID를 찾는 방법

    콘솔

    Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

    1. Google Cloud 콘솔로 이동합니다.

      Google Cloud 콘솔로 이동

    2. 메뉴 바에서 전환 상자를 클릭합니다.
    3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
    4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

    gcloud CLI

    다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • TOPIC_ID: 알림을 게시할 Pub/Sub 주제의 ID입니다.

  • CONDITION_TITLE: 선택사항. 피드에 적용할 조건의 제목입니다.

  • CONDITION_DESCRIPTION: 선택사항. 피드에 적용할 조건에 대한 설명입니다.

프로젝트에서 VM 취약성 데이터 모니터링을 위한 피드를 만들려면 다음 명령어를 실행합니다.

gcloud asset feeds create FEED_ID \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID"

REST

Windows OS가 설치된 VM을 모니터링하기 위해 피드를 만들려면 다음 명령어를 실행합니다.

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "feedId": "FEED_ID",
          "feed": {
            "assetTypes": ["compute.googleapis.com/Instance"],
            "contentType": "OS_INVENTORY",
            "feedOutputConfig": {
              "pubsubDestination": {
                "topic": "projects/PROJECT_ID/topics/TOPIC_ID"
              }
            },
            "condition": {
              "title": "CONDITION_TITLE",
              "description": "CONDITION_DESCRIPTION",
              "expression": "temporal_asset.asset.os_inventory.os_info.short_name == \"windows\""
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/feeds

다음 값을 제공합니다.

  • BILLING_PROJECT_ID: 선택사항. Pub/Sub 주제 관리 권한이 있는 기본 Cloud 애셋 인벤토리 서비스 에이전트가 있는 프로젝트 ID입니다. 결제 프로젝트에 대해 자세히 알아보세요.

  • FEED_ID: 고유한 애셋 피드 식별자입니다.

  • PROJECT_ID: Pub/Sub 주제가 있는 프로젝트 ID입니다.

  • TOPIC_ID: 알림을 게시할 Pub/Sub 주제의 ID입니다.

  • CONDITION_TITLE: 선택사항. 피드에 적용할 조건의 제목입니다.

  • CONDITION_DESCRIPTION: 선택사항. 피드에 적용할 조건에 대한 설명입니다.

  • SCOPE: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다.

    허용되는 값은 다음과 같습니다.

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Google Cloud 프로젝트 번호를 찾는 방법

      콘솔

      Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔의 대시보드 페이지로 이동합니다.

        대시보드로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
      4. 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Google Cloud 폴더 ID를 찾는 방법

      콘솔

      Google Cloud 폴더 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 폴더 이름을 검색합니다. 폴더 이름 옆에 폴더 ID가 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 조직 수준에 있는 Google Cloud 폴더 ID를 검색할 수 있습니다.

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      여기서 TOP_LEVEL_FOLDER_NAME은 전체 또는 일부 문자열 일치일 수 있습니다. 발견된 폴더에 대한 추가 정보를 보려면 --format 옵션을 삭제합니다.

      다른 폴더 내에서 폴더 ID를 가져오려면 하위 폴더를 나열합니다.

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Google Cloud 조직 ID를 찾는 방법

      콘솔

      Google Cloud 조직 ID를 찾으려면 다음 단계를 완료합니다.

      1. Google Cloud 콘솔로 이동합니다.

        Google Cloud 콘솔로 이동

      2. 메뉴 바에서 전환 상자를 클릭합니다.
      3. 다음 조직에서 선택 상자를 클릭한 후 조직을 선택합니다.
      4. 모두 탭을 클릭합니다. 조직 ID가 조직 이름 옆에 표시됩니다.

      gcloud CLI

      다음 명령어를 사용하여 Google Cloud 조직 ID를 검색할 수 있습니다.

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

VM 취약성 데이터 모니터링을 위한 피드를 만들려면 다음 명령어를 실행합니다.

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "feedId": "FEED_ID",
          "feed": {
            "assetTypes": ["osconfig.googleapis.com/VulnerabilityReport"],
            "contentType": "RESOURCE",
            "feedOutputConfig": {
              "pubsubDestination": {
                "topic": "projects/PROJECT_ID/topics/TOPIC_ID"
              }
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/feeds

자세한 내용은 애셋 변경사항 모니터링을 참조하세요.