Membuat resource yang dilindungi menggunakan Kunci Otomatis Cloud KMS

Halaman ini menunjukkan cara membuat resource yang dilindungi menggunakan kunci yang dibuat oleh Kunci Otomatis Cloud KMS untuk enkripsi. Untuk mengetahui informasi selengkapnya tentang Tombol otomatis, lihat Ringkasan tombol otomatis.

Sebelum memulai

Sebelum dapat membuat resource yang dilindungi menggunakan Kunci Otomatis, Anda harus menyelesaikan langkah-langkah berikut sebagai persiapan:

  1. Jika Anda belum memiliki project resource dalam Autokey , maka Anda harus buat project untuk menyimpan resource yang akan dibuat.
  2. Untuk mendapatkan izin yang diperlukan, Anda perlu menggunakan {i>Autokey<i} untuk membuat {i> protected<i} minta administrator untuk memberi Anda Peran IAM Cloud KMS Autokey User (roles/cloudkms.autokeyUser) di folder atau project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

  3. Anda juga memerlukan izin pembuatan resource di folder Autokey atau pada project resource dalam folder. Untuk informasi selengkapnya tentang izin yang diperlukan untuk membuat setiap resource, lihat layanan dokumentasi tambahan. Anda dapat menemukan dokumentasi ini dengan mencari layanan di CMEK tabel integrasi dan membuka link untuk jenis resource yang yang ingin Anda buat.

Menggunakan Autokey dengan resource Compute Engine

Kunci otomatis membuat kunci baru untuk setiap disk, image, dan image mesin di lokasi yang sama dengan resource yang sedang dibuat.

Kunci otomatis tidak membuat kunci baru untuk snapshot. Snapshot harus menggunakan kunci yang sama dengan yang digunakan untuk mengenkripsi {i>disk<i}. Jika Anda membuat snapshot menggunakan Konsol Google Cloud, kunci enkripsi yang digunakan disk akan otomatis yang diterapkan ke snapshot. Jika Anda membuat snapshot menggunakan gcloud CLI, Terraform, atau Cloud KMS API, Anda harus mengidentifikasi kunci yang digunakan untuk mengenkripsi disk dan menggunakan kunci tersebut untuk mengenkripsi snapshot.

Untuk mengetahui informasi selengkapnya tentang penggunaan CMEK dengan snapshot, lihat Membuat snapshot dari disk yang dienkripsi dengan CMEK.

Membuat resource Compute Engine yang terlindungi

Konsol

Untuk membuat disk, selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Disk.

    Buka Disks

  2. Klik Create disk dan masukkan properti untuk disk baru.

  3. Di bagian Enkripsi, pilih Kunci Cloud KMS.

  4. Untuk Key type, pilih Cloud KMS with Autokey, lalu klik Minta kunci baru. Sebuah pesan akan muncul saat kunci Anda telah berhasil dibuat dan siap digunakan.

  5. Untuk menyelesaikan pembuatan disk, klik Create.

Anda dapat mengikuti proses serupa untuk membuat instance, image, dan resource image mesin.

Terraform

Contoh Terraform berikut membuat handle kunci dan menggunakan kunci yang ditampilkan untuk melindungi resource persistent disk baru:

resource "google_kms_key_handle" "my_key_handle" {
  provider               = google-beta
  project                = "RESOURCE_PROJECT_ID"
  name                   = "KEY_HANDLE"
  location               = "LOCATION"
  resource_type_selector = "compute.googleapis.com/Disk"
}

resource "google_compute_disk" "persistent_disk" {
  project = "RESOURCE_PROJECT_ID"
  name    = "DISK_NAME"
  type    = "pd-ssd"
  zone    = "ZONE"
  size    = 30
  physical_block_size_bytes = 4096
  disk_encryption_key {
    kms_key_self_link = google_kms_key_handle.my_key_handle.kms_key
  }
}

