Certificaatbeheer voor interne communicatie van Azure IoT Operations
Artikel
Alle communicatie binnen Azure IoT-bewerkingen wordt versleuteld met BEHULP van TLS. Om u te helpen aan de slag te gaan, wordt Azure IoT Operations geïmplementeerd met een standaardhoofd-CA en verlener voor TLS-servercertificaten. U kunt de standaardinstelling gebruiken voor ontwikkelings- en testdoeleinden. Voor een productie-implementatie raden we u aan uw eigen CA-verlener en een enterprise PKI-oplossing te gebruiken.
Standaard zelfondertekend verlener en basis-CA-certificaat voor TLS-servercertificaten
Om u te helpen aan de slag te gaan, wordt Azure IoT Operations geïmplementeerd met een standaard zelfondertekend verlener en basis-CA-certificaat voor TLS-servercertificaten. U kunt deze verlener gebruiken voor ontwikkeling en testen. Azure IoT Operations maakt gebruik van certificaatbeheer voor het beheren van TLS-certificaten en vertrouwensbeheer om vertrouwensbundels te distribueren naar onderdelen.
Het CA-certificaat is zelfondertekend en wordt niet vertrouwd door clients buiten Azure IoT Operations. Het onderwerp van het CA-certificaat is CN=Azure IoT Operations Quickstart Root CA - Not for Production. Het CA-certificaat wordt automatisch gedraaid door certificaatbeheer.
Het basis-CA-certificaat wordt opgeslagen in een Kubernetes-geheim dat wordt aangeroepen azure-iot-operations-aio-ca-certificate onder de cert-manager naamruimte.
Het openbare gedeelte van het basis-CA-certificaat wordt opgeslagen in een ConfigMap die wordt aangeroepen azure-iot-operations-aio-ca-trust-bundle onder de azure-iot-operations naamruimte. U kunt het CA-certificaat ophalen uit de ConfigMap en dit inspecteren met kubectl en openssl. De ConfigMap wordt bijgewerkt door trust-manager wanneer het CA-certificaat wordt gedraaid door certificaatbeheerder.
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]
Standaard is er al een verlener geconfigureerd in de azure-iot-operations namespace aangeroepen azure-iot-operations-aio-certificate-issuer. Deze wordt gebruikt als de algemene verlener voor alle TLS-servercertificaten voor IoT-bewerkingen. MQTT Broker maakt gebruik van een verlener die is gemaakt op basis van hetzelfde CA-certificaat dat is ondertekend door de zelfondertekende verlener om TLS-servercertificaten uit te geven voor de standaard TLS-listener op poort 18883. U kunt de verlener inspecteren met de volgende opdracht:
Bash
kubectl get clusterissuer azure-iot-operations-aio-certificate-issuer -o yaml
Voor productie-implementaties raden we u aan Azure IoT Operations in te stellen met een enterprise PKI voor het beheren van certificaten en dat u uw eigen verlener gebruikt die met uw enterprise PKI werkt in plaats van de standaard zelfondertekende verlener te gebruiken om TLS-certificaten uit te geven voor interne communicatie.
Als u Azure IoT Operations wilt instellen met uw eigen verlener, gebruikt u de volgende stappen voordat u een exemplaar implementeert in uw cluster:
Volg de stappen in Het cluster voorbereiden om uw cluster in te stellen.
Trust-manager wordt gebruikt om een vertrouwensbundel te distribueren naar onderdelen.
Maak de Azure IoT Operations-naamruimte.
Bash
kubectl create namespace azure-iot-operations
Implementeer een verlener die werkt met certificaatbeheer. Zie cert-managerverleners voor een lijst met alle ondersteunde verleners.
De verlener kan van het type ClusterIssuer zijn of Issuer. Als u Issuerdeze gebruikt, moet de verlenerresource worden gemaakt in de Azure IoT Operations-naamruimte.
Stel de vertrouwensbundel in de Azure IoT Operations-naamruimte in.
Als u een vertrouwensbundel wilt instellen, maakt u een ConfigMap in de Azure IoT Operations-naamruimte. Plaats het openbare sleutelgedeelte van uw CA-certificaat in de configuratietoewijzing met een sleutelnaam van uw keuze.
Haal het openbare sleutelgedeelte van uw CA-certificaat op. De stappen voor het verkrijgen van de openbare sleutel zijn afhankelijk van de verlener die u kiest.
Demonstreer de functies van Microsoft Entra ID om identiteitsoplossingen te moderniseren, hybride oplossingen te implementeren en identiteitsbeheer te implementeren.