Udostępnij za pośrednictwem


Zapewnianie certyfikatów SSL na potrzeby monitorowania

Począwszy od wersji z grudnia 2021 r., usługi danych z obsługą usługi Azure Arc umożliwiają udostępnianie certyfikatów SSL/TLS dla pulpitów nawigacyjnych monitorowania. Te certyfikaty można używać na potrzeby pulpitów nawigacyjnych dzienników (Kibana) i metryk (Grafana).

Certyfikat można określić podczas tworzenia kontrolera danych za pomocą polecenia:

  • Rozszerzenie interfejsu wiersza polecenia arcdata platformy Azure az
  • Wdrożenie natywne rozwiązania Kubernetes

Firma Microsoft udostępnia przykładowe pliki do tworzenia certyfikatów w repozytorium /microsoft/azure_arc/ GitHub.

Możesz sklonować plik lokalnie, aby uzyskać dostęp do przykładowych plików.

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

Pliki, do których odwołuje się ten artykuł, znajdują się w repozytorium w obszarze /arc_data_services/deploy/scripts/monitoring.

Tworzenie lub uzyskiwanie odpowiednich certyfikatów

Potrzebujesz odpowiednich certyfikatów dla każdego interfejsu użytkownika. Jeden dla dzienników i jeden dla metryk. W poniższej tabeli opisano wymagania.

W poniższej tabeli opisano wymagania dotyczące każdego certyfikatu i klucza.

Wymaganie Dzienniki certyfikatu Certyfikat metryk
CN logsui-svc metricsui-svc
Sans Brak jest wymagany metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME}
keyUsage digitalsignature

keyEncipherment
digitalsignature

keyEncipherment
extendedKeyUsage serverAuth serverAuth

Uwaga

Domyślny K8S_DNS_DOMAIN_NAME to svc.cluster.local, ale może się różnić w zależności od środowiska i konfiguracji.

Katalog repozytorium GitHub zawiera przykładowe pliki szablonów identyfikujące specyfikacje certyfikatów.

Przykładowe repozytorium GitHub przykładów usługi Azure Arc umożliwia wygenerowanie zgodnego certyfikatu i klucza prywatnego dla punktu końcowego.

Zobacz kod z /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.

Aby użyć przykładu do utworzenia certyfikatów, zaktualizuj następujące polecenie przy użyciu katalogu namespace i dla certyfikatów (output_directory). Następnie uruchom polecenie.

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

Spowoduje to utworzenie zgodnych certyfikatów w katalogu.

Wdrażanie przy użyciu interfejsu wiersza polecenia

Po utworzeniu certyfikatu/klucza prywatnego dla każdego punktu końcowego utwórz kontroler danych za pomocą az dc create... polecenia .

Aby zastosować własny certyfikat/klucz prywatny, użyj następujących argumentów.

  • --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>

Na przykład poniższy przykład tworzy kontroler danych z wyznaczonymi certyfikatami dla pulpitów nawigacyjnych interfejsu użytkownika dzienników i metryk:

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

Certyfikaty można określić tylko w przypadku uwzględnienia --use-k8s w instrukcji az arcdata dc create ... .

Wdrażanie za pomocą narzędzi natywnych platformy Kubernetes

Jeśli do wdrożenia używasz narzędzi natywnych platformy Kubernetes, utwórz wpisy tajne kubernetes, które przechowują certyfikaty i klucze prywatne. Utwórz następujące wpisy tajne:

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

Upewnij się, że usługi są wymienione jako alternatywne nazwy podmiotu (SAN), a parametry użycia certyfikatu są poprawne.

  1. Sprawdź, czy każdy wpis tajny ma następujące pola:
    • certificate.pem zawierający certyfikat zakodowany w formacie base64
    • privatekey.pem zawierający klucz prywatny