Ganti kode berikut:

  • RESOURCE_PROJECT_ID: project ID project resource dalam folder Autokey tempat Anda ingin membuat resource Anda
  • KEY_HANDLE: ID yang akan digunakan untuk tuas kunci.
  • LOCATION: lokasi tempat Anda ingin membuat item yang dilindungi resource Anda
  • DISK_NAME: nama disk baru.
  • ZONE: zona resource yang dilindungi. Ini harus menjadi zona di dalam lokasi tempat Anda membuat resource. Sebagai misalnya, jika Anda membuat resource di lokasi us-central1, zonanya bisa us-central1-a.

API

  1. Minta kunci Cloud KMS baru dengan membuat KeyHandle:

    curl -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: USER_PROJECT" \
        -H "Authorization: Bearer TOKEN" \
        -X POST https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles \
        -d '{"resource_type_selector": "RESOURCE_TYPE"}'
    

    Ganti kode berikut:

    • USER_PROJECT: project yang akan ditagih dengan biaya yang terkait dengan permintaan ini.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.
    • LOCATION: lokasi tempat Anda ingin membuat resource yang dilindungi.
    • RESOURCE_TYPE: jenis resource yang ingin Anda yang Anda buat—misalnya, compute.googleapis.com/Disk.

    Outputnya mirip dengan hal berikut ini:

    {
      "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata"
      }
    }
    

    Catat OPERATION_ID dari output. Anda memerlukan nilai ini untuk mendapatkan ID resource kunci yang dibuat.

  2. Temukan kunci Cloud KMS yang terkait dengan handle kunci tersebut:

    curl -H "X-Goog-User-Project: USER_PROJECT" \
        -H "Authorization: Bearer TOKEN" \
        -X GET https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
    

    Ganti kode berikut:

    • USER_PROJECT: project yang akan ditagih dengan biaya yang terkait dengan permintaan ini.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.
    • LOCATION: lokasi tempat Anda ingin membuat resource yang dilindungi.
    • OPERATION_ID: ID permintaan handle kunci operasi dari output langkah sebelumnya.

    Outputnya mirip dengan hal berikut ini:

    {
      "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle",
        "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE",
        "kmsKey": "projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME",
        "resourceTypeSelector": "RESOURCE_TYPE"
      }
    }
    

    Nilai elemen kmsKey dalam output adalah ID resource lengkap dari kunci yang dibuat oleh Autokey untuk resource ini. Anda dapat menggunakan ID resource dengan cara yang sama seperti Anda menggunakan ID resource untuk resource Cloud KMS.

  3. Buat disk terenkripsi menggunakan gcloud compute disks create , dengan Flag --kms-key:

    gcloud compute disks create DISK_NAME \
      --kms-key projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME
    

    Ganti kode berikut:

    • DISK_NAME: nama disk baru.
    • KEY_PROJECT_ID: project ID dari project kunci.
    • LOCATION: lokasi tempat Anda ingin membuat resource Anda
    • KEY_NAME: nama kunci yang ditampilkan dalam output dari ke langkah sebelumnya.

Menggunakan Kunci Otomatis dengan resource Cloud Storage

Kunci otomatis membuat kunci baru di lokasi yang sama dengan bucket. Kuncinya yang dibuat oleh Autokey, ditetapkan sebagai kunci default bucket.

Kunci otomatis tidak membuat kunci untuk objek. Secara {i>default<i}, objek yang dibuat di bucket menggunakan kunci default bucket. Jika Anda ingin mengenkripsi objek menggunakan selain kunci default bucket, Anda dapat membuat CMEK secara manual dan menggunakan kunci tersebut saat membuat objek.

Jika ingin mengubah kunci default yang ditetapkan ke bucket, Anda dapat menggunakan CMEK yang ada, termasuk kunci yang dibuat dengan {i>Autokey<i}.

Membuat resource Cloud Storage yang terlindungi

