키 사용량 보기

이 페이지에서는 Cloud KMS 키로 보호되는 조직 내의 Google Cloud 리소스를 보는 방법을 보여줍니다. 키 사용 추적은 조직 리소스 내에서만 사용할 수 있습니다.

키가 보호하는 리소스에 대한 정보는 다음 두 수준에서 확인할 수 있습니다.

  • 각 키의 키 사용량 요약 정보에는 키를 사용하는 보호 리소스, 프로젝트, 고유한 Google Cloud 제품의 수가 포함됩니다. 이 세부정보는 키에 대한 Cloud KMS 뷰어 역할이 있는 모든 사용자가 볼 수 있습니다.
  • 키 사용량 세부정보 정보는 이 키로 보호되고 이 키에 의존하는 리소스를 식별합니다. 이 수준의 세부정보는 권한이 있으며 조직에서 Cloud KMS 보호 리소스 뷰어 역할이 있는 계정만 사용할 수 있습니다.

시작하기 전에

이 페이지에서는Google Cloud 조직 리소스 내에서 Cloud KMS를 사용하고 있다고 가정합니다.

  1. Cloud KMS Inventory API를 사용 설정합니다.

    API 사용 설정하기

필요한 역할

Cloud KMS 서비스 계정에 키 사용 추적을 사용 설정하는 데 필요한 권한이 있는지 확인하려면 관리자에게 조직에 대한 Cloud KMS 조직 서비스 에이전트(roles/cloudkms.orgServiceAgent) IAM 역할을 Cloud KMS 서비스 계정에 부여해 달라고 요청합니다.

키 사용 정보를 보는 데 필요한 권한을 얻으려면 관리자에게 키에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

키 사용량 정보 보기

콘솔

  1. Google Cloud 콘솔에서 키 인벤토리 페이지로 이동합니다.

    키 인벤토리로 이동

  2. 선택사항: 키 목록을 필터링하려면 filter_list 필터 상자에 검색어를 입력한 후 Enter 키를 누릅니다. 예를 들어 키의 위치, 키링, 상태 또는 기타 속성으로 필터링할 수 있습니다.

  3. 사용 정보를 보려는 키의 이름을 클릭합니다.

  4. 사용량 추적 탭을 클릭합니다.

  5. 선택사항: 보호된 리소스 목록을 필터링하려면 filter_list 필터 상자에 검색어를 입력한 후 Enter 키를 누릅니다.

선택한 키의 키 사용 요약 및 세부정보가 표시됩니다.

gcloud CLI

명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.

키 사용량 요약을 보려면 get-protected-resources-summary 메서드를 사용합니다.

gcloud kms inventory get-protected-resources-summary \
    --keyname  projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \

다음을 바꿉니다.

  • PROJECT_ID: 키링이 포함된 프로젝트의 ID입니다.
  • LOCATION: 키링의 Cloud KMS 위치입니다.
  • KEY_RING: 키가 포함된 키링의 이름입니다.
  • KEY_NAME: 사용 요약 정보를 보려는 키의 이름입니다.

키 사용 세부정보를 보려면 search-protected-resources 메서드를 사용합니다.

gcloud kms inventory search-protected-resources \
    --keyname  projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
    --scope=organizations/ORGANIZATION_ID

다음을 바꿉니다.

  • PROJECT_ID: 키링이 포함된 프로젝트의 ID입니다.
  • LOCATION: 키링의 Cloud KMS 위치입니다.
  • KEY_RING: 키가 포함된 키링의 이름입니다.
  • KEY_NAME: 사용 세부정보를 보려는 키의 이름입니다.
  • ORGANIZATION_ID: 조직의 숫자 ID

API

이 예시에서는 curl을 HTTP 클라이언트로 사용하여 API 사용을 보여줍니다. 액세스 제어에 대한 자세한 내용은 Cloud KMS API 액세스를 참조하세요.

키 사용량 요약을 보려면 cryptoKeys.getProtectedResourcesSummary 메서드를 사용합니다.

curl  "https://kmsinventory.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/protectedResourcesSummary"
    --request "GET" \
    --header "x-goog-user-project: CALLING_PROJECT_ID"
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN"

다음을 바꿉니다.

  • PROJECT_ID: 키링이 포함된 프로젝트의 ID입니다.
  • LOCATION: 키링의 Cloud KMS 위치입니다.
  • KEY_RING: 키가 포함된 키링의 이름입니다.
  • KEY_NAME: 사용 요약을 보려는 키의 이름입니다.
  • CALLING_PROJECT_ID: KMS Inventory API를 호출하는 프로젝트의 ID입니다.

