Mengenkripsi metrik dari aplikasi Anda

Semua data metrik harus dienkripsi dalam pengiriman untuk memastikan keamanan. Komponen pemantauan Google Distributed Cloud (GDC) yang terisolasi menyediakan enkripsi dan autentikasi dalam pengiriman melalui mutual Transport Layer Security (mTLS). Metode mTLS memverifikasi identitas kedua pihak dalam koneksi jaringan, sehingga mengonfirmasi bahwa mereka adalah orang 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 IAM Organisasi Anda untuk meminta peran berikut:

  • MonitoringTarget PA Creator (monitoringtarget-pa-creator): membuat resource kustom MonitoringTarget.
  • MonitoringTarget PA Editor (monitoringtarget-pa-editor): mengedit atau mengubah resource kustom MonitoringTarget.
  • MonitoringTarget PA Viewer (monitoringtarget-pa-viewer): melihat resource kustom MonitoringTarget.

Meminta peran project IAM

Hubungi Admin IAM Project Anda untuk meminta peran berikut:

  • MonitoringTarget Editor (monitoringtarget-editor): mengedit atau mengubah resource kustom MonitoringTarget di namespace project.
  • MonitoringTarget Viewer (monitoringtarget-viewer): melihat resource kustom MonitoringTarget di namespace project.

Setelah mendapatkan izin yang diperlukan, selesaikan langkah-langkah berikut sebelum mengaktifkan enkripsi metrik:

  1. Deploy server metrik Anda.
  2. Kumpulkan metrik dari beban kerja Anda.
  3. Pastikan resource kustom MonitoringTarget Anda menampilkan status Ready, 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
    
  4. Buat kueri dan lihat metrik di dasbor untuk mengonfirmasi bahwa server metrik Anda mengirimkan data yang diharapkan.

Memasang sertifikat

Beban kerja Anda harus menggunakan sertifikat yang otomatis dibuat 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 objek Deployment atau StatefulSet Anda.
  • CONTAINER_NAME: nama container tempat Anda menambahkan pemasangan volume.
  • MONITORING_TARGET_NAME: nama resource kustom MonitoringTarget Anda. Nama secret didasarkan pada nama ini. Misalnya, resource my-mon-target membuat nama secret my-mon-target-cert.

Menayangkan metrik

Server metrik Anda harus menayangkan metrik dari server HTTP yang mengaktifkan 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 tidak Anda miliki**: 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 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