Konsol

  1. Di konsol Google Cloud, buka halaman Create a bucket.

    Buka Membuat bucket

  2. Ikuti petunjuk untuk Membuat bucket baru hingga Anda sampai di bagian Choose how to protection object data.

  3. Di bagian Choose how to protection object data, luaskan Data enkripsi, lalu pilih kunci Cloud KMS.

  4. Untuk Key type, pilih Cloud KMS with Autokey, lalu klik Minta kunci baru. Sebuah pesan akan muncul saat kunci Anda telah berhasil dibuat dan siap digunakan.

  5. Untuk menyelesaikan pembuatan bucket, klik Create.

Terraform

Contoh Terraform berikut membuat handle kunci dan menggunakan kunci yang ditampilkan untuk melindungi bucket penyimpanan baru:

resource "google_kms_key_handle" "my_key_handle" {
  provider               = google-beta
  project                = "RESOURCE_PROJECT_ID"
  name                   = "KEY_HANDLE"
  location               = "LOCATION"
  resource_type_selector = "storage.googleapis.com/Bucket"
}

resource "google_storage_bucket" "simple_bucket_name" {
  name                        = "BUCKET_NAME"
  location                    = "LOCATION"
  force_destroy               = true
  project                     = "RESOURCE_PROJECT_ID"
  uniform_bucket_level_access = true
  encryption {
    default_kms_key_name      = google_kms_key_handle.my_key_handle.kms_key
  }
}

Ganti kode berikut:

  • RESOURCE_PROJECT_ID: project ID project resource dalam folder Autokey tempat Anda ingin membuat resource Anda
  • KEY_HANDLE: ID yang akan digunakan untuk tuas kunci.
  • LOCATION: lokasi tempat Anda ingin membuat item yang dilindungi resource Anda
  • BUCKET_NAME: nama bucket baru.

API

  1. Minta kunci Cloud KMS baru dengan membuat KeyHandle:

    curl -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: USER_PROJECT" \
        -H "Authorization: Bearer TOKEN" \
        -X POST https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles \
        -d '{"resource_type_selector": "RESOURCE_TYPE"}'
    

    Ganti kode berikut:

    • USER_PROJECT: project yang akan ditagih dengan biaya yang terkait dengan permintaan ini.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.
    • LOCATION: lokasi tempat Anda ingin membuat resource yang dilindungi.
    • RESOURCE_TYPE: jenis resource yang ingin Anda yang Anda buat—misalnya, storage.googleapis.com/Bucket.

    Outputnya mirip dengan hal berikut ini:

    {
      "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata"
      }
    }
    

    Catat OPERATION_ID dari output. Anda memerlukannya untuk mendapatkan ID resource kunci yang dibuat.

  2. Temukan kunci Cloud KMS yang terkait dengan handle kunci tersebut:

    curl -H "X-Goog-User-Project: USER_PROJECT" \
        -H "Authorization: Bearer TOKEN" \
        -X GET https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
    

    Ganti kode berikut:

    • USER_PROJECT: project yang akan ditagih dengan biaya yang terkait dengan permintaan ini.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.
    • LOCATION: lokasi tempat Anda ingin membuat resource yang dilindungi.
    • OPERATION_ID: ID permintaan handle kunci operasi dari output langkah sebelumnya.

    Outputnya mirip dengan hal berikut ini:

    {
      "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle",
        "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE",
        "kmsKey": "projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME",
        "resourceTypeSelector": "RESOURCE_TYPE"
      }
    }
    

    Nilai elemen kmsKey dalam output adalah ID resource lengkap kunci yang dibuat oleh Autokey untuk resource ini. Anda dapat menggunakan ID resource ini dengan cara yang sama seperti Anda menggunakan ID resource untuk resource Cloud KMS lainnya.

  3. Membuat bucket terenkripsi menggunakan gcloud storage buckets create , dengan Flag --default-encryption-key:

    gcloud storage buckets create gs://BUCKET_NAME \
        --location=LOCATION \
        --default-encryption-key=projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME
    

    Ganti kode berikut:

    • BUCKET_NAME: nama bucket baru. Tujuan nama bucket harus mengikuti persyaratan penamaan bucket.
    • LOCATION: lokasi tempat Anda ingin membuat direktori VM dengan bucket.
    • KEY_PROJECT_ID: project ID dari project kunci.
    • LOCATION: lokasi tempat Anda ingin membuat resource Anda
    • KEY_NAME: nama kunci yang ditampilkan dalam output dari ke langkah sebelumnya.

