Semua data metrik harus dienkripsi dalam pengiriman untuk memastikan keamanan. Komponen pemantauan Google Distributed Cloud (GDC) dengan air gap menyediakan enkripsi dalam pengiriman dan autentikasi melalui mutual Transport Layer Security (mTLS). Metode mTLS memverifikasi identitas kedua pihak dalam koneksi jaringan, sehingga mengonfirmasi bahwa mereka adalah pihak yang mereka klaim.
Halaman ini menjelaskan cara menyiapkan mTLS untuk server metrik Anda.
Sebelum memulai
Untuk mengelola resource kustom MonitoringTarget, Anda harus memiliki izin yang diperlukan.
Meminta peran organisasi IAM
Hubungi Admin Organisasi IAM Anda untuk meminta peran berikut:
- MonitoringTarget PA Creator (
monitoringtarget-pa-creator): membuat resource kustomMonitoringTarget. - MonitoringTarget PA Editor (
monitoringtarget-pa-editor): mengedit atau mengubah resource kustomMonitoringTarget. - MonitoringTarget PA Viewer (
monitoringtarget-pa-viewer): melihat resource kustomMonitoringTarget.
Meminta peran project IAM
Hubungi IAM Project Admin Anda untuk meminta peran berikut:
- MonitoringTarget Editor (
monitoringtarget-editor): mengedit atau mengubah resource kustomMonitoringTargetdi namespace project. - MonitoringTarget Viewer (
monitoringtarget-viewer): melihat resource kustomMonitoringTargetdi namespace project.
Setelah mendapatkan izin yang diperlukan, selesaikan langkah-langkah berikut sebelum mengaktifkan enkripsi metrik:
- Deploy server metrik Anda.
- Mengumpulkan metrik dari workload Anda.
Pastikan resource kustom
MonitoringTargetAnda 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: ReadyBuat kueri dan lihat metrik di dasbor untuk mengonfirmasi bahwa server metrik Anda mengirimkan data yang diharapkan.
Memasang sertifikat
Workload Anda harus menggunakan sertifikat yang otomatis dibuat saat Anda mengaktifkan mTLS pada 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 objekDeploymentatauStatefulSetAnda.CONTAINER_NAME: nama container tempat Anda menambahkan pemasangan volume.MONITORING_TARGET_NAME: nama resource kustomMonitoringTargetAnda. Nama secret didasarkan pada nama ini. Misalnya, resourcemy-mon-targetmembuat nama secretmy-mon-target-cert.
Metrik penyajian
Server metrik Anda harus menyajikan 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 konfigurasikan 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 Anda 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, pastikan 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