Tutti i dati delle metriche devono essere criptati in transito per garantire la sicurezza. Il componente di monitoraggio dell'appliance con air gap di Google Distributed Cloud (GDC) fornisce la crittografia in transito e l'autenticazione tramite TLS (Transport Layer Security) reciproco (mTLS). Il metodo mTLS verifica l'identità di entrambe le parti in una connessione di rete, confermando che sono chi dichiarano di essere.
Questa pagina spiega come configurare mTLS per il server delle metriche.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per gestire le risorse personalizzate MonitoringTarget, chiedi all'amministratore IAM dell'organizzazione o all'amministratore IAM del progetto di concederti uno dei ruoli MonitoringTarget associati.
A seconda del livello di accesso e delle autorizzazioni di cui hai bisogno, potresti ottenere i ruoli di creatore, editor o visualizzatore per questa risorsa in un'organizzazione o in un progetto. Per maggiori informazioni, vedi Preparare le autorizzazioni IAM.
Dopo aver ottenuto le autorizzazioni necessarie, completa questi passaggi prima di attivare la crittografia delle metriche:
- Esegui il deployment del server delle metriche.
- Raccogli le metriche dai tuoi workload.
- Assicurati che la risorsa personalizzata - MonitoringTargetmostri lo stato- Ready, come nell'esempio seguente:- apiVersion: monitoring.gdc.goog/v1 kind: MonitoringTarget [...] status: conditions: - lastTransitionTime: "2023-10-27T15:27:51Z" message: "" observedGeneration: 1 reason: Ready status: True type: Ready
- Esegui query e visualizza le metriche nelle dashboard per verificare che il server delle metriche invii i dati previsti. 
Monta il certificato
Il tuo carico di lavoro deve utilizzare un certificato generato automaticamente quando
abiliti mTLS sulla risorsa personalizzata MonitoringTarget. Aggiungi un volume e
un montaggio del volume per questo certificato utilizzando il seguente modello:
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"
  [...]
Sostituisci quanto segue:
- SERVICE_NAME: il nome dell'oggetto- Deploymento- StatefulSet.
- CONTAINER_NAME: il nome del container in cui aggiungi il montaggio del volume.
- MONITORING_TARGET_NAME: il nome della risorsa personalizzata- MonitoringTarget. Il nome del secret si basa su questo nome. Ad esempio, una risorsa- my-mon-targetcrea un nome secret- my-mon-target-cert.
Metriche di pubblicazione
Il server delle metriche deve pubblicare le metriche da un server HTTP abilitato a mTLS. Potresti voler criptare le metriche in uno dei due scenari seguenti:
- Per le applicazioni di tua proprietà: modifica il codice sorgente per supportare mTLS e configura il server delle metriche con il certificato mTLS.
- Per le applicazioni di cui non sei proprietario: consulta la documentazione dell'applicazione
per abilitare un endpoint delle metriche HTTPS. Applica la configurazione necessaria, ad esempio
configurando gli argomenti della riga di comando o eseguendo il deployment di un file config.
Abilita la raccolta delle metriche mTLS
Aggiungi la seguente etichetta alla sezione metadata della risorsa personalizzata MonitoringTarget
per attivare la raccolta delle metriche criptate:
monitoring.gdc.goog/enable-mtls: "true"
La risorsa personalizzata deve essere simile all'esempio seguente:
  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:
    [...]
Per verificare di aver attivato l'autenticazione mTLS, controlla che la risorsa personalizzata
MonitoringTarget mostri lo stato Ready per il certificato
e il secret del certificato, come nell'esempio seguente:
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