Menggunakan Autokey dengan resource BigQuery

Cloud KMS tersedia dalam beberapa edisi BigQuery. Merek memastikan edisi BigQuery yang Anda gunakan kompatibel dengan Cloud KMS sebelum Anda mencoba menggunakan Kunci otomatis untuk melindungi resource BigQuery. Untuk mengetahui informasi selengkapnya tentang BigQuery edisi BigQuery, lihat Memahami edisi BigQuery.

Untuk setiap set data baru, Autokey membuat kunci baru, di lokasi yang sama sebagai resource itu sendiri, yang menjadi kunci default set data.

{i>Autokey<i} tidak membuat kunci untuk tabel, kueri, tabel sementara, atau jaringan. Secara default, resource ini dilindungi oleh kunci default set data. Jika Anda ingin melindungi resource dalam set data menggunakan kunci selain set data Anda dapat membuat CMEK secara manual dan menggunakan kunci tersebut saat membuat resource Anda

Untuk kueri dan tabel sementara yang tidak ada di dalam set data, gunakan project menggunakan kunci default. Gunakan kunci default project yang berbeda untuk setiap lokasi di project yang berisi resource BigQuery. Untuk mengetahui informasi selengkapnya tentang menggunakan kunci default project. Lihat Tetapkan kunci default project.

Untuk informasi selengkapnya tentang menggunakan CMEK dengan BigQuery, lihat Kunci Cloud KMS yang dikelola pelanggan.

Membuat resource BigQuery yang terlindungi

Konsol

Sebelum mencoba membuat set data BigQuery menggunakan Kunci otomatis, pastikan Anda memiliki izin yang diperlukan. Untuk selengkapnya informasi tentang cara membuat set data, lihat Membuat set data.

  1. Di Konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Ikuti petunjuk untuk Membuat set data hingga Anda akan membuka Opsi lanjutan &gt; Enkripsi.

  3. Di bagian Enkripsi, pilih Kunci Cloud KMS.

  4. Untuk Key type, pilih Cloud KMS with Autokey, lalu klik Minta kunci baru. Sebuah pesan akan muncul saat kunci Anda telah berhasil dibuat dan siap digunakan.

  5. Untuk menyelesaikan pembuatan set data, klik Create dataset.

Terraform

Contoh Terraform berikut membuat handle kunci dan menggunakan kunci yang ditampilkan untuk melindungi set data baru:

resource "google_kms_key_handle" "my_key_handle" {
  provider               = google-beta
  project                = "RESOURCE_PROJECT_ID"
  name                   = "test-key-handle"
  location               = "LOCATION"
  resource_type_selector = "bigquery.googleapis.com/Dataset"
}

resource "google_bigquery_dataset" "dataset" {
  project                     = "RESOURCE_PROJECT_ID"
  dataset_id                  = "DATASET_ID"
  friendly_name               = "DATASET_NAME"
  description                 = "DATASET_DESCRIPTION"
  location                    = "LOCATION"
  default_table_expiration_ms = 3600000

  default_encryption_configuration {
    kms_key_name = google_kms_key_handle.my_key_handle.kms_key
  }
}

Ganti kode berikut:

  • RESOURCE_PROJECT_ID: project ID untuk project resource dalam folder Autokey tempat Anda ingin membuat resource Anda
  • LOCATION: lokasi tempat Anda ingin membuat item yang dilindungi resource Anda
  • DATASET_ID: ID yang akan digunakan untuk set data baru.
  • DATASET_NAME: nama yang mudah dipahami manusia {i>dataset<i} aslinya.
  • DATASET_DESCRIPTION: deskripsi untuk yang baru {i>dataset<i} aslinya.

