Messwerte aus Ihren Anwendungen verschlüsseln

Alle Messwertdaten müssen bei der Übertragung verschlüsselt werden, um die Sicherheit zu gewährleisten. Die Monitoringkomponente von Google Distributed Cloud (GDC) air-gapped bietet eine Verschlüsselung und Authentifizierung bei der Übertragung durch Mutual Transport Layer Security (mTLS). Mit der mTLS-Methode wird die Identität beider Parteien in einer Netzwerkverbindung überprüft und bestätigt, dass sie die sind, die sie vorgeben zu sein.

Auf dieser Seite wird beschrieben, wie Sie mTLS für Ihren Messwertserver einrichten.

Hinweis

Zum Verwalten benutzerdefinierter MonitoringTarget-Ressourcen benötigen Sie die erforderlichen Berechtigungen.

IAM-Organisationsrollen anfordern

Wenden Sie sich an Ihren IAM-Administrator der Organisation, um die folgenden Rollen anzufordern:

  • MonitoringTarget PA Creator (monitoringtarget-pa-creator): Erstellt benutzerdefinierte MonitoringTarget-Ressourcen.
  • MonitoringTarget PA Editor (monitoringtarget-pa-editor): Bearbeitet oder ändert benutzerdefinierte MonitoringTarget-Ressourcen.
  • MonitoringTarget PA Viewer (monitoringtarget-pa-viewer): Ruft benutzerdefinierte MonitoringTarget-Ressourcen auf.

IAM-Projektrollen anfordern

Wenden Sie sich an Ihren IAM-Administrator des Projekts, um die folgenden Rollen anzufordern:

  • MonitoringTarget Editor (monitoringtarget-editor): Bearbeitet oder ändert benutzerdefinierte MonitoringTarget-Ressourcen im Projekt-Namespace.
  • MonitoringTarget Viewer (monitoringtarget-viewer): Ruft benutzerdefinierte MonitoringTarget-Ressourcen im Projekt-Namespace auf.

Nachdem Sie die erforderlichen Berechtigungen erhalten haben, führen Sie diese Schritte aus, bevor Sie die Messwertverschlüsselung aktivieren:

  1. Stellen Sie Ihren Messwertserver bereit.
  2. Erfassen Sie Messwerte aus Ihren Arbeitslasten.
  3. Prüfen Sie, ob für Ihre benutzerdefinierte MonitoringTarget-Ressource der Status Ready angezeigt wird, 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 ab und rufen Sie sie auf Dashboards auf um zu bestätigen, dass 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 MonitoringTarget-Ressource 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 Ihres Deployment- oder StatefulSet-Objekts.
  • CONTAINER_NAME: der Name des Containers, dem Sie die Volume-Bereitstellung hinzufügen.
  • MONITORING_TARGET_NAME: der Name Ihrer benutzerdefinierten MonitoringTarget-Ressource. Der Secret-Name basiert auf diesem Namen. Beispielsweise wird für eine my-mon-target-Ressource der Secret -Name my-mon-target-cert erstellt.

Messwerte bereitstellen

Ihr Messwertserver muss Messwerte von einem mTLS-fähigen HTTP-Server bereitstellen. In den folgenden beiden Szenarien sollten Sie Messwerte 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 Ihnen nicht gehören**: Informationen zum Aktivieren eines HTTPS-Messwertendpunkts finden Sie in der Dokumentation der Anwendung. 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 MonitoringTarget-Ressource 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 für Ihre benutzerdefinierte MonitoringTarget-Ressource der Status Ready für das Zertifikat und das Zertifikat-Secret angezeigt wird, wie im folgenden Beispiel, um zu bestätigen, dass Sie die mTLS-Authentifizierung aktiviert haben:

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