키 사용 세부정보를 보려면 protectedResources.search 메서드를 사용합니다.

curl "https://kmsinventory.googleapis.com/v1/organizations/ORGANIZATION_ID/protectedResources:search?crypto_key=projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
    --request "GET" \
    --header "x-goog-user-project: CALLING_PROJECT_ID"
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN"

다음을 바꿉니다.

  • ORGANIZATION_ID: 조직의 숫자 ID
  • PROJECT_ID: 키링이 포함된 프로젝트의 ID입니다.
  • LOCATION: 키링의 Cloud KMS 위치입니다.
  • KEY_RING: 키가 포함된 키링의 이름입니다.
  • KEY_NAME: 사용량 세부정보를 보려는 키의 이름입니다.
  • CALLING_PROJECT_ID: KMS Inventory API를 호출하는 프로젝트의 ID입니다.

키 사용 세부정보

선택한 키로 암호화된 보호 리소스에 관한 사용량 세부정보에는 다음이 포함됩니다.

  • 이름: 선택한 키로 보호되는 Google Cloud 리소스의 이름입니다.
  • 프로젝트: 보호된 리소스가 포함된 프로젝트의 이름입니다.
  • 암호화 키 버전: 이 리소스를 암호화하는 데 사용되는 키 버전입니다. 일부 보호된 리소스는 암호화 키 버전을 보고하지 않습니다.
  • Cloud product: 이 리소스와 연결된 Google Cloud 제품입니다.
  • 리소스 유형: 보호되는 리소스 유형입니다(예: 버킷(Cloud Storage) 또는 디스크(Compute Engine)).
  • 위치: 리소스와 연결된 Google Cloud 리전입니다.
  • 생성일: 리소스가 생성된 시간입니다.
  • 라벨: 리소스와 연결된 키-값 쌍입니다.

리소스를 보호하는 키 버전 나열

하나의 리소스가 여러 키 버전으로 보호되는 경우 사용량 추적 탭에 키 버전의 전체 목록이 표시되지 않을 수 있습니다.

리소스를 보호하는 키 버전을 나열하려면 gcloud CLI를 사용하여 다음 명령어를 실행합니다.

gcloud beta kms inventory search-protected-resources \
  --keyname=KEY_NAME \
  --scope=organizations/ORGANIZATION_ID \
  --filter="name:RESOURCE_NAME" \
  --flatten="cryptoKeyVersions" \
  --format="value(cryptoKeyVersions)"

다음을 바꿉니다.

  • KEY_NAME: 키 버전을 나열하려는 키의 이름입니다.
  • ORGANIZATION_ID: 조직의 숫자 ID
  • RESOURCE_NAME: 키 버전을 나열하려는 리소스의 이름입니다.

제한사항

키 사용 추적을 사용할 때는 다음 사항에 유의하세요.

  • 키 사용 정보 추적은 CMEK 키 사용에만 사용할 수 있습니다. Google Cloud내부 또는 외부의 애플리케이션에서 키 버전을 사용하는 경우 해당 사용량은 사용량 추적 탭에 포함되지 않습니다.
  • 일부 CMEK 리소스는 추적되지 않습니다. 추적된 리소스 유형에 나열되지 않은 리소스 유형의 경우 키 사용 정보가 키 사용 세부정보에 포함되지 않을 수 있습니다. 예를 들어 Datastream이 ConnectionProfile(datastream.googleapis.com/ConnectionProfile) 리소스를 암호화하는 데 사용하는 키는 사용량 추적 탭에 표시되지 않습니다.
  • 데이터가 지연될 수 있습니다. 예를 들어 새 보호 리소스를 만드는 경우 보호 리소스와 연결된 키 버전이 사용량 추적 탭에 즉시 추가되지 않습니다.
  • Cloud Storage 키 사용 데이터에는 다음과 같은 추가 제한사항이 적용됩니다.
    • 키 사용 데이터는 객체에서 버킷으로 집계됩니다. 객체 이름이 표시되지 않습니다. 버킷에 해당 키를 사용하는 객체가 하나 이상 있으면 버킷이 해당 키를 사용하는 것으로 표시됩니다.
    • 4,000개가 넘는 고유한 키 버전으로 보호된 객체가 포함된 버킷의 경우 키 사용 추적이 완전하지 않을 수 있습니다.
  • 키 사용 추적 세부정보는 정보 제공 목적으로만 사용됩니다. 정전이나 데이터 손실을 초래할 수 있는 변경사항을 적용하기 전에 다른 소스를 사용하여 자체 실사를 수행하세요. 키 사용량 추적 정보만을 기반으로 키 버전을 사용 중지하거나 삭제하지 마세요.

