Condividi tramite


Fornire certificati SSL per il monitoraggio

A partire dalla versione di dicembre 2021, i servizi dati abilitati per Azure Arc consentono di fornire i certificati SSL/TLS per i dashboard di monitoraggio. È possibile usare questi certificati per i dashboard delle metriche (Grafana) e dei log (Kibana).

È possibile specificare il certificato quando si crea un controller dei dati con:

  • Estensione az dell'interfaccia della riga di comando arcdata di Azure
  • Distribuzione nativa di Kubernetes

Microsoft fornisce file di esempio per creare i certificati nel repository GitHub /microsoft/azure_arc/.

È possibile clonare il file in locale per accedere ai file di esempio.

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

I file a cui si fa riferimento in questo articolo si trovano nel repository in /arc_data_services/deploy/scripts/monitoring.

Creare o acquisire certificati appropriati

Sono necessari certificati appropriati per ogni interfaccia utente. Uno per i log e uno per le metriche. Nella tabella seguente vengono descritti i requisiti.

Nella tabella seguente vengono descritti i requisiti per ogni certificato e chiave.

Requisito Certificato dei log Certificato delle metriche
CN logsui-svc metricsui-svc
SAN Nessun elemento necessario metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME}
keyUsage digitalsignature

keyEncipherment
digitalsignature

keyEncipherment
extendedKeyUsage serverAuth serverAuth

Nota

L'impostazione predefinita K8S_DNS_DOMAIN_NAME è svc.cluster.local, anche se può variare a seconda dell'ambiente e della configurazione.

La directory del repository GitHub include i file di modello di esempio che identificano le specifiche del certificato.

Il repository GitHub di esempi di Azure Arc fornisce un esempio che è possibile usare per generare un certificato e una chiave privata conformi per un endpoint.

Vedere il codice da /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.

Per usare l'esempio per creare certificati, aggiornare il comando seguente con namespace e la directory per i certificati (output_directory). Quindi eseguire il comando .

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

In questo modo, vengono creati certificati conformi nella directory.

Eseguire la distribuzione con l'interfaccia della riga di comando

Dopo aver ottenuto il certificato o la chiave privata per ogni endpoint, creare il controller dei dati con il comando az dc create....

Per applicare la propria chiave privata/certificato, usare gli argomenti seguenti.

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

L'esempio seguente, ad esempio, crea un controller dei dati con certificati designati per i dashboard dell'interfaccia utente dei log e delle metriche:

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

È possibile specificare i certificati solo quando si include --use-k8s nell'istruzione az arcdata dc create ....

Eseguire la distribuzione con gli strumenti nativi di Kubernetes

Se si usano gli strumenti nativi di Kubernetes per la distribuzione, creare segreti Kubernetes che contengono i certificati e le chiavi private. Creare i segreti seguenti:

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

Assicurarsi che i servizi siano elencati come nomi alternativi dei soggetti (SAN) e che i parametri di utilizzo dei certificati siano corretti.

  1. Verificare che ogni segreto includa i campi seguenti:
    • certificate.pem con il certificato con codifica base64
    • privatekey.pem con la chiave privata