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.
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.
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.
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.
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
- Zjistěte, jak ověřovat klienty pomocí řetězu certifikátů.
- Zjistěte, jak ověřit klienta pomocí tokenu Microsoft Entra ID.