Messwerte aus Ihren Anwendungen verschlüsseln

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 benutzerdefinierte MonitoringTarget-Ressourcen.
  • MonitoringTarget PA Editor (monitoringtarget-pa-editor): Bearbeiten oder ändern Sie benutzerdefinierte MonitoringTarget-Ressourcen.
  • MonitoringTarget PA Viewer (monitoringtarget-pa-viewer): Zum Aufrufen von benutzerdefinierten MonitoringTarget-Ressourcen.

IAM-Projektrollen anfordern

Wenden Sie sich an Ihren IAM-Projektadministrator, um die folgenden Rollen anzufordern:

  • MonitoringTarget-Bearbeiter (monitoringtarget-editor): Bearbeiten oder ändern Sie benutzerdefinierte MonitoringTarget-Ressourcen im Projekt-Namespace.
  • MonitoringTarget Viewer (monitoringtarget-viewer): Zum Aufrufen von benutzerdefinierten MonitoringTarget-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:

  1. Stellen Sie Ihren Messwertserver bereit.
  2. Messwerte aus Ihren Arbeitslasten erfassen
  3. Prüfen Sie, ob die benutzerdefinierte Ressource MonitoringTarget den Status Ready hat, 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: Ready
    
  4. Fragen 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 Ihres Deployment- oder StatefulSet-Objekts.
  • CONTAINER_NAME: der Name des Containers, in dem Sie die Volume-Bereitstellung hinzufügen.
  • MONITORING_TARGET_NAME: der Name Ihrer benutzerdefinierten MonitoringTarget-Ressource. Der Secret-Name basiert auf diesem Namen. Eine my-mon-target-Ressource erstellt beispielsweise einen my-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