Freigeben über


Bereitstellen von SSL-Zertifikaten für die Überwachung

Ab dem Release vom Dezember 2021 können Sie mit Azure-Arc-fähigen Datendiensten SSL/TLS-Zertifikate für die Überwachungsdashboards bereitstellen. Sie können diese Zertifikate für Protokolle (Kibana) und Metrikdashboards (Grafana) verwenden.

Sie können das Zertifikat angeben, wenn Sie einen Datencontroller erstellen mit:

  • Azure az CLI arcdata Erweiterung
  • Native Kubernetes-Bereitstellung

Microsoft stellt Beispieldateien zum Erstellen der Zertifikate im GitHub-Repository /microsoft/azure_arc/ zur Verfügung.

Sie können die Datei lokal klonen, um auf die Beispieldateien zuzugreifen.

git clone https://github.com/microsoft/azure_arc

Die Dateien, auf die in diesem Artikel verwiesen wird, befinden sich im Repository unter /arc_data_services/deploy/scripts/monitoring.

Erstellen oder Erwerben entsprechender Zertifikate

Sie benötigen für jede Benutzeroberfläche entsprechende Zertifikate. Eine für Protokolle und eine für Metriken. In der folgenden Tabelle werden die Anforderungen beschrieben.

In der folgenden Tabelle werden die Anforderungen für jedes Zertifikat und jeden Schlüssel beschrieben.

Anforderung Protokollzertifikat Metrikzertifikat
CN logsui-svc metricsui-svc
SANs Keine erforderlich metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME}
keyUsage digitalsignature

keyEncipherment
digitalsignature

keyEncipherment
extendedKeyUsage serverAuth serverAuth

Hinweis

Der Standardwert für K8S_DNS_DOMAIN_NAME lautet svc.cluster.local, kann sich aber je nach Umgebung und Konfiguration auch davon unterscheiden.

Das GitHub-Repository-Verzeichnis enthält Beispielvorlagendateien, die die Zertifikatspezifikationen identifizieren.

Das Azure-Arc-GitHub-Repository enthält ein Beispiel, mit dem Sie ein konformes Zertifikat und einen privaten Schlüssel für einen Endpunkt generieren können.

Siehe den Code von /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.

Um das Beispiel zum Erstellen von Zertifikaten zu verwenden, aktualisieren Sie den folgenden Befehl mit ihrem namespace und dem Verzeichnis für die Zertifikate (output_directory). Führen Sie anschließend den Befehl aus.

./create-monitor-tls-files.sh <namespace> <output_directory>

Dadurch werden konforme Zertifikate im Verzeichnis erstellt.

Bereitstellen mit dem CLI

Nachdem Sie über das Zertifikat bzw. den privaten Schlüssel für jeden Endpunkt verfügen, erstellen Sie den Datencontroller mit dem az dc create...-Befehl.

Verwenden Sie die folgenden Argumente, um Ihr eigenes Zertifikat bzw. Ihren eigenen privaten Schlüssel anzuwenden.

  • --logs-ui-public-key-file <path\file to logs public key file>
  • --logs-ui-private-key-file <path\file to logs private key file>
  • --metrics-ui-public-key-file <path\file to metrics public key file>
  • --metrics-ui-private-key-file <path\file to metrics private key file>

Im folgenden Beispiel wird beispielsweise ein Datencontroller mit festgelegten Zertifikaten für die Dashboards der Protokoll- und Metrikbenutzeroberfläche erstellt:

az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --logs-ui-public-key-file <path\file to logs public key file> --logs-ui-private-key-file <path\file to logs private key file> --metrics-ui-public-key-file <path\file to metrics public key file> --metrics-ui-private-key-file <path\file to metrics private key file>

#Example:
#az arcdata dc create --profile-name azure-arc-aks-default-storage  --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --logs-ui-public-key-file /path/to/logsuipublickeyfile.pem --logs-ui-private-key-file /path/to/logsuiprivatekey.pem --metrics-ui-public-key-file /path/to/metricsuipublickeyfile.pem --metrics-ui-private-key-file /path/to/metricsuiprivatekey.pem

Sie können Zertifikate nur angeben, wenn Sie --use-k8s in die az arcdata dc create ...-Anweisung aufnehmen.

Bereitstellen mit nativen Kubernetes-Tools

Wenn Sie native Kubernetes-Tools für die Bereitstellung verwenden, erstellen Sie Kubernetes-Geheimnisse, die die Zertifikate und privaten Schlüssel enthalten. Erstellen Sie die folgenden Geheimnisse:

  • logsui-certificiate-secret
  • metricsui-certificate-secret.

Stellen Sie sicher, dass die Dienste als Subject Alternative Names (SANs) aufgeführt sind und die Parameter für die Zertifikatsverwendung korrekt sind.

  1. Vergewissern Sie sich, dass jedes Geheimnis über die folgenden Felder verfügt:
    • certificate.pem enthält das Base64-codierte Zertifikat
    • privatekey.pem enthält den privaten Schlüssel