Partager via


Fournir des certificats SSL pour le monitoring

À partir de la version de décembre 2021, les services de données Azure Arc vous permettent de fournir des certificats SSL/TLS pour les tableaux de bord de monitoring. Vous pouvez utiliser ces certificats pour les tableaux de bord des journaux (Kibana) et des métriques (Grafana).

Vous pouvez spécifier le certificat quand vous créez un contrôleur de données avec :

  • L’extension Azure az CLI arcdata
  • Déploiement natif Kubernetes

Microsoft fournit des exemples de fichiers pour créer les certificats dans le dépôt GitHub /microsoft/azure_arc/.

Vous pouvez cloner le fichier localement pour accéder aux exemples de fichiers.

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

Les fichiers qui sont référencés dans cet article se trouvent dans le dépôt situé sous /arc_data_services/deploy/scripts/monitoring.

Créer ou acquérir des certificats appropriés

Vous avez besoin de certificats appropriés pour chaque interface utilisateur. Une pour les journaux et l’autre pour les métriques. Le tableau ci-dessous décrit les conditions requises.

Le tableau suivant décrit la configuration requise pour chaque certificat et chaque clé.

Condition requise Certificat des journaux Certificat des métriques
CN logsui-svc metricsui-svc
Autres noms d’objets (SAN) Aucun requis metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME}
keyUsage digitalsignature

keyEncipherment
digitalsignature

keyEncipherment
extendedKeyUsage serverAuth serverAuth

Remarque

La valeur K8S_DNS_DOMAIN_NAME par défaut est svc.cluster.local, bien qu’elle puisse varier en fonction de l’environnement et de la configuration.

Le répertoire du dépôt GitHub contient des exemples de fichiers de modèle qui identifient les spécifications du certificat.

Le dépôt GitHub qui contient les exemples Azure Arc fournit un exemple que vous pouvez utiliser afin de générer un certificat et une clé privée conformes pour un point de terminaison.

Consultez le code de /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.

Si vous souhaitez utiliser l’exemple qui permet de créer des certificats, mettez à jour la commande suivante avec votre namespace et le répertoire des certificats (output_directory). Exécutez ensuite la commande.

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

Cela crée des certificats conformes dans l’annuaire.

Déploiement avec la CLI

Une fois que vous disposez du certificat ou de la clé privée de chaque point de terminaison, créez le contrôleur de données avec la commande az dc create....

Pour appliquer votre propre certificat ou clé privée, utilisez les arguments suivants.

  • --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’exemple suivant crée un contrôleur de données avec des certificats désignés pour les tableaux de bord des journaux et des métriques :

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

Vous ne pouvez spécifier des certificats que si vous incluez --use-k8s dans l’instruction az arcdata dc create ....

Déployer avec les outils natifs Kubernetes

Si vous utilisez les outils natifs Kubernetes pour le déploiement, créez des secrets Kubernetes qui contiennent les certificats et les clés privées. Créez les secrets suivants :

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

Vérifiez que les services sont listés comme des noms d’objet alternatifs (SAN), et que les paramètres d’utilisation des certificats sont corrects.

  1. Vérifiez que chaque secret comporte les champs suivants :
    • certificate.pem contenant le certificat encodé en base64
    • privatekey.pem contenant la clé privée