Gestion des certificats pour la communication interne concernant Opérations Azure IoT
Article
Toutes les communications dans Opérations Azure IoT sont chiffrées à l’aide du protocole TLS. Pour vous aider à démarrer, Opérations Azure IoT est déployé avec une autorité de certification racine « démarrage rapide » par défaut et un émetteur pour les certificats de serveur TLS. Vous pouvez utiliser la configuration par défaut à des fins de développement et de test. Pour un déploiement en production, nous vous recommandons d’utiliser votre propre émetteur d’autorité de certification et une solution PKI d’entreprise.
Émetteur auto-signé par défaut et certificat d’autorité de certification racine pour les certificats de serveur TLS
Pour vous aider à démarrer, Opérations Azure IoT est déployé avec un émetteur auto-signé par défaut et un certificat d'autorité de certification racine pour les certificats de serveur TLS. Vous pouvez utiliser cet émetteur pour le développement et le test. Azure IoT Operations utilise cert-manager pour gérer les certificats TLS et trust-manager pour distribuer des offres groupées de confiance aux composants.
Le certificat d’autorité de certification est auto-signé et non approuvé par des clients en dehors d’Opérations Azure IoT. Le sujet du certificat d’autorité de certification est CN=Azure IoT Operations Quickstart Root CA - Not for Production. Le certificat d’autorité de certification est automatiquement mis en rotation par cert-manager.
Le certificat d’autorité de certification racine est stocké dans un secret Kubernetes appelé azure-iot-operations-aio-ca-certificate sous l’espace de noms cert-manager.
La partie publique du certificat d’autorité de certification racine est stockée dans une carte ConfigMap appelée azure-iot-operations-aio-ca-trust-bundle sous l’espace de nomsazure-iot-operations. Vous pouvez récupérer le certificat d’autorité de certification à partir de ConfigMap et l’inspecter avec kubectl et openssl. La carte ConfigMap est mise à jour par trust-manager lorsque le certificat d’autorité de certification est mis en rotation par cert-manager.
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
<SERIAL-NUMBER>
Signature Algorithm: sha256WithRSAEncryption
Issuer: O=Microsoft, CN=Azure IoT Operations Quickstart Root CA - Not for Production
Validity
Not Before: Sep 18 20:42:19 2024 GMT
Not After : Sep 18 20:42:19 2025 GMT
Subject: O=Microsoft, CN=Azure IoT Operations Quickstart Root CA - Not for Production
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus: <MODULUS>
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Subject Key Identifier:
<SUBJECT-KEY-IDENTIFIER>
Signature Algorithm: sha256WithRSAEncryption
[Signature]
Par défaut, il existe déjà un émetteur configuré dans le système azure-iot-operations namespace appelé azure-iot-operations-aio-certificate-issuer. Il est utilisé comme émetteur commun pour tous les certificats de serveur TLS pour les opérations IoT. L’agent MQTT utilise un émetteur créé à partir du même certificat CA qui est signé par l'émetteur auto-signé pour émettre des certificats de serveur TLS pour l'auditeur TLS par défaut sur le port 18883. Vous pouvez inspecter l’émetteur avec la commande suivante :
kubectl get clusterissuer azure-iot-operations-aio-certificate-issuer -o yaml
Pour les déploiements de production, nous vous recommandons de configurer Opérations Azure IoT avec une infrastructure à clé publique d’entreprise pour gérer les certificats et que vous apportez votre propre émetteur qui fonctionne avec votre infrastructure à clé publique d’entreprise au lieu d’utiliser l’émetteur auto-signé par défaut pour émettre des certificats TLS pour la communication interne.
Pour configurer Opérations Azure IoT avec votre propre émetteur, procédez comme suit avant de déployer une instance sur votre cluster :
Le ou la gestionnaire de confiance est utilisé pour distribuer un ensemble d’approbations aux composants.
Créez l'espace de noms Opérations Azure IoT.
kubectl create namespace azure-iot-operations
Déployez un(e) émetteur(-trice) qui fonctionne avec cert-manager. Pour obtenir la liste de tous les émetteurs pris en charge, consultez émetteurs de gestionnaire de certificats.
L’émetteur(-trice) peut être de type ClusterIssuer ou Issuer. Si vous utilisez Issuer, la ressource émetteur doit être créée dans l’espace de noms Opérations Azure IoT.
Configurez l’offre groupée d’approbation dans l’espace de noms Opérations Azure IoT.
Pour configurer le faisceau de confiance, créez un ConfigMap dans l'espace de noms Opérations Azure IoT. Placez la partie clé publique de votre certificat d’autorité de certification dans la carte de configuration avec un nom de clé de votre choix.
Obtenez la partie clé publique de votre certificat d’autorité de certification. Les étapes d’acquisition de la clé publique dépendent de l’émetteur(-trice) que vous choisissez.
Expliquez les fonctionnalités de Microsoft Entra ID pour moderniser des solutions d’identité, implémenter des solutions hybrides et une gouvernance des identités.
Utilisez l’interface utilisateur web de l’expérience Opérations ou Azure CLI pour gérer à distance les configurations de vos actifs et permettre d’acheminer des données de vos actifs vers un broker MQTT.