Sdílet prostřednictvím


Ověřování klientů MQTT pomocí certifikátů

Zprostředkovatel MQTT azure Event Gridu podporuje ověřování klientů pomocí certifikátů X.509. Certifikát X.509 poskytuje přihlašovací údaje pro přidružení konkrétního klienta k tenantovi. V tomto modelu se ověřování obvykle stává jednou během vytváření relací. Pak se předpokládá, že všechny budoucí operace používající stejnou relaci pocházejí z této identity.

Podporované režimy ověřování jsou:

  • Certifikáty vydané certifikační autoritou (CA)
  • Klientský certifikát podepsaný svým držitelem – kryptografický otisk
  • Token ID Microsoft Entra

Tento článek se zaměřuje na certifikáty. Další informace o ověřování pomocí tokenů ID Microsoft Entra najdete v tématu Ověření klienta pomocí tokenu ID Microsoft Entra.

Certifikáty podepsané certifikační autoritou (CA)

V této metodě je ve službě zaregistrovaný kořenový nebo zprostředkující certifikát X.509. Kořenový nebo zprostředkující certifikát, který se používá k podepsání klientského certifikátu, musí být nejprve zaregistrovaný ve službě.

Důležité

  • Nezapomeňte nahrát kořenový nebo zprostředkující certifikát, který se používá k podepsání klientského certifikátu. Není potřeba nahrát celý řetěz certifikátů.
  • Pokud máte například řetěz kořenových, zprostředkujících a listových certifikátů, nezapomeňte nahrát zprostředkující certifikát, který certifikáty typu list nebo klient podepsal.

Snímek obrazovky zobrazující stránku certifikátů certifikační autority s kořenovými a zprostředkujícími certifikáty použitými k podepsání klientských certifikátů

Při registraci klientů je potřeba identifikovat pole certifikátu použité k uložení ověřovacího názvu klienta. Služba odpovídá ověřovacímu názvu z certifikátu s ověřovacím názvem klienta v metadatech klienta, aby ověřila klienta. Služba také ověří klientský certifikát tím, že ověří, jestli je podepsaný dříve registrovaným kořenovým nebo zprostředkovaným certifikátem.

Snímek obrazovky zobrazující metadata klienta s pěti schématy ověřování založenými na řetězu certifikátů

Klientský certifikát podepsaný svým držitelem – kryptografický otisk

V této metodě ověřování ukládá registr klienta přesný kryptografický otisk certifikátu, který bude klient používat k ověření. Když se klient pokusí připojit ke službě, služba ověří klienta porovnáním kryptografického otisku v klientském certifikátu s kryptografickým otiskem uloženým v metadatech klienta.

Snímek obrazovky zobrazující metadata klienta se schématem ověřování kryptografického otisku

Poznámka:

  • Do pole uživatelského jména paketu pro připojení klienta doporučujeme zahrnout název ověření klienta. Pomocí tohoto názvu ověřování spolu s klientským certifikátem bude služba moct klienta ověřit.
  • Pokud do pole uživatelského jména nezadáte ověřovací název, musíte nakonfigurovat alternativní zdrojová pole pro název ověřování klienta v oboru názvů. Služba hledá název ověřování klienta v odpovídajícím poli klientského certifikátu pro ověření připojení klienta.

Na stránce konfigurace v oboru názvů můžete povolit alternativní zdroje názvů ověřování klientů a pak vybrat pole klientského certifikátu, která mají název ověření klienta.

Snímek obrazovky zobrazující stránku konfigurace oboru názvů s alternativním nastavením názvu ověřování klienta

Pořadí výběru polí klientského certifikátu na stránce konfigurace oboru názvů je důležité. Služba vyhledá název ověřování klienta v polích klientských certifikátů ve stejném pořadí.

Pokud například nejprve vyberete možnost DNS certifikátu a pak možnost Název subjektu – při ověřování připojení klienta,

  • služba nejprve zkontroluje pole DNS alternativního názvu subjektu klientského certifikátu pro název ověření klienta.
  • pokud je pole DNS prázdné, služba zkontroluje pole Název subjektu klientského certifikátu.
  • Pokud v některém z těchto dvou polí není název ověřování klienta, připojení klienta se odepře.

V obou režimech ověřování klientů očekáváme, že se název ověření klienta poskytne buď v poli uživatelské jméno připojového paketu, nebo v jednom z polí klientského certifikátu.

Podporovaná pole klientského certifikátu pro alternativní zdroj názvu ověřování klienta

K zadání názvu ověřování klienta v klientském certifikátu můžete použít jedno z následujících polí.

Možnost zdroje názvu ověřování Pole Certifikátu Popis
Název subjektu certifikátu tls_client_auth_subject_dn Rozlišující název subjektu certifikátu.
Dns certifikátu tls_client_auth_san_dns Položka dNSName sítě SAN v certifikátu.
Identifikátor URI certifikátu tls_client_auth_san_uri Položka uniformResourceIdentifier sítě SAN v certifikátu.
IP adresa certifikátu tls_client_auth_san_ip Adresa IPv4 nebo IPv6, která se nachází v položce sítě SAN iPAddress v certifikátu.
E-mail certifikátu tls_client_auth_san_email Položka rfc822Name sítě SAN v certifikátu.

Další kroky