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 menetapkannya saat menyediakan server baru atau saat membuat ulang server yang ada. Anda dapat menggunakan kunci enkripsi dengan beberapa server.

Penggunaan 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 OS Linux yang didukung oleh Solusi Bare Metal.

Sebelum memulai

  1. Dengan Cloud KMS, buat kunci enkripsi.

    Untuk membuat kunci enkripsi, ikuti langkah-langkah berikut:

    1. Di 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: memverifikasi bahwa 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 Anda
    3. Buat 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 saat menyediakannya melalui Google Cloud formulir penerimaan konsol.

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 Server.

    Buka Server

  2. Klik nama server.

    Di halaman Detail server, lihat kunci enkripsi di kolom Kunci enkripsi sandi.

  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. 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
    • PROJECT_ID: ID project Solusi Bare Metal Anda
    • REGION: lokasi server Solusi Bare Metal
    • 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 terenkripsi. Untuk menghindari masalah pada 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 tempat Anda 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. Dekripsi sandi. Ikuti langkah-langkah di Mendekripsi data.

Langkah selanjutnya