추적된 리소스 유형

지원되는 리소스 유형은 다음과 같습니다.

    서비스 리소스
    PostgreSQL용 AlloyDB alloydb.googleapis.com/Backup
    PostgreSQL용 AlloyDB alloydb.googleapis.com/Cluster
    Apigee apigee.googleapis.com/Organization
    Apigee apigee.googleapis.com/Instance
    Apigee API 허브 apihub.googleapis.com/ApiHubInstance
    Artifact Registry artifactregistry.googleapis.com/Repository
    BigQuery bigquery.googleapis.com/Dataset
    BigQuery bigquery.googleapis.com/Model
    BigQuery bigquery.googleapis.com/Table
    BigQuery bigquerydatatransfer.googleapis.com/TransferConfig
    Bigtable bigtableadmin.googleapis.com/Backup
    Bigtable bigtableadmin.googleapis.com/Cluster
    Bigtable bigtableadmin.googleapis.com/Table
    Cloud Composer composer.googleapis.com/Environment
    Cloud Data Fusion datafusion.googleapis.com/Instance
    Cloud Healthcare API healthcare.googleapis.com/Dataset
    Cloud Logging logging.googleapis.com/LogBucket
    Cloud Run run.googleapis.com/Revision
    Cloud Run Functions cloudfunctions.googleapis.com/CloudFunction
    Cloud Run Functions cloudfunctions.googleapis.com/Function
    Cloud SQL sqladmin.googleapis.com/BackupRun
    Cloud SQL sqladmin.googleapis.com/Instance
    Cloud Storage storage.googleapis.com/Bucket
    Cloud Workstations workstations.googleapis.com/Workstation
    Cloud Workstations workstations.googleapis.com/WorkstationConfig
    Compute Engine compute.googleapis.com/Disk
    Compute Engine compute.googleapis.com/Image
    Compute Engine compute.googleapis.com/MachineImage
    Compute Engine compute.googleapis.com/Snapshot
    Database Migration Service datamigration.googleapis.com/MigrationJob
    Database Migration Service datamigration.googleapis.com/ConnectionProfile
    Dataflow dataflow.googleapis.com/Job
    Dataproc dataproc.googleapis.com/Cluster
    Dataproc dataproc.googleapis.com/Batch
    Dataproc Metastore metastore.googleapis.com/Service
    Datastream datastream.googleapis.com/Stream
    Document AI documentai.googleapis.com/HumanReviewConfig
    Document AI documentai.googleapis.com/Processor
    Document AI documentai.googleapis.com/ProcessorVersion
    Filestore file.googleapis.com/Instance
    Filestore file.googleapis.com/Backup
    Firestore firestore.googleapis.com/Database
    Firestore datastore.googleapis.com/Database
    Gemini Enterprise Enterprise discoveryengine.googleapis.com/DataStore
    Google Kubernetes Engine container.googleapis.com/Cluster
    Looker(Google Cloud 핵심 서비스) looker.googleapis.com/Instance
    Redis용 Memorystore redis.googleapis.com/Instance
    Migrate to Virtual Machines vmmigration.googleapis.com/Source
    Pub/Sub pubsub.googleapis.com/Topic
    Secret Manager secretmanager.googleapis.com/Secret
    Secret Manager secretmanager.googleapis.com/SecretVersion
    Secure Source Manager securesourcemanager.googleapis.com/Instance
    Spanner spanner.googleapis.com/Database
    Vertex AI aiplatform.googleapis.com/Dataset
    Vertex AI aiplatform.googleapis.com/Featurestore
    Vertex AI aiplatform.googleapis.com/Tensorboard
    Vertex AI aiplatform.googleapis.com/BatchPredictionJob
    Vertex AI aiplatform.googleapis.com/CustomJob
    Vertex AI aiplatform.googleapis.com/Endpoint
    Vertex AI aiplatform.googleapis.com/Model
    Vertex AI aiplatform.googleapis.com/TrainingPipeline
    Vertex AI aiplatform.googleapis.com/PipelineJob
    Vertex AI aiplatform.googleapis.com/MetadataStore
    Vertex AI Search discoveryengine.googleapis.com/DataStore
    Vertex AI Workbench 인스턴스 notebooks.googleapis.com/Instance
    워크플로 workflows.googleapis.com/Workflow