Melihat penggunaan kunci

Topik ini menunjukkan cara melihat Google Cloud resource dalam organisasi Anda yang dilindungi oleh kunci Cloud KMS.

Anda dapat melihat informasi tentang resource yang dilindungi kunci Anda di dua tingkat:

  • Informasi ringkasan penggunaan kunci untuk setiap kunci mencakup jumlah resource, project, dan produk Google Cloud unik yang dilindungi yang menggunakan kunci tersebut. Tingkat detail ini tersedia untuk siapa saja yang memiliki peran Cloud KMS Viewer pada kunci.
  • Informasi Detail penggunaan kunci mengidentifikasi resource mana yang dilindungi oleh dan bergantung pada kunci ini. Tingkat detail ini bersifat istimewa dan hanya tersedia untuk akun dengan peran Cloud KMS Protected Resources Viewer di organisasi.

Sebelum memulai

Topik ini mengasumsikan bahwa Anda menggunakan Cloud KMS dalamGoogle Cloud resource organisasi.

  1. Minta administrator organisasi Anda untuk memberikan peran Cloud KMS Organization Service Agent (cloudkms.orgServiceAgent) ke akun layanan Cloud KMS Anda di resource organisasi Anda. Peran ini tidak tersedia di konsol Google Cloud , jadi Anda harus menggunakan gcloud CLI untuk memberikan peran:

    gcloud CLI

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
        --member=serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-cloudkms.iam.gserviceaccount.com \
        --role=roles/cloudkms.orgServiceAgent
    

    Ganti ORGANIZATION_ID dengan ID numerik organisasi Anda.

  2. Berikan peran Cloud KMS Viewer (roles/cloudkms.viewer) kepada siapa saja yang perlu melihat ringkasan penggunaan kunci. Untuk mengetahui informasi tentang cara memberikan peran, lihat Mengelola akses.

  3. Berikan peran Cloud KMS Protected Resources Viewer (roles/cloudkms.protectedResourcesViewer) di resource organisasi Anda kepada siapa saja yang perlu melihat detail penggunaan kunci. Peran ini tidak tersedia di konsol Google Cloud , jadi Anda harus menggunakan gcloud CLI untuk memberikan peran:

    gcloud CLI

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
        --member=user:USER_EMAIL \
        --role=roles/cloudkms.protectedResourcesViewer
    

    Ganti kode berikut:

    • ORGANIZATION_ID: ID numerik organisasi Anda.
    • USER_EMAIL: alamat email pengguna.
  4. Aktifkan Cloud KMS Inventory API.

    Mengaktifkan API

Melihat informasi penggunaan kunci

Konsol

  1. Di Google Cloud console, buka halaman Inventaris Kunci.

    Buka Key Inventory

  2. Opsional: Untuk memfilter daftar kunci, masukkan istilah penelusuran Anda di kotak Filter filter_list, lalu tekan enter. Misalnya, Anda dapat memfilter menurut lokasi, cincin kunci, status, atau properti kunci lainnya.

  3. Klik nama kunci yang informasi penggunaannya ingin Anda lihat.

  4. Klik tab Pelacakan Penggunaan.

  5. Opsional: Untuk memfilter daftar resource yang dilindungi, masukkan istilah penelusuran Anda di kotak Filter filter_list, lalu tekan Enter.

Ringkasan dan detail penggunaan kunci ditampilkan untuk kunci yang dipilih.

gcloud CLI

Untuk menggunakan Cloud KMS di command line, pertama-tama Instal atau upgrade ke Google Cloud CLI versi terbaru.

Untuk melihat ringkasan penggunaan kunci, gunakan metode get-protected-resources-summary:

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

Ganti kode berikut:

  • PROJECT_ID: ID project yang berisi key ring.
  • LOCATION: lokasi Cloud KMS key ring.
  • KEY_RING: nama key ring yang berisi kunci.
  • KEY_NAME: nama kunci yang ringkasan penggunaannya ingin Anda lihat.

Untuk melihat detail penggunaan kunci, gunakan metode 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

Ganti kode berikut:

  • PROJECT_ID: ID project yang berisi key ring.
  • LOCATION: lokasi Cloud KMS key ring.
  • KEY_RING: nama key ring yang berisi kunci.
  • KEY_NAME: nama kunci yang detail penggunaannya ingin Anda lihat.
  • ORGANIZATION_ID: ID numerik organisasi Anda.

API

Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.

Untuk melihat ringkasan penggunaan kunci, gunakan metode 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"

Ganti kode berikut:

  • PROJECT_ID: ID project yang berisi key ring.
  • LOCATION: lokasi Cloud KMS key ring.
  • KEY_RING: nama key ring yang berisi kunci.
  • KEY_NAME: nama kunci yang ringkasan penggunaannya ingin Anda lihat.
  • CALLING_PROJECT_ID: ID project tempat Anda memanggil KMS Inventory API.

