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 certificati SSL/TLS per i dashboard di monitoraggio. È possibile usare questi certificati per i log (Kibana) e i dashboard delle metriche (Grafana).

È possibile specificare il certificato quando si crea un titolare del trattamento dei dati con:

  • Estensione dell'interfaccia della riga di comando di arcdata Azure az
  • 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 Registra il certificato Certificato delle metriche
CN logsui-svc metricsui-svc
Sans Nessuna richiesta 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 file modello di esempio che identificano le specifiche del certificato.

Il repository GitHub di esempi di Azure Arc offre un esempio che è possibile usare per generare un certificato conforme e una chiave privata 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 l'utente e la directory per i certificati (output_directory). Eseguire quindi 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 dati con az dc create... il comando .

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 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 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 contenente il certificato con codifica Base64
    • privatekey.pem contenente la chiave privata