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 berkomunikasi secara eksklusif 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.
Salah satu mode CA yang dapat Anda gunakan adalah CA yang dikelola pelanggan. Anda dapat menggunakan CA yang dikelola pelanggan untuk instance Memorystore for Valkey. Jika perlu mengelola CA Anda sendiri karena alasan kepatuhan, Anda dapat menggunakan mode CA ini. Sebagai bagian dari penggunaan mode ini, Anda harus menyiapkan kumpulan CA Anda sendiri yang dihosting di Certificate Authority Service.
Sebelum dapat mengonfigurasi instance untuk menggunakan CA yang dikelola pelanggan, Anda harus membuat kumpulan CA di region yang sama dengan instance dan setidaknya satu CA dalam kumpulan tersebut menggunakan CA Service. CA dapat berupa CA root atau CA subordinat. Anda juga dapat membuat CA subordinat di CA Service, lalu menghubungkan CA subordinat ke CA root eksternal.
Saat membuat instance, Anda menentukan kumpulan CA. Sebagai bagian dari konfigurasi ini, akun layanan Memorystore for Valkey khusus project memiliki izin untuk menggunakan kumpulan CA. Akun layanan meminta CA dari kumpulan dan Memorystore for Valkey menggunakan CA tersebut untuk menandatangani sertifikat server untuk instance.
Sebelum memulai
Sebelum menggunakan mode CA yang dikelola pelanggan, pastikan Anda memenuhi persyaratan berikut.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat kumpulan CA dan CA, minta administrator untuk memberi Anda peran IAM Pengelola Operasi CA Service (roles/privateca.caManager) di CA Service.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Alur kerja untuk menggunakan CA yang dikelola pelanggan
Untuk menggunakan CA yang dikelola pelanggan, alur kerjanya adalah sebagai berikut:
- Buat kumpulan CA. Sebelum dapat mengonfigurasi instance untuk menggunakan CA yang dikelola pelanggan, Anda harus membuat kumpulan CA di CA Service. Kumpulan ini harus berada di region yang sama dengan instance Anda.
- Buat CA di kumpulan CA. Setelah membuat kumpulan CA, Anda harus menggunakan CA Service untuk membuat setidaknya satu CA dalam kumpulan.
- Delegasikan izin ke akun layanan Memorystore for Valkey untuk menerbitkan sertifikat server dengan CA dari kumpulan CA yang Anda buat.
- Buat instance untuk menggunakan CA yang dikelola pelanggan.
Membuat kumpulan CA
Anda dapat membuat kumpulan CA di CA Service dalam project yang sama tempat Anda berencana membuat instance Memorystore for Valkey, atau Anda dapat membuat kumpulan CA di project lain. Namun, jika Anda membuat kumpulan CA di project lain, Kontrol Layanan VPC mungkin akan memblokir Anda untuk membuat instance apa pun, bergantung pada kebijakan organisasi Anda. Untuk memperbaiki masalah ini, pastikan project yang menghosting kumpulan CA dan CA, serta project yang menghosting Memorystore for Valkey berada dalam perimeter layanan yang sama. Untuk mengetahui informasi selengkapnya, lihat Detail dan konfigurasi perimeter layanan dan Mengelola perimeter layanan.
Untuk membuat kumpulan CA, ikuti petunjuk dalam Membuat kumpulan CA. Anda dapat menerima nilai default untuk kumpulan CA, dengan setelan konfigurasi wajib berikut:
- Buat kumpulan CA di region yang sama tempat Anda berencana membuat instance. Untuk mengetahui daftar region yang didukung Memorystore for Valkey, lihat Lokasi Memorystore for Valkey.
- Izinkan permintaan sertifikat berbasis konfigurasi.
- Izinkan nama DNS dalam nama alternatif subjek (SAN). Saat mengonfigurasi batasan identitas kumpulan CA, jangan tetapkan batasan apa pun pada format nama DNS yang mungkin bertentangan dengan apa yang mungkin ditambahkan Memorystore for Valkey ke SAN.
Membuat CA di kumpulan CA
Buat setidaknya satu CA di kumpulan CA yang Anda buat.
Anda dapat membuat CA root atau CA subordinat.
Untuk membuat CA root, ikuti petunjuk dalam Membuat CA root. Anda dapat menerima nilai default untuk CA, tetapi pastikan Anda membuat CA dalam status Diaktifkan.
Saat mengonfigurasi Ukuran dan algoritma kunci CA, Anda dapat memilih ukuran dan algoritma kunci apa pun.
Jika Anda membuat CA subordinat, Anda harus membuat dan mengonfigurasi CA root terlebih dahulu.
Untuk membuat CA subordinat di CA Service, ikuti petunjuk dalam Membuat CA subordinat.
Untuk membuat CA subordinat dari CA root eksternal, ikuti petunjuk dalam Membuat CA subordinat dari CA eksternal.
Memberikan akses akun layanan ke kumpulan CA
Untuk memastikan akun layanan Memorystore for Valkey Anda memiliki izin untuk meminta dan menandatangani sertifikat untuk instance Anda, berikan peran roles/privateca.certificateRequester ke akun layanan untuk kumpulan CA yang Anda buat.
Akun layanan ini memiliki format berikut:
service-PROJECT_NUMBER@cloud-memorystore.iam.gserviceaccount.com. Ganti PROJECT_NUMBER dengan nomor project dari project Anda. Google Cloud
gcloud
Untuk memberikan akses akun layanan ke kumpulan CA, gunakan gcloud privateca pools add-iam-policy-binding
perintah.
gcloud privateca pools add-iam-policy-binding CA_POOL_ID \ --project=PROJECT_ID \ --location=REGION_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME \ --role=roles/privateca.certificateRequester
Lakukan penggantian berikut:
- CA_POOL_ID: ID kumpulan CA yang Anda buat.
- PROJECT_ID: ID project tempat Anda ingin membuat instance. Google Cloud
- REGION_ID: region tempat kumpulan CA berada.
- SERVICE_ACCOUNT_NAME: nama akun layanan Memorystore for Valkey. Nomor project untuk akun layanan ini sama dengan nomor project yang terkait dengan PROJECT_ID.
Membuat instance yang menggunakan CA yang dikelola pelanggan
Konsol
Ikuti langkah-langkah di Membuat instance.
gcloud
Untuk membuat instance yang menggunakan CA yang dikelola pelanggan, 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=customer-managed-cas-ca \
--server-ca-pool="projects/CA_POOL_PROJECT_ID/locations/REGION_ID/caPools/CA_POOL_ID"
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 harus dimulai dengan huruf kecil, dan diakhiri dengan huruf kecil atau angka.
REGION_ID: region tempat Anda ingin instance berada. Anda harus membuat instance di region yang sama dengan kumpulan CA yang Anda buat.
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. Nilai yang diterima adalah:
shared-core-nanostandard-smallhighmem-mediumhighmem-xlarge
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, danVALKEY_9_0. Jika Anda tidak menentukan nilai,VALKEY_9_0adalah 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.
CA_POOL_PROJECT_ID: ID kumpulan CA yang Anda buat.
REGION_ID: region tempat kumpulan CA berada. Instance yang Anda buat dan kumpulan CA harus berada di region yang sama.
CA_POOL_ID: ID kumpulan CA yang Anda buat.
Parameter server-ca-mode mewakili mode CA untuk instance. Untuk CA yang dikelola pelanggan, customer-managed-cas-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=customer-managed-cas-ca \
--server-ca-pool="projects/my-CA-pool-project/locations/us-central1/caPools/my-CA-pool"
Merotasi sertifikat server instance
Selain Memorystore for Valkey yang melakukan rotasi sertifikat sisi server mingguan, Anda dapat merotasi sertifikat sesuai permintaan.
gcloud
Untuk merotasi sertifikat server untuk semua mesin dalam instance, gunakan
gcloud memorystore instances update
perintah.
gcloud memorystore instances update INSTANCE_ID \ --location=REGION_ID \ --rotate-server-certificate
Lakukan penggantian berikut:
- INSTANCE_ID: ID instance yang berisi mesin yang sertifikat servernya ingin Anda rotasi
- REGION_ID: region tempat instance berada
Contoh:
gcloud memorystore instances update my-instance \ --location=us-central1 \ --rotate-server-certificate
Batasan
Batasan berikut berlaku saat menggunakan CA yang dikelola pelanggan dengan Memorystore for Valkey:
- Setelah mengonfigurasi CA yang dikelola pelanggan untuk instance, Anda tidak dapat mengubah konfigurasi. Misalnya, Anda tidak dapat mengubah ID kumpulan CA untuk instance.
- Jangan hapus kumpulan CA yang dikelola pelanggan atau cabut izin akun layanan yang terkait dengan CA. Jika Anda melakukannya, sertifikat server tidak dapat dirotasi dan akan berakhir masa berlakunya. Akibatnya, aplikasi klien Anda tidak akan dapat terhubung ke instance.
Memecahkan masalah
Bagian ini mencantumkan pesan error yang mungkin Anda terima saat menggunakan CA yang dikelola pelanggan dan menyertakan tips untuk memecahkan masalah pesan ini.
| Pesan error | Penyebab | Pemecahan masalah |
|---|---|---|
FAILED_PRECONDITION: GetClusterCertificateAuthority not
supported for customer-managed CAs |
Jika Anda menggunakan CA yang dikelola pelanggan, Anda tidak dapat menggunakan Memorystore for Valkey untuk mengambil sertifikat CA. | Untuk mendapatkan sertifikat CA untuk CA yang dikelola pelanggan, Anda harus menggunakan CA Service. |
Server certificate rotation can only be triggered for
customer-managed CAs. |
Anda mencoba merotasi sertifikat server untuk instance, tetapi mode CA instance adalah per instance atau bersama. | Anda tidak dapat merotasi sertifikat server kecuali jika mode yang Anda gunakan untuk instance adalah yang dikelola pelanggan. |
Invalid format for server CA pool: {CA pool resource}. Expected
projects/{project}/locations/{location}/caPools/{caPool}. |
Kumpulan CA yang Anda gunakan untuk membuat instance memiliki format yang tidak valid | Untuk kumpulan CA, gunakan format ini: projects/CA_POOL_PROJECT_ID/locations/REGION_ID/ caPools/CA_POOL_ID |
The instance/cluster's server CA pool must be in the same region
as the instance/cluster. CA Pool region: {CA pool region}, Instance/cluster
region: {cluster region}. |
Anda mencoba membuat instance yang berada di region yang berbeda dari kumpulan CA. | Pastikan instance yang Anda buat dan kumpulan CA Anda berada di region yang sama. |
Request is prohibited by organization's policy for CA Pool
{CA pool ID}. |
Project yang menghosting kumpulan CA dan project yang menghosting instance tidak berada dalam perimeter layanan yang sama. Google Cloud | Konfigurasi Kontrol Layanan VPC sehingga project berada dalam perimeter layanan yang sama perimeter. |
Permission privateca.certificates.create denied on {CA pool ID}.
Make sure that you granted the roles/privateca.certificateRequester role
to the service account {P4SA email}. |
Akun layanan Memorystore for Valkey tidak memiliki peran
roles/privateca.certificateRequester untuk kumpulan CA. Akibatnya, Memorystore for Valkey tidak dapat membuat sertifikat server. |
Berikan peran roles/privateca.certificateRequester ke
akun layanan. Untuk mengetahui informasi selengkapnya, lihat Memberikan akses akun layanan
ke kumpulan CA. |
Resource {CA pool ID} not found. |
Memorystore for Valkey tidak dapat menemukan kumpulan CA yang Anda tentukan saat Anda mencoba membuat instance. | Periksa project ID, lokasi, dan nama kumpulan CA. |
There are no enabled CAs in the CaPool {CA pool ID}. Please
ensure that there is at least one enabled Certificate Authority to issue a
certificate. |
Tidak ada CA yang diaktifkan di kumpulan CA. Memorystore for Valkey tidak dapat membuat sertifikat server untuk instance. | Pastikan Anda membuat setidaknya satu CA di kumpulan CA, dan bahwa CA berada dalam status Diaktifkan. |
Quota exhausted for CA Service. Check quotas
for the project hosting the CA Pool: {CA pool ID}. |
Anda melampaui kuota untuk CA Service di Google Cloud project yang menghosting kumpulan CA. Memorystore for Valkey tidak dapat melakukan operasi yang memerlukan layanan ini. | Periksa kuota untuk CA Service di project Anda. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas. |
server_ca_pool must be provided when server_ca_mode is
SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. |
Anda mencoba membuat instance yang menggunakan mode CA yang dikelola pelanggan. Namun, Anda tidak memberikan informasi tentang kumpulan CA. | Tentukan project ID, lokasi, dan nama kumpulan CA. |
server_ca_pool must not be provided when server_ca_mode is not SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. |
Anda mencoba membuat instance yang menggunakan mode CA per instance atau
bersama. Mode CA ini tidak menggunakan server_ca_pool
parameter. |
Anda tidak dapat menggunakan parameter ini kecuali jika mode CA adalah yang dikelola pelanggan. |