Menyiapkan kunci enkripsi untuk server

Anda dapat menyiapkan kunci enkripsi untuk mengenkripsi sandi server. Kunci ini adalah kunci enkripsi yang dikelola pelanggan (CMEK) yang dapat Anda kelola menggunakan Cloud Key Management Service (Cloud KMS). Anda dapat menyetelnya saat menyediakan server baru atau saat membuat image ulang server yang sudah ada. Anda dapat menggunakan kunci enkripsi dengan beberapa server.

Menggunakan kunci enkripsi bersifat opsional. Namun, setelah menyiapkan kunci enkripsi, Anda harus menggunakannya. Anda tidak dapat mengubah setelan ini. Namun, Anda dapat mengubah kunci atau versinya.

Fitur ini hanya tersedia untuk Linux OS yang didukung oleh Solusi Bare Metal.

Sebelum memulai

  1. Buat kunci enkripsi dengan Cloud KMS.

    Untuk membuat kunci enkripsi, ikuti langkah-langkah berikut:

    1. Dalam project tempat Anda ingin membuat kunci, aktifkan Cloud KMS API.

      Lakukan ini hanya sekali per project.

    2. Tetapkan peran berikut ke akun layanan Solusi Bare Metal Anda. Lakukan ini hanya sekali per project.

      • roles/cloudkms.viewer: memastikan CryptoKeyVersion tersedia untuk digunakan.
      • roles/cloudkms.publicKeyViewer: mengambil kunci publik.

      Untuk mempelajari cara memberikan peran, lihat Memberikan peran pada resource.

      Untuk menetapkan peran ini, gunakan perintah gcloud projects add-iam-policy-binding.

      gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
      --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \
      --role roles/cloudkms.publicKeyViewer
      
      gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
      --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \
      --role roles/cloudkms.viewer
      

      Ganti kode berikut:

      • KMS_PROJECT_ID: project yang berisi kunci Cloud KMS Anda
      • PROJECT_NUMBER: project yang berisi server Solusi Bare Metal
    3. Membuat kunci dekripsi asimetris.

      Anda dapat membuat kunci dan versi sebanyak yang diperlukan.

Menyiapkan kunci enkripsi saat menyediakan server

Anda dapat menyiapkan kunci enkripsi untuk server Solusi Bare Metal baru sambil menyediakannya melalui formulir informasi Konsol Google Cloud.

Untuk menyiapkan kunci enkripsi saat menyediakan server, lihat Menggunakan formulir penerimaan konsol Google Cloud untuk memasukkan pilihan Anda.

Menyiapkan kunci enkripsi saat membuat ulang image server

Untuk menyiapkan kunci enkripsi saat membuat ulang image server, lihat Mengubah OS untuk server.

Melihat kunci enkripsi dan sandi server

Untuk melihat kunci enkripsi dan sandi server, ikuti langkah-langkah berikut:

Konsol

  1. Buka halaman Servers.

    Buka Server

  2. Klik nama server.

    Di halaman Server details, lihat kunci enkripsi di kolom Password encryption key.

  3. Untuk melihat akun pengguna dan sandi terenkripsi yang sesuai, buka bagian Akun Pengguna.

gcloud

Gunakan perintah gcloud alpha bms instances auth-info:

gcloud alpha bms instances auth-info SERVER_NAME --project=PROJECT_ID --region=REGION

Ganti kode berikut:

  • SERVER_NAME: nama server Solusi Bare Metal
  • PROJECT_ID: ID project
  • REGION: region server Solusi Bare Metal

Mendekripsi sandi

Untuk mendapatkan sandi mentah, ikuti langkah-langkah berikut:

  1. Dapatkan ciphertext tersebut. Gunakan perintah gcloud alpha bms instances auth-info.

    gcloud alpha bms instances auth-info SERVER_NAME \
    --project=PROJECT_ID \
    --region=REGION \
    --format='value(userAccounts.USERNAME.ENCRYPTED_PASSWORD_FILE)' | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
    

    Ganti kode berikut:

    • SERVER_NAME: nama server Solusi Bare Metal Anda
    • PROJECT_ID: ID project Solusi Bare Metal Anda
    • REGION: lokasi server Solusi Bare Metal Anda
    • USERNAME: nama pengguna akun yang terkait dengan sandi yang ingin Anda dekripsi. Nilainya adalah root atau customeradmin.
    • ENCRYPTED_PASSWORD_FILE: file tempat Anda menyimpan sandi yang dienkripsi. Untuk menghindari masalah dengan format sandi setelah menyalinnya, hapus spasi dan karakter baris baru ('\n').
    • CIPHERTEXT_FILE: nama file ciphertext

    Contoh:

    gcloud alpha bms instances auth-info my-instance \
    --region=europe-west3 \
    --project=project-testing \
    --format='value(userAccounts.customeradmin.encryptedPassword)' | tr -d ' \n' | base64 -d > ciphertext
    

    Untuk mendapatkan ciphertext dari sandi yang disalin dari Konsol Google Cloud, gunakan perintah berikut:

    cat ENCRYPTED_PASSWORD_FILE | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
    

    Ganti kode berikut:

    • ENCRYPTED_PASSWORD_FILE: file yang Anda gunakan untuk menyimpan sandi terenkripsi. Untuk menghindari masalah dengan format sandi setelah menyalinnya, hapus spasi dan karakter baris baru ('\n').
    • CIPHERTEXT_FILE: nama file ciphertext

    Contoh:

    cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
    
  2. Mendekripsi sandi. Ikuti langkah-langkah di Mendekripsi data.

Langkah selanjutnya