Clientauthentifizierung mithilfe von Zertifizierungsstellen-Zertifikatketten
Verwenden der Zertifizierungsstellen-Zertifikatkette in Azure Event Grid, um Clients zu authentifizieren, während Sie eine Verbindung mit dem Dienst herstellen.
In diesem Leitfaden führen Sie die folgenden Aufgaben aus:
- Hochladen eines Zertifizierungsstellenzertifikats, das unmittelbar übergeordnete Zertifikat des Clientzertifikats, in den Namespace.
- Konfigurieren von Clientauthentifizierungseinstellungen.
- Verbinden eines Clients mithilfe des Clientzertifikats, das vom zuvor hochgeladenen Zertifizierungsstellenzertifikat signiert wurde.
Voraussetzungen
- Sie benötigen einen Event Grid-Namespace, der bereits erstellt wurde.
- Sie benötigen eine Zertifizierungsstellen-Zertifikatkette: Clientzertifikate und das übergeordnete Zertifikat (in der Regel ein Zwischenzertifikat), das zum Signieren der Clientzertifikate verwendet wurde.
Generieren eines Beispielclientzertifikats und Fingerabdrucks
Wenn Sie noch kein Zertifikat besitzen, können Sie mit der Step CLI ein Beispielzertifikat generieren. Erwägen Sie die manuelle Installation für Windows.
Führen Sie nach der Installation von Step in Windows PowerShell den Befehl aus, um Stamm- und Zwischenzertifikate zu erstellen.
.\step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
Verwenden der generierten Zertifizierungsstellendateien zum Erstellen eines Zertifikats für den Client.
.\step certificate create client1-authnID client1-authnID.pem client1-authnID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
Hochladen des Zertifizierungsstellenzertifikats in den Namespace
- Navigieren Sie im Azure-Portal zu Ihrem Event Grid-Namespace.
- Navigieren Sie im Abschnitt MQTT-Broker im linken Bereich zum Menü „Zertifizierungsstellenzertifikate“.
- Wählen Sie + Zertifikat aus, um die Seite „Zertifikat hochladen“ zu öffnen.
- Fügen Sie den Zertifikatnamen hinzu, suchen Sie nach dem Zertifikat für Fortgeschrittene (.step/certs/intermediate_ca.crt), und wählen Sie Hochladen aus. Sie können eine Datei vom Typ .pem, .cer oder .crt hochladen.
Hinweis
- Der Name des Zertifizierungsstellenzertifikats kann zwischen 3 und 50 Zeichen lang sein.
- Der Name des Zertifizierungsstellenzertifikats kann alphanumerische Zeichen und Bindestriche (-), aber keine Leerzeichen enthalten.
- Der Name muss pro Namespace eindeutig sein.
Konfigurieren von Clientauthentifizierungseinstellungen
- Navigieren Sie zur Seite „Clients“.
- Wählen Sie + Client aus, um einen neuen Client hinzuzufügen. Wenn Sie einen vorhandenen Client aktualisieren möchten, können Sie den Clientnamen auswählen und die Seite „Client aktualisieren“ öffnen.
- Fügen Sie auf der Seite „Client erstellen“ den Clientnamen, den Clientauthentifizierungsnamen und das Überprüfungsschema für die Clientzertifikatauthentifizierung hinzu. In der Regel befindet sich der Clientauthentifizierungsname im Feld „Antragstellername“ für das Clientzertifikat.
- Klicken Sie auf die Schaltfläche Erstellen, um den Client zu erstellen.
Beispielschema für Zertifikatobjekt
{
"properties": {
"description": "CA certificate description",
"encodedCertificate": "-----BEGIN CERTIFICATE-----`Base64 encoded Certificate`-----END CERTIFICATE-----"
}
}
Azure CLI-Konfiguration
Verwenden Sie die folgenden Befehle, um ein Zertifizierungsstellenzertifikat in den Dienst hochzuladen, anzuzeigen oder zu löschen.
Hochladen des Stamm- oder Zwischenzertifikats der Zertifizierungsstelle
az eventgrid namespace ca-certificate create -g myRG --namespace-name myNS -n myCertName --certificate @./resources/ca-cert.json
Anzeigen von Zertifikatinformationen
az eventgrid namespace ca-certificate show -g myRG --namespace-name myNS -n myCertName
Löschen eines Zertifikats
az eventgrid namespace ca-certificate delete -g myRG --namespace-name myNS -n myCertName