Untuk melihat detail penggunaan kunci, gunakan metode 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"

Ganti kode berikut:

  • ORGANIZATION_ID: ID numerik organisasi Anda.
  • PROJECT_ID: ID project yang berisi key ring.
  • LOCATION: lokasi Cloud KMS key ring.
  • KEY_RING: nama key ring yang berisi kunci.
  • KEY_NAME: nama kunci yang detail penggunaannya ingin Anda lihat.
  • CALLING_PROJECT_ID: ID project tempat Anda memanggil KMS Inventory API.

Detail penggunaan kunci

Detail penggunaan tentang resource yang dilindungi yang dienkripsi dengan kunci yang dipilih mencakup hal berikut:

  • Nama: Nama Google Cloud resource yang dilindungi oleh kunci yang dipilih.
  • Project: Nama project yang berisi resource yang dilindungi.
  • Versi kunci kriptografis: Versi kunci yang digunakan untuk mengenkripsi resource ini. Beberapa resource yang dilindungi tidak melaporkan versi kunci kriptografis.
  • Produk cloud: Google Cloud Produk yang terkait dengan resource ini.
  • Jenis resource: Jenis resource yang dilindungi, misalnya Bucket (Cloud Storage) atau Disk (Compute Engine).
  • Location: Google Cloud Wilayah yang terkait dengan resource.
  • Tanggal pembuatan: Waktu saat resource dibuat.
  • Label: Kumpulan key-value pair yang terkait dengan resource.

Mencantumkan versi kunci yang melindungi resource

Jika resource dilindungi oleh beberapa versi kunci, Anda mungkin tidak dapat melihat daftar lengkap versi kunci di tab Pelacakan penggunaan.

Untuk mencantumkan versi kunci yang melindungi resource, gunakan gcloud CLI untuk menjalankan perintah berikut:

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

Ganti kode berikut:

  • KEY_NAME: nama kunci yang ingin Anda cantumkan versi kuncinya.
  • ORGANIZATION_ID: ID numerik organisasi Anda.
  • RESOURCE_NAME: nama resource yang versi kuncinya ingin Anda cantumkan.

Batasan

Saat menggunakan pelacakan penggunaan kunci, perhatikan hal berikut:

  • Pelacakan penggunaan kunci hanya tersedia untuk penggunaan kunci CMEK. Jika Anda menggunakan versi kunci di aplikasi Anda di dalam atau di luar Google Cloud, penggunaan tersebut tidak disertakan di tab Pelacakan penggunaan.
  • Beberapa resource CMEK tidak dilacak. Untuk jenis resource yang tidak tercantum dalam Jenis resource yang dilacak, informasi penggunaan kunci mungkin tidak disertakan dalam detail penggunaan kunci. Misalnya, penggunaan kunci oleh Datastream untuk mengenkripsi resource ConnectionProfile (datastream.googleapis.com/ConnectionProfile) tidak ditampilkan di tab Pelacakan penggunaan.
  • Data mungkin tertunda. Misalnya, jika Anda membuat resource yang dilindungi baru, resource yang dilindungi dan versi kunci terkait tidak langsung ditambahkan ke tab Pelacakan penggunaan.
  • Data penggunaan kunci Cloud Storage tunduk pada batasan tambahan berikut:
    • Data penggunaan kunci digabungkan dari objek ke bucket. Nama objek tidak ditampilkan. Bucket akan ditampilkan sebagai menggunakan kunci jika bucket memiliki setidaknya satu objek yang menggunakan kunci tersebut.
    • Pelacakan penggunaan kunci mungkin tidak lengkap untuk bucket yang berisi objek yang dilindungi dengan lebih dari 4.000 versi kunci unik.
  • Detail pelacakan penggunaan kunci hanya untuk tujuan informasi. Lakukan due diligence Anda sendiri menggunakan sumber lain sebelum melakukan perubahan yang dapat mengakibatkan pemadaman atau kehilangan data. Jangan menonaktifkan atau menghancurkan versi kunci hanya berdasarkan informasi pelacakan penggunaan kunci.

Jenis resource yang dilacak

Jenis resource berikut ini didukung:

    Layanan Resource
    Aplikasi AI discoveryengine.googleapis.com/DataStore
    AlloyDB untuk PostgreSQL alloydb.googleapis.com/Backup
    AlloyDB untuk PostgreSQL alloydb.googleapis.com/Cluster
    Hub 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
    Google Agentspace Enterprise discoveryengine.googleapis.com/DataStore
    Google Kubernetes Engine container.googleapis.com/Cluster
    Looker (Google Cloud core) looker.googleapis.com/Instance
    Memorystore for Redis 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
    Instance Vertex AI Workbench notebooks.googleapis.com/Instance
    Workflows workflows.googleapis.com/Workflow