API

  1. Minta kunci Cloud KMS baru dengan membuat KeyHandle:

    curl -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: USER_PROJECT" \
        -H "Authorization: Bearer TOKEN" \
        -X POST https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles \
        -d '{"resource_type_selector": "RESOURCE_TYPE"}'
    

    Ganti kode berikut:

    • USER_PROJECT: project yang akan ditagih dengan biaya yang terkait dengan permintaan ini.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.
    • LOCATION: lokasi tempat Anda ingin membuat resource yang dilindungi.
    • RESOURCE_TYPE: jenis resource yang ingin Anda yang Anda buat—misalnya, bigquery.googleapis.com/Dataset.

    Outputnya mirip dengan hal berikut ini:

    {
      "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata"
      }
    }
    

    Catat OPERATION_ID dari output. Anda memerlukannya untuk mendapatkan ID resource kunci yang dibuat.

  2. Temukan kunci Cloud KMS yang terkait dengan handle kunci tersebut:

    curl -H "X-Goog-User-Project: USER_PROJECT" \
        -H "Authorization: Bearer TOKEN" \
        -X GET https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
    

    Ganti kode berikut:

    • USER_PROJECT: project yang akan ditagih dengan biaya yang terkait dengan permintaan ini.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.
    • LOCATION: lokasi tempat Anda ingin membuat resource yang dilindungi.
    • OPERATION_ID: ID permintaan handle kunci operasi dari output langkah sebelumnya.

    Outputnya mirip dengan hal berikut ini:

    {
      "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle",
        "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE",
        "kmsKey": "projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME",
        "resourceTypeSelector": "RESOURCE_TYPE"
      }
    }
    

    Nilai elemen kmsKey dalam output adalah ID resource lengkap kunci yang dibuat oleh Autokey untuk resource ini. Anda dapat menggunakan ID resource ini dengan cara yang sama seperti Anda menggunakan ID resource untuk resource Cloud KMS lainnya.

  3. Membuat set data terenkripsi menggunakan bq mk , dengan tanda --destination_kms_key.

    bq --location=LOCATION mk \
        --dataset \
        --default_kms_key=projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME \
        --default_table_expiration=TABLE_EXPIRATION \
        --description="DATASET_DESCRIPTION" \
        RESOURCE_PROJECT_ID:DATASET_ID
    

    Ganti kode berikut:

    • LOCATION: lokasi tempat Anda ingin membuat {i>dataset<i} aslinya.
    • KEY_PROJECT_ID: project ID dari project kunci.
    • KEY_NAME: nama kunci yang ditampilkan dalam output dari ke langkah sebelumnya.
    • TABLE_EXPIRATION: masa aktif default untuk dalam {i>dataset<i} ini, dalam hitungan detik.
    • DATASET_DESCRIPTION: deskripsi untuk yang baru {i>dataset<i} aslinya.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.
    • DATASET_ID: ID set data yang Anda membuat.

    Untuk informasi selengkapnya tentang alat bq, lihat Menjelajahi bq alat command line.

Menggunakan Autokey dengan resource Secret Manager

Kunci otomatis membuat satu kunci untuk melindungi semua secret dalam project yang sama dan lokasi. Saat kunci dirotasi, rahasia baru yang ditambahkan ke project akan menggunakan kunci versi utama.

Secret Manager hanya kompatibel dengan Kunci Otomatis Cloud KMS jika membuat resource menggunakan Terraform atau REST API.

Membuat resource Secret Manager yang dilindungi

Terraform

Contoh Terraform berikut membuat handle kunci dan menggunakan kunci yang ditampilkan untuk melindungi secret baru dengan replikasi otomatis:

resource "google_kms_key_handle" "my_key_handle" {
  provider               = google-beta
  project                = "RESOURCE_PROJECT_ID"
  name                   = "test-key-handle"
  location               = "global"
  resource_type_selector = "secretmanager.googleapis.com/Secret"
}

resource "google_secret_manager_secret" "my_secret" {
  project   = "RESOURCE_PROJECT_ID"
  secret_id = "SECRET_ID"

  replication {
    auto {
      customer_managed_encryption {
        kms_key_name = google_kms_key_handle.my_key_handle.kms_key
      }
    }
  }
}

