Alle Messwertdaten müssen bei der Übertragung verschlüsselt werden, um die Sicherheit zu gewährleisten. Die Monitoring-Komponente von Google Distributed Cloud (GDC) mit Air Gap bietet Verschlüsselung während der Übertragung und Authentifizierung über Mutual Transport Layer Security (mTLS). Mit der mTLS-Methode wird die Identität beider Parteien in einer Netzwerkverbindung überprüft, um zu bestätigen, dass sie die sind, für die sie sich ausgeben.
Auf dieser Seite wird erläutert, wie Sie mTLS für Ihren Messwertserver einrichten.
Hinweis
Zum Verwalten von benutzerdefinierten MonitoringTarget-Ressourcen benötigen Sie die erforderlichen Berechtigungen.
IAM-Organisationsrollen anfordern
Wenden Sie sich an Ihren IAM-Organisationsadministrator, um die folgenden Rollen anzufordern:
- MonitoringTarget PA Creator (
monitoringtarget-pa-creator): Erstellt benutzerdefinierteMonitoringTarget-Ressourcen. - MonitoringTarget PA Editor (
monitoringtarget-pa-editor): Bearbeiten oder ändern Sie benutzerdefinierteMonitoringTarget-Ressourcen. - MonitoringTarget PA Viewer (
monitoringtarget-pa-viewer): Zum Aufrufen von benutzerdefiniertenMonitoringTarget-Ressourcen.
IAM-Projektrollen anfordern
Wenden Sie sich an Ihren IAM-Projektadministrator, um die folgenden Rollen anzufordern:
- MonitoringTarget-Bearbeiter (
monitoringtarget-editor): Bearbeiten oder ändern Sie benutzerdefinierteMonitoringTarget-Ressourcen im Projekt-Namespace. - MonitoringTarget Viewer (
monitoringtarget-viewer): Zum Aufrufen von benutzerdefiniertenMonitoringTarget-Ressourcen im Projekt-Namespace.
Nachdem Sie die erforderlichen Berechtigungen erhalten haben, führen Sie die folgenden Schritte aus, bevor Sie die Verschlüsselung von Messwerten aktivieren:
- Stellen Sie Ihren Messwertserver bereit.
- Messwerte aus Ihren Arbeitslasten erfassen
Prüfen Sie, ob die benutzerdefinierte Ressource
MonitoringTargetden StatusReadyhat, wie im folgenden Beispiel:apiVersion: monitoring.gdc.goog/v1 kind: MonitoringTarget [...] status: conditions: - lastTransitionTime: "2023-10-27T15:27:51Z" message: "" observedGeneration: 1 reason: Ready status: True type: ReadyFragen Sie Messwerte auf Dashboards ab und rufen Sie sie auf, um zu prüfen, ob Ihr Messwertserver die erwarteten Daten sendet.
Zertifikat bereitstellen
Ihre Arbeitslast muss ein Zertifikat verwenden, das automatisch generiert wird, wenn Sie mTLS für die benutzerdefinierte Ressource MonitoringTarget aktivieren. Fügen Sie für dieses Zertifikat ein Volume und ein Volume-Mount mit der folgenden Vorlage hinzu:
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"
[...]
Ersetzen Sie Folgendes:
SERVICE_NAME: der Name IhresDeployment- oderStatefulSet-Objekts.CONTAINER_NAME: der Name des Containers, in dem Sie die Volume-Bereitstellung hinzufügen.MONITORING_TARGET_NAME: der Name Ihrer benutzerdefiniertenMonitoringTarget-Ressource. Der Secret-Name basiert auf diesem Namen. Einemy-mon-target-Ressource erstellt beispielsweise einenmy-mon-target-cert-Secret-Namen.
Messwerte bereitstellen
Ihr Messwertserver muss Messwerte von einem mTLS-fähigen HTTP-Server bereitstellen. In den folgenden beiden Szenarien kann es sinnvoll sein, Messwerte zu verschlüsseln:
- Für eigene Anwendungen: Ändern Sie den Quellcode, um mTLS zu unterstützen, und konfigurieren Sie den Messwertserver mit dem mTLS-Zertifikat.
- Für Anwendungen, die nicht Ihnen gehören: Lesen Sie die Dokumentation der Anwendung, um einen HTTPS-Messwertendpunkt zu aktivieren. Wenden Sie die erforderliche Konfiguration an, z. B. durch Konfigurieren von Befehlszeilenargumenten oder Bereitstellen einer
config-Datei.
mTLS-Messwerterfassung aktivieren
Fügen Sie dem Abschnitt metadata Ihrer benutzerdefinierten Ressource MonitoringTarget das folgende Label hinzu, um die Erfassung verschlüsselter Messwerte zu aktivieren:
monitoring.gdc.goog/enable-mtls: "true"
Die benutzerdefinierte Ressource muss wie im folgenden Beispiel aussehen:
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:
[...]
Prüfen Sie, ob die mTLS-Authentifizierung aktiviert ist. Dazu muss die benutzerdefinierte Ressource MonitoringTarget den Status Ready für das Zertifikat und das Zertifikats-Secret anzeigen, wie im folgenden Beispiel:
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