Mengamankan data Anda dengan menggunakan Otoritas Sertifikat (CA) per instance

Anda dapat mengenkripsi semua data yang berpindah antara aplikasi klien dan Memorystore for Valkey dengan aman. Ini adalah enkripsi dalam pengiriman. Dengan menggunakan enkripsi dalam pengiriman, semua traffic Valkey dienkripsi melalui protokol Transport Layer Security (TLS). Hal ini memastikan bahwa semua data yang berpindah antara aplikasi dan Memorystore for Valkey tetap bersifat rahasia dan tidak dirusak.

Saat enkripsi dalam pengiriman diaktifkan, klien Valkey hanya berkomunikasi melalui koneksi yang aman. Klien Valkey yang tidak dikonfigurasi untuk TLS akan diblokir. Jika Anda memilih untuk menggunakan enkripsi dalam pengiriman, Anda bertanggung jawab untuk memastikan bahwa klien Valkey dapat menggunakan protokol TLS.

Instance yang menggunakan enkripsi dalam pengiriman memiliki Certificate Authority (CA). Anda menggunakan CA untuk mengautentikasi sertifikat mesin di instance Anda.

Salah satu mode CA yang dapat Anda gunakan adalah CA per instance. Memorystore for Valkey menyediakan setiap instance dengan infrastruktur CA uniknya sendiri. Untuk mengakses instance dengan aman, Anda harus mengonfigurasi aplikasi klien agar mempercayai hierarki CA ini. Hal ini melibatkan proses mendownload dan menginstal sertifikat CA di setiap klien yang mengakses instance.

Membuat instance yang menggunakan CA per instance

Konsol

Ikuti langkah-langkah di Membuat instance.

gcloud

Untuk membuat instance yang menggunakan CA per instance, gunakan perintah gcloud memorystore instances create.

gcloud memorystore instances create INSTANCE_ID \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_ID/global/networks/NETWORK_ID", "projectId": "PROJECT_ID"}}]}]' \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--engine-version=ENGINE_VERSION \
--mode=MODE \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca

Lakukan penggantian berikut:

  • INSTANCE_ID: ID instance yang Anda buat. ID instance harus terdiri dari 1 hingga 63 karakter, dan hanya menggunakan huruf kecil, angka, atau tanda hubung. ID instance harus diawali dengan huruf kecil, dan diakhiri dengan huruf kecil atau angka.

  • REGION_ID: region tempat Anda ingin instance berada.

  • PROJECT_ID: ID project tempat Anda ingin membuat instance.

  • NETWORK_ID: ID jaringan yang ingin Anda gunakan untuk membuat instance.

  • REPLICA_COUNT: jumlah replika (per shard). Nilai yang diterima adalah 0-5.

  • NODE_TYPE: jenis node untuk instance.

  • SHARD_COUNT: jumlah shard dalam instance. Jumlah shard menentukan kapasitas memori total untuk menyimpan data instance. Untuk mengetahui informasi selengkapnya tentang spesifikasi instance, lihat Spesifikasi instance dan node.

  • ENGINE_VERSION: versi instance. Nilai yang diterima untuk parameter ini adalah VALKEY_7_2, VALKEY_8_0, dan VALKEY_9_0. Jika Anda tidak menentukan nilai, VALKEY_9_0 adalah nilai default.

  • MODE: menentukan apakah instance adalah Cluster Mode Enabled atau Cluster Mode Disabled. Jika kolom ini dihilangkan, instance akan ditetapkan secara default ke Cluster Mode Enabled. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan mode cluster.

Parameter server-ca-mode mewakili mode CA untuk instance. Untuk CA per instance, google-managed-per-instance-ca adalah nilai untuk parameter. Jika Anda tidak menggunakan parameter ini, mode CA default adalah per instance.

Contoh:

gcloud memorystore instances create my-instance \
--location=us-central1 \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/my-project/global/networks/my-network", "projectId": "my-project"}}]}] \
--replica-count=1 \
--node-type=highmem-medium \
--shard-count=3 \
--engine-version=VALKEY_9_0 \
--mode=CLUSTER \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca

Mendownload CA

Jika Anda mengaktifkan enkripsi dalam pengiriman untuk instance, sertifikat CA akan muncul saat Anda menggunakan perintah get-certificate-authority.

gcloud memorystore instances get-certificate-authority INSTANCE_ID

Ganti INSTANCE_ID dengan ID instance.

Isi respons mencakup sertifikat untuk semua CA yang berlaku.

Menginstal sertifikat CA di klien

Anda harus menginstal sertifikat CA di klien yang terhubung ke instance. Bergantung pada jenis klien, penginstalan sertifikat CA mungkin berbeda-beda.