Ganti kode berikut:

  • RESOURCE_PROJECT_ID: project ID untuk project resource dalam folder Autokey tempat Anda ingin membuat resource Anda
  • SECRET_ID: ID yang akan digunakan untuk secret baru.

Jika Anda mencoba membuat {i>key handle<i} untuk suatu rahasia dalam proyek yang sama dan lokasi di mana {i>key handle <i}sudah ada, pesan {i>error<i} akan mengembalikan detail dari {i>key handle <i}yang ada. Jika ini terjadi, pastikan bahwa Anda hanya memiliki satu blok yang membuat {i>key handle<i}. Anda dapat menggunakan kembali {i>key handle <i}menggunakan ID-nya (KEY_HANDLE) untuk membuat secret tambahan yang seharusnya berbagi kunci.

API

  1. Minta kunci Cloud KMS baru dengan membuat KeyHandle:

    curl -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: USER_PROJECT" \
        -H "Authorization: Bearer TOKEN" \
        -X POST https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles \
        -d '{"resource_type_selector": "RESOURCE_TYPE"}'
    

    Ganti kode berikut:

    • USER_PROJECT: project yang akan ditagih dengan biaya yang terkait dengan permintaan ini.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.
    • LOCATION: lokasi tempat Anda ingin membuat resource yang dilindungi.
    • RESOURCE_TYPE: jenis resource yang ingin Anda yang Anda buat—misalnya, secretmanager.googleapis.com/Secret.

    Outputnya mirip dengan hal berikut ini:

    {
      "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata"
      }
    }
    

    Catat OPERATION_ID dari output. Anda memerlukannya untuk mendapatkan ID resource kunci yang dibuat.

    Jika Anda mencoba membuat handle kunci untuk secret dalam project yang sama dan lokasi di mana {i>key handle<i} sudah ada, maka pesan {i>error<i} mengembalikan detail {i>key handle<i} yang ada. Dalam kasus ini, lewati langkah berikutnya dan gunakan ID resource kunci di kolom existingKmsKey untuk melindungi secret baru Anda.

  2. Temukan kunci Cloud KMS yang terkait dengan handle kunci tersebut:

    curl -H "X-Goog-User-Project: USER_PROJECT" \
        -H "Authorization: Bearer TOKEN" \
        -X GET https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
    

    Ganti kode berikut:

    • USER_PROJECT: project yang akan ditagih dengan biaya yang terkait dengan permintaan ini.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.
    • LOCATION: lokasi tempat Anda ingin membuat resource yang dilindungi.
    • OPERATION_ID: ID permintaan handle kunci operasi dari output langkah sebelumnya.

    Outputnya mirip dengan hal berikut ini:

    {
      "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle",
        "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE",
        "kmsKey": "projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME",
        "resourceTypeSelector": "RESOURCE_TYPE"
      }
    }
    

    Nilai elemen kmsKey dalam output adalah ID resource lengkap kunci yang dibuat oleh Autokey untuk resource ini. Anda dapat menggunakan ID resource ini dengan cara yang sama seperti Anda menggunakan ID resource untuk resource Cloud KMS lainnya.

  3. Membuat secret terenkripsi dengan replikasi otomatis menggunakan Perintah gcloud secrets create, dengan flag --kms-key-name.

    gcloud secrets create "SECRET_ID" \
        --replication-policy "automatic" \
        --kms-key-name "projects/KEY_PROJECT_ID/locations/global/keyRings/autokey/cryptoKeys/KEY_NAME" \
        --project "RESOURCE_PROJECT_ID"
    

    Ganti kode berikut:

    • SECRET_ID: ID yang akan digunakan untuk secret baru.
    • KEY_PROJECT_ID: project ID dari project kunci.
    • KEY_NAME: nama kunci yang ditampilkan dalam output dari ke langkah sebelumnya.
    • RESOURCE_PROJECT_ID: project ID resource project dalam folder Autokey tempat Anda ingin membuat resource yang dilindungi.

Langkah selanjutnya