Klienti MQTT
V tomto článku se dozvíte o konfiguraci klientů MQTT a skupin klientů.
Klienti
Klienti můžou být zařízení nebo aplikace, jako jsou zařízení nebo vozidla, která odesílají a přijímají zprávy MQTT.
Představte si například společnost pro správu vozového parku se stovkami nákladních vozů a dalšími nákladními vozidly. Pomocí odesílání a přijímání zpráv MQTT do/z cloudové služby můžete zlepšit jejich směrování, sledování, bezpečnost ovladačů a předvídatelnou údržbu.
V tomto scénáři je možné vozidla nakonfigurovat jako klienty, kteří publikují nebo odebírají různá témata, jako jsou informace o počasí, podmínky silničního provozu, geografické umístění, výkon motoru a další aspekty opotřebení a slzy vozidla. A při konfiguraci vozidla jako klienta lze také zahrnout do metadat klienta sadu atributů, jako je typ vozidla, rok, vytvoření a model, maximální zatížení atd.
Poznámka:
- Název klienta může mít délku 1 až 128 znaků.
- Název klienta může obsahovat alfanumerické znaky, pomlčku(-), dvojtečku (:), tečku(.) a podtržítko(_), bez mezer. Rozlišují se malá a velká písmena a musí být jedinečná pro každý obor názvů.
Klíčové termíny metadat klienta
Název ověřování klienta: Pro klienta můžete zadat jedinečný identifikátor bez omezení pojmenování Azure Resource Manageru. Jedná se o povinné pole a pokud není explicitně zadané, je ve výchozím nastavení nastaveno na název klienta.
V rámci oboru názvů nemůžou mít dva klienti stejný název ověřování. Při ověřování klienta považujeme název ověřování klienta za nerozlišující malá a velká písmena.
Zachováváme původní případ názvu ověřování klienta, který nakonfigurujete v klientovi. Používáme původní název ověřování klienta (rozlišují se malá a velká písmena), který byl poskytnut při vytváření klienta, při rozšiřování směrování, porovnávání prostoru témat atd.
Poznámka:
- Název ověřování klienta může mít délku 1 až 128 znaků, řetězce UTf-8, bez omezení.
- V názvu ověřování klienta se rozlišují malá a velká písmena a musí být jedinečný pro jednotlivé obory názvů (při určování jedinečnosti se malá a velká písmena ignorují).
Schéma ověřování pomocí klientského certifikátu: Pokud chcete použít certifikát certifikační autority pro ověřování, můžete zvolit jednu z následujících možností a určit umístění identity klienta v klientském certifikátu. Když se klient pokusí připojit ke službě, služba najde z tohoto pole certifikátu identifikovat klienta a shoduje se s názvem ověřování klienta pro ověření klienta.
Podporujeme pět polí certifikátu:
- Předmět odpovídá ověřovacímu názvu
- Dns odpovídá názvu ověřování
- Identifikátor URI odpovídá názvu ověřování
- IP adresa odpovídá názvu ověřování
- E-mail odpovídá názvu ověřování
Při ověřování klienta použijte možnost Shoda kryptografického otisku pomocí certifikátu podepsaného svým držitelem.
Poznámka:
- ClientCertificateAuthentication se vždy vyžaduje s platnou hodnotou validationScheme.
- authenticationName není vyžadováno, ale po prvním vytvoření požadavku se hodnota authenticationName ve výchozím nastavení nastaví na název ARM a pak se nedá aktualizovat.
- authenticationName nelze aktualizovat.
- Pokud je validationScheme cokoli jiného než ThumbprintMatch, seznam allowedThumbprints nelze zadat.
- Seznam allowedThumbprints lze zadat pouze a musí být poskytnut, pokud je validationScheme ThumbprintMatch s alespoň jedním kryptografickým otiskem.
- allowedThumbprints může obsahovat maximálně 2 kryptografické otisky.
- Povolené hodnoty validationScheme jsou SubjectMatchesAuthenticationName, DnsMatchesAuthenticationName, UriMatchesAuthenticationName, IpMatchesAuthenticationName, EmailMatchesAuthenticationName, ThumbprintMatchch
- Použití kryptografického otisku s povoleným opětovným použitím stejného certifikátu napříč více klienty U jiných typů ověřování musí být název ověřování ve zvoleném poli klientského certifikátu.
Atributy klienta
Atributy klienta jsou sada párů klíč-hodnota definovaných uživatelem nebo značek, které poskytují informace o klientovi.
Tyto atributy klienta lze použít k vytvoření skupin klientů. Můžete například seskupit všechna vozidla typu částečně do jedné skupiny a všechna vozidla typu pickup-truck do jiné.
Tyto atributy se používají v dotazech skupiny klientů k filtrování sady klientů. Atributy mohou popisovat fyzické nebo funkční charakteristiky klienta. Typickým atributem může být typ klienta.
Tady je příklad:
- Typ: Hodnoty můžou být "senzor" nebo "termostat" nebo "vozidlo".
Tady je ukázkové schéma pro klienta s definicí atributu:
{
"id": "device123",
"attributes": {
"type": "home-sensors",
"sensors": ["motion", "noise", "light"]
}
}
Při konfiguraci atributů klienta zvažte témata, ke kterým klienti publikují (odebírat). Zpětná úvaha od témat k klientům pomáhá snadněji identifikovat podobnosti napříč klientskými rolemi a definovat atributy klienta, aby se zjednodušily seskupování klientů.
Poznámka:
- Klíče atributů klienta musí být v klientovi jedinečné. Klíče nelze opakovat.
- Hodnoty atributů klienta mohou být typu
string
,integer
neboarray of strings
typy. - Celková velikost atributů klienta klienta musí být vždy menší než 4 kB.
- Název atributu klienta (klíč) může obsahovat pouze alfanumerické znaky a podtržítko(_).
Ukázkové kontrakty
Příklad ověřování klientů na základě řetězu certifikátů
{
"properties": {
"authenticationName": "127.0.0.1",
"state": "Enabled",
"clientCertificateAuthentication": {
"validationScheme": "IpMatchesAuthenticationName"
},
"attributes": {
"room": "345",
"floor": 3,
"bldg": "17"
},
"description": "Description of the client"
}
}
Příklad ověřování klienta na základě kryptografického otisku certifikátu podepsaného svým držitelem
{
"properties": {
"authenticationName": "abcd@domain.com-1",
"state": "Enabled",
"clientCertificateAuthentication": {
"validationScheme": "ThumbprintMatch",
"allowedThumbprints": ["primary", "secondary"]
},
"attributes": {
"room": "345",
"floor": "3",
"bldg": 17
},
"description": "Description of the client"
}
}
Konfigurace webu Azure Portal
Pomocí následujícího postupu vytvořte klienta:
Přechod na obor názvů na webu Azure Portal
V části Klienti vyberte + Klient.
Zvolte schéma ověřování klientských certifikátů. Další informace o konfiguraci ověřování klientů najdete v článku o ověřování klientů.
Přidejte atributy klienta.
- Vyberte příkaz Vytvořit.
Konfigurace Azure CLI
K vytvoření, zobrazení nebo odstranění klienta použijte následující příkazy.
Vytvoření klienta
az eventgrid namespace client create -g myRG --namespace-name myNS -n myClient
Získání klienta
az eventgrid namespace client show -g myRG --namespace-name myNS -n myClient
Odstranění klienta
az eventgrid namespace client delete -g myRG --namespace-name myNS -n myClient
Další kroky
- Další informace o ověřování klientů