Mit der Monitoring-Komponente von Google Distributed Cloud (GDC) mit Air Gap können Sie Anwendungsmesswerte während der Übertragung mithilfe von mTLS (Mutual Transport Layer Security) verschlüsseln und authentifizieren. Wenn Sie mTLS für eine benutzerdefinierte MonitoringTarget-Ressource konfigurieren, wird die Identität Ihres Messwertservers und Ihrer Monitoring-Pipeline überprüft, um die Messwerterfassung für alle Projektarbeitslasten zu sichern.
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): BenutzerdefinierteMonitoringTarget-Ressourcen im Projekt-Namespace ansehen.
Nachdem Sie die erforderlichen Berechtigungen erhalten haben, führen Sie die folgenden Schritte aus, bevor Sie die Verschlüsselung von Messwerten aktivieren:
- Stellen Sie den Messwertserver bereit.
- Messwerte aus Ihren Arbeitslasten erfassen
Achten Sie darauf, dass 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 ab und rufen Sie sie auf Dashboards 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 mit der folgenden Vorlage ein Volume und eine Volume-Bereitstellung für dieses Zertifikat 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, 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 einen Secret-Namenmy-mon-target-cert.
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