Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der MQTT-Broker von Azure Event Grid unterstützt die Authentifizierung von Clients mit X.509-Zertifikaten. Das X.509-Zertifikat stellt die Anmeldeinformationen bereit, um einen bestimmten Client dem Mandanten zuzuordnen. In diesem Modell erfolgt die Authentifizierung im Allgemeinen einmal während des Sitzungsaufbaus. Dann wird davon ausgegangen, dass alle zukünftigen Vorgänge, die dieselbe Sitzung verwenden, von dieser Identität stammen.
Unterstützte Authentifizierungsmodi sind:
- Von einer Zertifizierungsstelle ausgestellte Zertifikate
- Selbstsigniertes Clientzertifikat – Fingerabdruck
- Microsoft Entra ID-Token
Dieser Artikel konzentriert sich auf Zertifikate. Informationen zur Authentifizierung mithilfe von Microsoft Entra-ID-Token finden Sie unter Authentifizierungsclient mit Microsoft Entra ID-Token.
Signierte Zertifikate der Zertifizierungsstelle (Certificate Authority, CA)
Bei dieser Methode wird ein X.509-Stammzertifikat oder ein X.509-Intermediate-Zertifikat bei dem Dienst registriert. Im Wesentlichen muss das Stamm- oder Zwischenzertifikat, das zum Signieren des Clientzertifikats verwendet wird, zuerst beim Dienst registriert werden.
Von Bedeutung
- Stellen Sie sicher, dass das Stamm- oder Zwischenzertifikat hochgeladen wird, das zum Signieren des Clientzertifikats verwendet wird. Es ist nicht erforderlich, die gesamte Zertifikatkette hochzuladen.
- Wenn Sie beispielsweise über eine Kette von Stamm-, Zwischen- und Blattzertifikaten verfügen, stellen Sie sicher, dass das Zwischenzertifikat hochgeladen wird, das die Blatt-/Clientzertifikate signiert hat.
Beim Registrieren von Clients müssen Sie das Zertifikatfeld identifizieren, das zum Halten des Authentifizierungsnamens des Clients verwendet wird. Der Dienst gleicht den Authentifizierungsnamen aus dem Zertifikat mit dem Authentifizierungsnamen des Clients in den Client-Metadaten ab, um den Client zu validieren. Der Dienst überprüft auch das Clientzertifikat, indem überprüft wird, ob es vom zuvor registrierten Stamm- oder Zwischenzertifikat signiert ist.
Selbstsigniertes Clientzertifikat – Fingerabdruck
Bei dieser Authentifizierungsmethode speichert die Clientregistrierung den genauen Fingerabdruck des Zertifikats, das der Client für die Authentifizierung verwendet. Wenn der Client versucht, eine Verbindung mit dem Dienst herzustellen, überprüft der Dienst den Client, indem der im Clientzertifikat dargestellte Fingerabdruck mit dem in Clientmetadaten gespeicherten Fingerabdruck verglichen wird.
Hinweis
- Es wird empfohlen, den Client-Authentifizierungsnamen in das Feld "Benutzername" der Verbindungsanfrage des Clients aufzunehmen. Mithilfe dieses Authentifizierungsnamens zusammen mit dem Clientzertifikat kann der Dienst den Client authentifizieren.
- Wenn Sie den Authentifizierungsnamen nicht im Benutzernamenfeld angeben, müssen Sie die alternativen Quellfelder für den Clientauthentifizierungsnamen im Namespacebereich konfigurieren. Der Dienst sucht nach dem Clientauthentifizierungsnamen im entsprechenden Feld des Clientzertifikats, um die Clientverbindung zu authentifizieren.
Auf der Konfigurationsseite auf Namensraum-Ebene können Sie alternative Quellen für den Authentifizierungsnamen des Clients aktivieren und dann die Clientzertifikatfelder auswählen, die den Authentifizierungsnamen des Clients enthalten.
Die Reihenfolge der Auswahl der Clientzertifikatfelder auf der Namespacekonfigurationsseite ist wichtig. Der Dienst sucht in der gleichen Reihenfolge nach dem Clientauthentifizierungsnamen in den Clientzertifikatfeldern.
Wenn Sie z. B. zuerst die Zertifikat-DNS-Option und dann die Option "Antragstellername" auswählen , während Sie die Clientverbindung authentifizieren,
- Der Dienst überprüft zuerst das DNS-Feld des alternativen Namens im Clientzertifikat für den Clientauthentifizierungsnamen.
- wenn das DNS-Feld leer ist, überprüft der Dienst das Feld "Antragstellername" des Clientzertifikats.
- Wenn der Clientauthentifizierungsname in keinem dieser beiden Felder vorhanden ist, wird die Clientverbindung verweigert.
In beiden Clientauthentifizierungsmodi erwarten wir, dass der Clientauthentifizierungsname entweder im Benutzernamenfeld des Verbindungspakets oder in einem der Clientzertifikatfelder bereitgestellt wird.
Unterstützte Clientzertifikatfelder für alternative Quelle des Clientauthentifizierungsnamens
Sie können eines der folgenden Felder verwenden, um den Client-Authentifizierungsnamen im Clientzertifikat bereitzustellen.
| Option für die Authentifizierungsnamenquelle | Zertifikatfeld | Beschreibung |
|---|---|---|
| Name des Zertifikatsbetreffs | tls_client_auth_subject_dn | Der Antragstellername des Zertifikats. |
| Zertifikat-DNS | tls_client_auth_san_dns | Der dNSName SAN-Eintrag im Zertifikat. |
| Zertifikat-URI | tls_client_auth_san_uri | Der uniformResourceIdentifier SAN-Eintrag im Zertifikat. |
| Zertifikat-IP | tls_client_auth_san_ip | Die IPv4- oder IPv6-Adresse, die im iPAddress SAN-Eintrag im Zertifikat vorhanden ist. |
| Zertifikat-E-Mail | tls_client_auth_san_email | Der rfc822Name SAN-Eintrag im Zertifikat. |
Nächste Schritte
- Erfahren Sie, wie Sie Clients mithilfe der Zertifikatskette authentifizieren.
- Wie Sie sich mithilfe von Microsoft Entra ID-Token authentifizieren