Untuk menginstal sertifikat CA di VM Linux Compute Engine, lakukan hal berikut:

  1. Gunakan SSH untuk terhubung ke klien Linux Compute Engine.

  2. Di klien, gunakan perintah berikut untuk membuat file server_ca.pem:

    sudo vim /tmp/server_ca.pem
    
  3. Unduh CA dan tempelkan ke dalam server_ca.pem file.

    Anda harus memformat teks CA dengan benar. File server_ca.pem mungkin muncul, sebagai berikut:

    -----BEGIN CERTIFICATE-----
    MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx
    NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n
    bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH
    b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1
    MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx
    OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk
    aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw
    ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H
    8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0
    3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m
    CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh
    1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3
    84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz
    AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB
    AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7
    xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT
    wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn
    662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG
    rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g
    lEtWs4V/YBhKA56CW6ASZS8=
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkYjg4
    ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdhMzM4NmIwZmU4MTEwLwYDVQQDEyhHb29n
    bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH
    b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE4MjEzMTI3WhcNMzAwOTE2
    MjEzMjI3WjCBhTEtMCsGA1UELhMkYjg4ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdh
    MzM4NmIwZmU4MTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk
    aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw
    ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEO4Zs/So5DA6wtftkAElD
    8BVREob4gby2mGBYAtd3JJQKFC+zIqCf2DhrWihrCeXhsdsZqJUF16E3MsCCWS2T
    UWt6T37zObU2fzKmb7X+TSw1tunIUcIXwWzoMhqdGrIvfI9guMbF+KssQIjDMs9M
    G/hY6cY1NB5THOxXqcxzYrwSKB1EE160EDz4RgKAYQhw7AyVOBBAbWqA5pTEDuUy
    qpsz+NFpKYTwaeTpzil0xIl0JJS3DOd4G7ZnMG2wFT2j3wt+P0SkAPuOWgmX82iO
    gGmKoaCh3KcICie/rZRTfsRPjMm+yswRQRDeLB5eoMmH+gbUInVZU0qOJ/7gOYEb
    AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB
    AF4xlEbwLUK5VjoKlJBtKXLYrYcW+AbQLhZQFP8exE8bOW7p39h+5J0nl3ItPxu6
    97BCt1P5TFisba8pBxaExiDsYmjKQrhtizMkzl5h9hGksOgoLlAqaaxfA97+Q9Tq
    5gaYChESur/159Z3jiM47obKoZmHfgSgr//7tjII7yZxUGhOjIVffv/fEa4aixqM
    0yH1V1s8hWHZeui2VFrHmTxY20IH9ktyedjSUgnFXzsEH6sbR18p0wBZqyrrtURs
    DaUIeoOHfHgEJM8k/wphSJI0V6pMC6nax2JhexLTRiUsiGTLRDe3VtsdWqS2DLa9
    9DmrfdF0eFrfWw3VRNLwwXg=
    -----END CERTIFICATE-----
    

    Untuk memformat teks dalam file dengan benar, gunakan panduan berikut:

    • Salin seluruh CA, termasuk baris -----BEGIN CERTIFICATE----- dan
      -----END CERTIFICATE-----.

    • Pastikan teks CA sepenuhnya rata kiri. Pastikan tidak ada spasi di depan baris CA.

    • Tambahkan setiap CA di baris baru. Pastikan tidak ada baris kosong di antara CA.

Mengonfigurasi klien untuk enkripsi dalam pengiriman

Klien yang Anda gunakan untuk terhubung ke instance harus mendukung TLS atau menggunakan sidecar pihak ketiga untuk mengaktifkan TLS.

Jika klien Anda mendukung TLS, konfigurasikan klien untuk mengarah ke alamat IP instance, port 6379, dan file yang berisi CA. Anda dapat melihat contoh cara terhubung ke instance Cluster Mode Enabled atau Cluster Mode Disabled di Memorystore for Valkey yang mengaktifkan enkripsi dalam pengiriman.

Mengelola rotasi CA

Sebaiknya instal semua sertifikat CA yang dapat didownload di klien yang mengakses instance.

Menginstal sertifikat CA terbaru secara berkala memastikan Anda memiliki sertifikat yang diperlukan saat Memorystore for Valkey merotasi CA. Selama rotasi ini, CA yang ada dan CA baru akan aktif.

Contoh kode untuk terhubung ke instance yang menggunakan enkripsi dalam pengiriman

Untuk melihat contoh kode tentang cara menyiapkan library klien untuk terhubung ke instance yang menggunakan enkripsi dalam pengiriman, lihat Contoh kode untuk autentikasi IAM dan enkripsi dalam pengiriman.