Tutti i dati delle metriche devono essere criptati in transito per garantire la sicurezza. Il componente di monitoraggio di Google Distributed Cloud (GDC) air-gapped fornisce la crittografia e l'autenticazione in transito tramite TLS (Transport Layer Security) reciproco (mTLS). Il metodo mTLS verifica l'identità di entrambe le parti in una connessione di rete, confermando che siano chi dicono di essere.
Questa pagina spiega come configurare mTLS per il server delle metriche.
Prima di iniziare
Per gestire le risorse personalizzate MonitoringTarget, devi disporre delle autorizzazioni necessarie.
Richiedi i ruoli IAM dell'organizzazione
Contatta l'amministratore IAM dell'organizzazione per richiedere i seguenti ruoli:
- MonitoringTarget PA Creator (
monitoringtarget-pa-creator): crea risorse personalizzateMonitoringTarget. - MonitoringTarget PA Editor (
monitoringtarget-pa-editor): modifica le risorse personalizzateMonitoringTarget. - MonitoringTarget PA Viewer (
monitoringtarget-pa-viewer): visualizza le risorse personalizzateMonitoringTarget.
Richiedi i ruoli IAM del progetto
Contatta l'amministratore IAM del progetto per richiedere i seguenti ruoli:
- MonitoringTarget Editor (
monitoringtarget-editor): modifica le risorse personalizzateMonitoringTargetnello spazio dei nomi del progetto. - MonitoringTarget Viewer (
monitoringtarget-viewer): visualizza le risorse personalizzateMonitoringTargetnello spazio dei nomi del progetto.
Dopo aver ottenuto le autorizzazioni necessarie, completa questi passaggi prima di abilitare la crittografia delle metriche:
- Esegui il deployment del server delle metriche.
- Raccogli le metriche dai tuoi workload.
Assicurati che la risorsa personalizzata
MonitoringTargetmostri lo statoReady, 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: ReadyEsegui query e visualizza le metriche nelle dashboard per verificare che il server delle metriche invii i dati previsti.
Monta il certificato
Il tuo workload deve utilizzare un certificato generato automaticamente quando abiliti mTLS sulla risorsa personalizzata MonitoringTarget. Aggiungi un volume e un punto di 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'oggettoDeploymentoStatefulSet.CONTAINER_NAME: il nome del container in cui stai aggiungendo il punto di montaggio del volume.MONITORING_TARGET_NAME: il nome della risorsa personalizzataMonitoringTarget. Il nome del secret si basa su questo nome. Ad esempio, unamy-mon-targetrisorsa crea un nome secretmy-mon-target-cert.
Eroga le metriche
Il server delle metriche deve pubblicare le metriche da un server HTTP abilitato per 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 abilitare 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 abilitato 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