MQTT-ügyfelek
Ebben a cikkben megismerheti az MQTT-ügyfelek és ügyfélcsoportok konfigurálását.
Ügyfelek
Az ügyfelek lehetnek eszközök vagy alkalmazások, például MQTT-üzeneteket küldő vagy fogadó eszközök vagy járművek.
Vegyük például egy flottakezelő vállalatot több száz teherautóval és más szállítójárművel. Az útválasztási, nyomkövetési, illesztőprogram-biztonsági és kiszámítható karbantartási képességeket úgy javíthatja, hogy MQTT-üzeneteket küld és fogad egy felhőszolgáltatásba vagy onnan.
Ebben a forgatókönyvben a járművek olyan ügyfelekként konfigurálhatók, amelyek különböző témaköröket tesznek közzé/iratkoznak fel, például az időjárási információkat, az útviszonyokat, a földrajzi helyet, a motor teljesítményét és a jármű egyéb elhasználódási aspektusait. A jármű ügyfélként való konfigurálásakor az ügyfél metaadatai között számos attribútum is szerepelhet, például járműtípus, év, make > modell, maximális terhelési kapacitás stb.
Feljegyzés
- Az ügyfélnév 1–128 karakter hosszú lehet.
- Az ügyfélnév tartalmazhat alfanumerikus, kötőjel(-), kettőspont(:), pont(.) és aláhúzásjelet (_), szóközök nélkül. Megkülönbözteti a kis- és nagybetűket, és névtérenként egyedinek kell lennie.
Az ügyfél metaadatainak főbb feltételei
Ügyfél-hitelesítés neve: Egyedi azonosítót adhat meg az ügyfélhez az Azure Resource Manager elnevezési korlátozásai nélkül. Ez egy kötelező mező, és ha nincs explicit módon megadva, akkor alapértelmezés szerint az ügyfélnév lesz.
A névtérben nincs két ügyfél hitelesítési neve. Az ügyfél hitelesítése során az ügyfél-hitelesítési nevet érzéketlenként kezeljük.
Megőrizzük az ügyfél-hitelesítési név eredeti esetét, amelyet az ügyfélben konfigurál. Az ügyfél létrehozásakor megadott eredeti ügyfélhitelesítési nevet (kis- és nagybetűk megkülönböztetése) használjuk az útválasztási bővítésekben, a témakörtér egyeztetésében stb.
Feljegyzés
- Az ügyfélhitelesítés neve 1–128 karakter hosszú lehet, UTf-8 sztringek, korlátozások nélkül
- Az ügyfélhitelesítés neve megkülönbözteti a kis- és nagybetűket, és névtérenként egyedinek kell lennie (a kis- és nagybetűket a rendszer figyelmen kívül hagyja az egyediség meghatározásakor)
Ügyféltanúsítvány-hitelesítési érvényesítési séma: Hitelesítésszolgáltatói tanúsítvány hitelesítéshez való használatához az alábbi lehetőségek közül választhat az ügyfél-identitás helyének megadásához az ügyféltanúsítványban. Amikor az ügyfél megpróbál csatlakozni a szolgáltatáshoz, a szolgáltatás megkeresi az ügyfél azonosítását ebből a tanúsítványmezőből, és megfelel az ügyfél hitelesítési nevének az ügyfél hitelesítéséhez.
Öt tanúsítványmezőt támogatunk:
- Tulajdonos egyezik a hitelesítési névvel
- A DNS megfelel a hitelesítési névnek
- Az URI megfelel a hitelesítési névnek
- IP-cím egyezik a hitelesítési névvel
- Az e-mail megfelel a hitelesítési névnek
Használja az "Ujjlenyomat-egyeztetés" lehetőséget, miközben önaláírt tanúsítványt használ az ügyfél hitelesítéséhez.
Feljegyzés
- A clientCertificateAuthentication mindig érvényes validationScheme értékkel szükséges.
- Az authenticationName nem kötelező, de az első létrehozási kérés után az authenticationName érték alapértelmezés szerint ARM-név lesz, és nem frissíthető.
- Az authenticationName nem frissíthető.
- Ha a validationScheme nem az ThumbprintMatch, akkor az allowedThumbprints lista nem adható meg.
- Az allowedThumbprints lista csak akkor adható meg, és csak akkor adható meg, ha az validationScheme ujjlenyomat-egyezés legalább egy ujjlenyomattal.
- Az engedélyezettThumbprintek legfeljebb 2 ujjlenyomatot tartalmazhatnak.
- Engedélyezett validationScheme értékek: SubjectMatchesAuthenticationName, DnsMatchesAuthenticationName, UriMatchesAuthenticationName, IpMatchesAuthenticationName, EmailMatchesAuthenticationName, ThumbprintMatch
- Ujjlenyomat használata ugyanazzal a tanúsítvánnyal több ügyfélen keresztül. Más típusú érvényesítés esetén a hitelesítési névnek az ügyféltanúsítvány kiválasztott mezőjében kell lennie.
Ügyfélattribútumok
Az ügyfélattribútumok felhasználó által definiált kulcs-érték párok vagy címkék, amelyek információt nyújtanak az ügyfélről.
Ezek az ügyfélattribútumok használhatók az ügyfélcsoportok létrehozásához. Csoportosíthatja például az összes félkamion típusú járművet egy csoportba, az összes járműtípusú pickup-teherautót pedig egy másikba.
Ezek az attribútumok az ügyfélcsoport lekérdezéseiben az ügyfelek egy csoportjának szűrésére szolgálnak. Az attribútumok az ügyfél fizikai vagy funkcionális jellemzőit írják le. A tipikus attribútum lehet az ügyfél "típusa".
Példa:
- Típus: Az értékek lehetnek "érzékelő" vagy "termosztát" vagy "jármű"
Íme egy mintaséma az ügyfélhez attribútumdefinícióval:
{
"id": "device123",
"attributes": {
"type": "home-sensors",
"sensors": ["motion", "noise", "light"]
}
}
Az ügyfélattribútumok konfigurálása során vegye figyelembe azokat a témaköröket, amelyekre az ügyfelek közzétenek (előfizetnek). Ha visszafelé gondolkodik a témakörökről az ügyfelekre, könnyebben azonosíthatja az ügyfélszerepkörök gyakori jellemzőit, és az ügyfélattribútumok definiálásával egyszerűbbé teheti az ügyfélcsoportosítást.
Feljegyzés
- Az ügyfél attribútumkulcsainak egyedinek kell lenniük az ügyfélben. A kulcsok nem ismételhetők meg.
- Az ügyfélattribútum-értékek lehetnek ilyenek
string
integer
vagyarray of strings
típusok. - Egy ügyfél ügyfélattribútumainak teljes méretének mindig 4 KB-nál kisebbnek kell lennie.
- Az ügyfélattribútum neve (kulcs) csak alfanumerikus karaktereket és aláhúzásjeleket (_) tartalmazhat.
Mintaszerződések
Példa tanúsítványláncalapú ügyfél-hitelesítésre
{
"properties": {
"authenticationName": "127.0.0.1",
"state": "Enabled",
"clientCertificateAuthentication": {
"validationScheme": "IpMatchesAuthenticationName"
},
"attributes": {
"room": "345",
"floor": 3,
"bldg": "17"
},
"description": "Description of the client"
}
}
Példa önaláírt tanúsítvány ujjlenyomatalapú ügyfél-hitelesítésre
{
"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"
}
}
Az Azure Portal konfigurálása
Az ügyfél létrehozásához kövesse az alábbi lépéseket:
Ugrás a névtérre az Azure Portalon
Az Ügyfelek területen válassza az + Ügyfél lehetőséget.
Válassza ki az ügyféltanúsítvány-hitelesítési érvényesítési sémát. Az ügyfél-hitelesítés konfigurálásáról további információt az ügyfél-hitelesítésről szóló cikkben talál.
Ügyfélattribútumok hozzáadása.
- Válassza a Létrehozás elemet
Az Azure CLI konfigurálása
Ügyfél létrehozása/megjelenítése/törlése az alábbi parancsokkal
Ügyfél létrehozása
az eventgrid namespace client create -g myRG --namespace-name myNS -n myClient
Ügyfél lekérése
az eventgrid namespace client show -g myRG --namespace-name myNS -n myClient
Ügyfél törlése
az eventgrid namespace client delete -g myRG --namespace-name myNS -n myClient