Google Cloud SDK 사용하기

이 페이지에서는 Cloud SDK gcloud alpha asset 명령어를 사용하여 애셋 메타데이터를 내보내고 애셋 내역을 가져오는 방법을 설명합니다.

Cloud SDK는 클라우드 애셋 인벤토리 및 기타 Google Cloud Platform 서비스와 상호작용하는 gcloud 명령줄 도구를 제공합니다.

시작하기 전에

  • gcloud 도구는 Cloud Asset API를 사용하여 Google Cloud Platform에 액세스합니다. 이 API를 사용 설정해야 gcloud 도구를 사용하여 Cloud Asset Inventory에 액세스할 수 있습니다. Cloud Asset API 명령어를 실행하는 데 사용할 프로젝트에만 이 API를 사용 설정하면 됩니다.
    Cloud Asset Inventory API 사용 설정
  • 로컬 클라이언트에 Cloud SDK를 설치합니다.

gcloud 명령줄 도구 시작하기

gcloud 도구를 시작하려면 Cloud SDK 문서를 살펴보세요. --help 플래그를 사용하면 도구, 리소스, 명령어에 관한 도움말을 볼 수 있습니다.

gcloud alpha asset --help

--help 플래그와 함께 표시된 도움말은 gcloud alpha asset에 대한 Cloud SDK 참고 자료에서도 확인할 수 있습니다.

서비스 계정 활성화

Cloud Asset API를 호출하려면 비공개 키로 인증된 서비스 계정이 필요합니다. 이 서비스 계정은 Cloud Asset API 명령어를 실행 중인 프로젝트에서 만들어야 합니다.

  1. 서비스 계정이 아직 없다면 Cloud Asset API가 사용 설정된 프로젝트에서 다음 명령어를 사용하여 새 서비스 계정을 생성합니다.

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
           --display-name "SERVICE_ACCOUNT_DISPLAY_NAME"
    

  2. 서비스 계정의 비공개 키를 만듭니다.

    gcloud iam service-accounts keys create YOUR_FILE_PATH/key.json \
           --iam-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    

  3. 다음 명령어를 사용하여 gcloud 도구에서 사용할 서비스 계정을 활성화합니다.

    gcloud auth activate-service-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
           --key-file=YOUR_FILE_PATH/key.json
    

  4. 메타데이터를 내보내려는 프로젝트에 대한 cloudasset.viewer Cloud IAM 역할을 새 서비스 계정에 부여합니다. 이 프로젝트는 Cloud Asset API 지원 프로젝트와 동일할 수 있습니다.

    gcloud projects add-iam-policy-binding EXPORT_TARGET_PROJECT_ID \
           --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
           --role roles/cloudasset.viewer
    

이제 Cloud Asset API를 호출할 수 있습니다.

gcloud 애셋 호출하기

다음은 프로젝트에 대한 gcloud Cloud Asset API 호출의 몇 가지 예입니다. Cloud Asset API 호출은 폴더와 조직에서도 작동합니다.

ExportAssets

특정 타임스탬프에 Cloud Storage 파일로 모든 애셋 메타데이터를 내보냅니다. 내보낸 데이터를 저장하는 데 사용하는 Cloud Storage 버킷은 내보내기를 실행 중인 Cloud Asset API 지원 프로젝트에 있어야 합니다.

gcloud alpha asset export \
   --content-type resource \
   --project PROJECT_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

PROJECT_ID는 메타데이터를 내보낼 프로젝트의 ID입니다. 이 프로젝트는 내보내기를 실행할 Cloud Asset API 지원 프로젝트이거나 다른 프로젝트입니다.

GetOperation

내보내기의 상태를 확인합니다. 내보내기 명령어를 실행한 직후에 gcloud 도구에 다음 명령어와 OPERATION_NUMBER가 표시됩니다.

gcloud alpha asset operations describe projects/PROJECT_ID/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER

BatchGetAssetsHistory

특정 시간대의 여러 애셋 내역을 가져옵니다. 이렇게 하면 지정된 애셋의 모든 만들기, 삭제, 업데이트 이벤트 내역이 표시됩니다.

gcloud alpha asset get-history --asset-names="//storage.googleapis.com/BUCKET_NAME","otherAssetNames" \
   --content-type resource \
   --start-time '2018-10-03T00:00:00Z' \
   --project PROJECT_ID

시간대의 가장 이른 start-time2018-10-03T00:00:00Z입니다.

다음 단계

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

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

Resource Manager 문서