Uwierzytelnianie klienta MQTT przy użyciu certyfikatów
Broker MQTT usługi Azure Event Grid obsługuje uwierzytelnianie klientów przy użyciu certyfikatów X.509. Certyfikat X.509 udostępnia poświadczenia do skojarzenia określonego klienta z dzierżawą. W tym modelu uwierzytelnianie zwykle odbywa się raz podczas ustanawiania sesji. Następnie zakłada się, że wszystkie przyszłe operacje korzystające z tej samej sesji pochodzą z tej tożsamości.
Obsługiwane tryby uwierzytelniania to:
- Certyfikaty wystawione przez urząd certyfikacji
- Certyfikat klienta z podpisem własnym — odcisk palca
- Token identyfikatora entra firmy Microsoft
Ten artykuł koncentruje się na certyfikatach. Aby dowiedzieć się więcej na temat uwierzytelniania przy użyciu tokenów identyfikatorów Entra firmy Microsoft, zobacz uwierzytelnianie klienta przy użyciu tokenu identyfikatora Entra firmy Microsoft.
Certyfikaty podpisane przez urząd certyfikacji
W tej metodzie certyfikat główny lub pośredni X.509 jest zarejestrowany w usłudze. Zasadniczo certyfikat główny lub pośredniczący używany do podpisywania certyfikatu klienta należy najpierw zarejestrować w usłudze.
Ważne
- Upewnij się, że przekaż certyfikat główny lub pośredni, który jest używany do podpisywania certyfikatu klienta. Nie jest konieczne przekazanie całego łańcucha certyfikatów.
- Jeśli na przykład masz łańcuch certyfikatów głównych, pośrednich i liści, upewnij się, że przekaż certyfikat pośredni, który podpisał certyfikat liścia/klienta.
Podczas rejestrowania klientów należy zidentyfikować pole certyfikatu używane do przechowywania nazwy uwierzytelniania klienta. Usługa pasuje do nazwy uwierzytelniania z certyfikatu z nazwą uwierzytelniania klienta w metadanych klienta w celu zweryfikowania klienta. Usługa weryfikuje również certyfikat klienta, sprawdzając, czy jest podpisany przez wcześniej zarejestrowany certyfikat główny lub pośredniczący.
Certyfikat klienta z podpisem własnym — odcisk palca
W tej metodzie uwierzytelniania rejestr klienta przechowuje dokładny odcisk palca certyfikatu, którego klient będzie używać do uwierzytelniania. Gdy klient próbuje nawiązać połączenie z usługą, usługa weryfikuje klienta, porównując odcisk palca przedstawiony w certyfikacie klienta z odciskiem palca przechowywanym w metadanych klienta.
Uwaga
- Zalecamy dołączenie nazwy uwierzytelniania klienta w polu nazwy użytkownika pakietu połączenia klienta. Korzystając z tej nazwy uwierzytelniania wraz z certyfikatem klienta, usługa będzie mogła uwierzytelnić klienta.
- Jeśli nie podasz nazwy uwierzytelniania w polu nazwy użytkownika, musisz skonfigurować alternatywne pola źródłowe dla nazwy uwierzytelniania klienta w zakresie przestrzeni nazw. Usługa wyszukuje nazwę uwierzytelniania klienta w odpowiednim polu certyfikatu klienta w celu uwierzytelnienia połączenia klienta.
Na stronie konfiguracji w zakresie przestrzeni nazw można włączyć alternatywne źródła nazw uwierzytelniania klienta, a następnie wybrać pola certyfikatu klienta, które mają nazwę uwierzytelniania klienta.
Kolejność wyboru pól certyfikatu klienta na stronie konfiguracji przestrzeni nazw jest ważna. Usługa wyszukuje nazwę uwierzytelniania klienta w polach certyfikatu klienta w tej samej kolejności.
Jeśli na przykład najpierw wybierzesz opcję DNS certyfikatu, a następnie opcję Nazwa podmiotu — podczas uwierzytelniania połączenia klienta,
- usługa sprawdza pole DNS alternatywnej nazwy podmiotu certyfikatu klienta jako pierwsze dla nazwy uwierzytelniania klienta
- jeśli pole DNS jest puste, usługa sprawdza pole Nazwa podmiotu certyfikatu klienta
- Jeśli nazwa uwierzytelniania klienta nie istnieje w jednym z tych dwóch pól, połączenie klienta zostanie odrzucone
W obu trybach uwierzytelniania klienta spodziewamy się podania nazwy uwierzytelniania klienta w polu nazwy użytkownika pakietu połączenia lub w jednym z pól certyfikatu klienta.
Obsługiwane pola certyfikatów klienta dla alternatywnego źródła nazwy uwierzytelniania klienta
Możesz użyć jednego z następujących pól, aby podać nazwę uwierzytelniania klienta w certyfikacie klienta.
Opcja źródła nazwy uwierzytelniania | Pole certyfikatu | opis |
---|---|---|
Nazwa podmiotu certyfikatu | tls_client_auth_subject_dn | Nazwa wyróżniająca podmiotu certyfikatu. |
Dns certyfikatu | tls_client_auth_san_dns | Wpis dNSName SIECI SAN w certyfikacie. |
Identyfikator URI certyfikatu | tls_client_auth_san_uri | Wpis uniformResourceIdentifier SIECI SAN w certyfikacie. |
Adres IP certyfikatu | tls_client_auth_san_ip | Adres IPv4 lub IPv6 znajdujący się we wpisie sieci SAN iPAddress w certyfikacie. |
Adres e-mail certyfikatu | tls_client_auth_san_email | Wpis rfc822Name SIECI SAN w certyfikacie. |
Następne kroki
- Dowiedz się, jak uwierzytelniać klientów przy użyciu łańcucha certyfikatów
- Dowiedz się, jak uwierzytelniać klienta przy użyciu tokenu microsoft Entra ID