Semua data metrik harus dienkripsi saat dalam pengiriman untuk memastikan keamanan. Komponen pemantauan perangkat dengan air gap Google Distributed Cloud (GDC) menyediakan enkripsi dan autentikasi saat transit melalui mutual Transport Layer Security (mTLS). Metode mTLS memverifikasi identitas kedua pihak dalam koneksi jaringan, yang mengonfirmasi bahwa mereka adalah orang yang mereka klaim.
Halaman ini menjelaskan cara menyiapkan mTLS untuk server metrik Anda.
Sebelum memulai
Untuk mendapatkan izin yang Anda perlukan untuk mengelola MonitoringTarget
resource kustom, minta Admin IAM Organisasi atau Admin IAM Project Anda untuk memberi Anda salah satu MonitoringTarget
peran terkait.
Bergantung pada tingkat akses dan izin yang Anda perlukan, Anda mungkin mendapatkan peran pembuat, editor, atau pelihat untuk resource ini di organisasi atau project. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan izin IAM.
Setelah mendapatkan izin yang diperlukan, selesaikan langkah-langkah berikut sebelum mengaktifkan enkripsi metrik:
- Deploy server metrik Anda.
- Kumpulkan metrik dari beban kerja Anda.
Pastikan resource kustom
MonitoringTarget
Anda menampilkan statusReady
, seperti dalam contoh berikut:apiVersion: monitoring.gdc.goog/v1 kind: MonitoringTarget [...] status: conditions: - lastTransitionTime: "2023-10-27T15:27:51Z" message: "" observedGeneration: 1 reason: Ready status: True type: Ready
Buat kueri dan lihat metrik di dasbor untuk mengonfirmasi bahwa server metrik Anda mengirimkan data yang diharapkan.
Pasang sertifikat
Workload Anda harus menggunakan sertifikat yang dibuat secara otomatis saat Anda mengaktifkan mTLS di resource kustom MonitoringTarget
. Tambahkan volume dan pemasangan volume untuk sertifikat ini menggunakan template berikut:
apiVersion: apps/v1
kind: Deployment # or StatefulSet
metadata:
name: "SERVICE_NAME"
spec:
template:
spec:
containers:
- name: "CONTAINER_NAME"
volumeMounts:
- mountPath: "/etc/ssl/MONITORING_TARGET_NAME-cert"
name: "MONITORING_TARGET_NAME-cert"
readOnly: true
volumes:
- name: "MONITORING_TARGET_NAME-cert"
secret:
secretName: "MONITORING_TARGET_NAME-cert"
[...]
Ganti kode berikut:
SERVICE_NAME
: nama objekDeployment
atauStatefulSet
Anda.CONTAINER_NAME
: nama container tempat Anda menambahkan pemasangan volume.MONITORING_TARGET_NAME
: nama resource kustomMonitoringTarget
. Nama rahasia didasarkan pada nama ini. Misalnya, resourcemy-mon-target
membuat nama rahasiamy-mon-target-cert
.
Metrik penayangan
Server metrik Anda harus menayangkan metrik dari server HTTP yang mendukung mTLS. Anda mungkin ingin mengenkripsi metrik dalam salah satu dari dua skenario berikut:
- Untuk aplikasi yang Anda miliki: Ubah kode sumber untuk mendukung mTLS dan konfigurasi server metrik dengan sertifikat mTLS.
- Untuk aplikasi yang bukan milik Anda: Lihat dokumentasi aplikasi
untuk mengaktifkan endpoint metrik HTTPS. Terapkan konfigurasi yang diperlukan, seperti
mengonfigurasi argumen command line atau men-deploy file
config
.
Mengaktifkan pengumpulan metrik mTLS
Tambahkan label berikut ke bagian metadata
dari resource kustom MonitoringTarget
untuk mengaktifkan pengumpulan metrik terenkripsi:
monitoring.gdc.goog/enable-mtls: "true"
Resource kustom harus terlihat seperti contoh berikut:
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
namespace: my-project-namespace
name: "SERVICE_NAME"
labels:
monitoring.gdc.goog/enable-mtls: "true" # Enable mTLS metrics collection
spec:
[...]
Untuk memverifikasi bahwa Anda telah mengaktifkan autentikasi mTLS, periksa apakah resource kustom MonitoringTarget
Anda menampilkan status Ready
untuk sertifikat dan secret sertifikat, seperti dalam contoh berikut:
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
[...]
status:
conditions:
- lastTransitionTime: "2023-11-09T11:15:10Z"
message: "admin,user-vm-1,user-vm-2,org-1-system"
observedGeneration: 2
reason: Ready
status: "True"
type: Ready
- lastTransitionTime: "2023-11-09T11:14:43Z"
message: "Certificate is ready"
observedGeneration: 2
reason: Ready
status: "True"
type: CertificateReady
- lastTransitionTime: "2023-11-09T11:15:10Z"
message: "Successfully created secret"
observedGeneration: 2
reason: Ready
status: "True"
type: CertificateSecretReady