Műszaki összefoglaló
A cikk legfontosabb pontjai:

A szöveg kifejti, hogy a tudatosan megtervezett IT/OT-architektúra hiánya a gyors kerülőmegoldásokat műszaki és szervezeti adóssággá alakítja. Ennek következménye az állásidő, a felelősségi viták, valamint a nagyobb kockázat a korszerűsítés és a megfelelőségértékelés során.

  • Az IT/OT architektúra olyan tervezési döntéssé válik, amely hatással van a költségekre, a szervezetre és a folyamat rendelkezésre állására.
  • Az ideiglenes integrációk segítik az üzembe helyezést, később azonban növelik a módosítások, az auditok, az incidensek és a bővítés költségeit.
  • Három kritérium kulcsfontosságú: a változtatás biztonságos végrehajtásának ideje, az egyes adatcserék felelőse és a meghibásodások termelésre gyakorolt hatásának elemzése.
  • Ha az integráció érinti a leállítást, az energiaellátás megszakítását vagy az újraindítás-gátlást, akkor a funkcionális biztonság területére lép.
  • Az ideiglenes megoldásokhoz tartoznia kell felelős személynek, megszüntetési feltételeknek, dokumentációs követelményeknek és újraértékelési kritériumoknak.

Miért fontos ez a téma ma

A gyár fejlesztése egyre ritkábban merül ki abban, hogy beállítanak még egy gépet vagy elszigetelten elindítanak egy újabb sort. Többnyire inkább annak a környezetnek a bővítését jelenti, amelyben a termelési rendszerek, a karbantartás, a minőségbiztosítás, a tervezés, a raktár és a vezetői riportálás adatokat cserélnek egymással, és kölcsönösen hatnak a folyamat rendelkezésre állására. Ilyen felállásban az IT/OT-architektúra már nem olyan technikai kérdés, amit „később még egyeztetünk”, hanem olyan tervezési döntés, amelynek pénzügyi és szervezeti következményei vannak. Az ideiglenes integrációk az üzembe helyezés szakaszában működnek, mert az aktuális problémát oldják meg: gyorsan csatlakoztatnak egy új gépet, néhány jelet exportálnak a riporthoz, vagy megkerülik egy régebbi vezérlő korlátait. Néhány év múlva azonban visszaütnek, amikor az üzem növelni akarja a teljesítményt, új megfelelőségi követelményeknek kell eleget tennie, vagy biztonságosan akarja módosítani a berendezés működését. Ilyenkor derül ki, hogy nem egyetlen vezeték vagy script a gond, hanem az egységes kommunikációs, felelősségi és funkcióelválasztási szabályok hiánya.

A legnagyobb hiba az, ha ezeket a megoldásokat költségszempontból semlegesnek tekintik. Valójában csak későbbre tolják a költséget, és ezt rendszerint a lehető legrosszabb pillanatban teszik: bővítéskor, audit, incidens vagy beszállítóváltás idején. Projektoldalról ennek nem csupán az a következménye, hogy a következő ütem bevezetése drágább lesz, hanem az is, hogy megszűnik a kiszámíthatóság. A csapat már nem tudja pontosan, mely függőségek kritikusak a termelés folytonossága szempontjából, hol ér véget az integrátor felelőssége és hol kezdődik az üzem tulajdonosának felelőssége, illetve mely változtatások igényelnek ismételt kockázatértékelést. A gyakorlatban itt kezdődik a hibás tervezési döntések rejtett költségeinek területe: többletleállások, eseti szervizmunkák, ismételt átvételek, nehézségek a változások dokumentálásában és viták a garancia terjedelméről. Ha az architektúrát nem a gyárfejlesztés tudatos modelljeként írták le, akkor minden következő ütemet technikai és szervezeti adósság fog terhelni.

Jó gyakorlati próbakő nem az a kérdés, hogy az integráció „működik-e”, hanem az, hogy két vagy három beruházási ütem múlva biztonságosan és kiszámíthatóan módosítható-e. Ha egy új sor bevezetése több helyen kézi jeltérképezést igényel, a kapcsolatokra vonatkozó tudás megoszlik a beszállítók között, és a teljes adatút rekonstruálásához a vezérlőkód, a köztes adatbázisok és a nem dokumentált szolgáltatások elemzésére van szükség, akkor a projekt már emelt kockázatú pályára került. Érdemes a helyzetet három mérhető szempont alapján értékelni: mennyi idő kell egy kontrollált változtatás bevezetéséhez, egyértelműen megnevezhető-e minden adatcsere felelőse, valamint visszakövethető-e egy hiba vagy módosítás hatása a termelésre és a biztonságra. Ha ez a három dolog nem ragadható meg, akkor a probléma nem a csapat kényelméről szól, hanem az egész vállalkozás irányíthatóságáról.

A gyakorlatból vett példa ismétlődő: az üzem új termelési területet indít, és a gyors indulás érdekében a folyamatadatokat köztes megoldásokon keresztül kapcsolja az üzleti rendszerekhez, a célarchitektúrán kívül kialakítva. Egy ideig minden rendben lévőnek tűnik, mert az adatáramlás elegendő a riportáláshoz és a napi felügyelethez. A probléma a további automatizálásnál, a karbantartási rendszerekkel való integrációnál vagy a gép működési logikájának módosításánál jelentkezik. Ekkor az operatív réteg egyetlen változtatása hatással van a riportokra, riasztásokra, receptekre vagy a távoli hozzáférésre, és az összefüggések már nem egyértelműek. Ha ráadásul a megoldás beavatkozik a leállítással, az energia leválasztásával vagy az újraindítás megakadályozásával kapcsolatos funkciókba, akkor a kérdés már nem kizárólag informatikai ügy. Átkerül a funkcionális biztonság területére, és külön elemzést igényel, beleértve annak ellenőrzését is, hogy nem sérültek-e a váratlan elindulás elleni védelemre vonatkozó alapfeltevések. Ezen a ponton az IT/OT-architektúra közvetlenül kapcsolódik a gyárfejlesztési projekt kockázatelemzéséhez, valamint azokhoz a döntésekhez, amelyek később a megfelelőségértékelés és a műszaki dokumentáció terjedelmét is befolyásolják.

Ezért erről most kell dönteni, nem pedig az üzembe helyezés lezárása után. Nem azért, mert minden integrációnak már a kezdetektől összetettnek kell lennie, hanem azért, mert már induláskor különbséget kell tenni az ideiglenes megoldás és aközött a megoldás között, amely az üzem tartós architektúrájának részévé válik. Ennek a megkülönböztetésnek tervezési következményekkel kell járnia: külön döntési felelős, a kerülőmegoldás kivezetésének feltételei, dokumentációs követelmények és az újbóli értékelés szempontjai bővítés esetén. Ha az üzem további beruházási ütemeket, gépkorszerűsítést vagy a megfelelőségértékelés előkészítését tervezi, az ilyen megkülönböztetés hiánya szinte mindig növeli a változtatás költségét és kiterjeszti a felelősség körét a beruházó oldalán. Éppen ezért az IT/OT-architektúra ma már nem a projekt kiegészítő eleme, hanem a költség, az ütemezés és a kockázat feletti kontroll fenntartásának egyik feltétele.

Hol nő meg leggyakrabban a költség vagy a kockázat

A gyárfejlesztésben a legnagyobb költséget általában nem maguk az IT és OT közötti interfészek jelentik, hanem azoknak az „átmenetileg” meghozott döntéseknek a következményei, amelyek néhány év múlva már tartós architektúraként működnek. Az ideiglenes integráció nem azért üt vissza, mert műszakilag tökéletlen volt, hanem azért, mert senki nem határozta meg a határait: ki felel a módosításért, mely adatok számítanak elsődlegesnek, hogyan kell helyreállítani a konfigurációt hiba után, és mikor kell megszüntetni a kerülőmegoldást. A gyakorlatban ott nőnek meg a költségek, ahol az átmeneti megoldás formális döntés nélkül kerül be a karbantartás, a termelés, a minőségügy vagy a vezetői riportálás területére, hogy onnantól kritikus elemmé váljon. A projekt szempontjából ez későbbi vitákat jelent a költségvetésről és a terjedelemről, a szervezet számára pedig a felelősség elmosódását is: a meghibásodás műszaki problémának látszik, miközben a forrása egy le nem zárt architekturális döntés volt. Hasznos értékelési szempont itt egy egyszerű kérdés: az üzem bővítése után meg lehet-e nevezni a folyamat tulajdonosát, az adatok tulajdonosát és a biztonságos változtatás eljárását anélkül, hogy be kellene vonni „az egyetlen embert, aki tudja, hogyan működik”. Ha nem, akkor a kockázat már be van építve a projektbe.

A növekvő költségek másik területe az irányítási réteg és az üzleti adatcsere rétegének elválasztásának hiánya. A beruházás első szakaszában ez a rövidítés csábítónak tűnhet: ugyanaz a szerver közvetít a géppel való kommunikációban, archiválja az adatokat, ellátja a riportot adatokkal, és kezeli a szerviz távoli hozzáférését. Egyetlen sor esetén ez látszólag megfelelően működik, de a bővítés további szakaszaiban az egyik cél érdekében végzett minden változtatás hatással lesz a többire is. A vállalati rendszer által kikényszerített frissítés veszélyeztetheti a termelés folytonosságát, a gyorsabb riportálás igénye pedig olyan berendezések konfigurációjába való beavatkozáshoz vezethet, amelyek korábban stabilan működtek. Ilyenkor a hibás tervezési döntések rejtett költségei nem csupán a többlethardver vagy az integrátori szolgáltatások beszerzésében jelennek meg. Sokkal súlyosabbak az állásidő, az ismételt tesztek, a bevezetések alatti éjszakai munka, valamint annak a tudásnak az újbóli felépítésének költségei, amelyet sehol nem rögzítettek. Projektirányítási szempontból az ésszerű minimum annak felmérése, hogy az informatikai rész meghibásodása vagy módosítása leállíthatja-e a gép vagy a sor működési funkcióját. Ha a válasz igen, akkor az architektúrát korrigálni kell, függetlenül attól, hogy „egyelőre működik”.

Tipikus példa, amikor új gépeket kapcsolnak a meglévő üzemi infrastruktúrához. A beszállító gyorsan üzembe helyezi a berendezést, mert szükség van az átvételre és a termelés indulására, ezért az üzemi rendszerekkel való kommunikációt egy kiegészítő számítógépen, fájlokat exportáló szkripten vagy kézzel módosított jelképen keresztül oldja meg. Egy év múlva érkezik még egy gép, két év múlva megváltozik a felsőbb szintű rendszer, három év múlva pedig kiderül, hogy senki sem tudja egyértelműen leírni, mely üzenetek kritikusak a folyamat szempontjából, melyek szolgálnak csak riportálásra, és melyek fontosak a diagnosztika vagy a tételazonosíthatóság szempontjából. Ezen a ponton a téma részben már átvezet a gépek kezelési utasításainak elkészítése területére, mert ha a kezelő, a karbantartás vagy a szerviz nem rendelkezik dokumentált eljárásokkal a kommunikáció megszűnése, a kézi kerülőmegoldás vagy a paraméterek helyreállítása esetére egy alkatrész cseréje után, akkor a probléma már nem kizárólag informatikai jellegű. A biztonságos üzemeltetés megszervezésének, valamint a használat módjáért és a módosításokért viselt későbbi felelősségnek is részévé válik.

Csak ezen a szinten látszik meg, miért kerül elő újra a kérdés a megfelelőségértékelés, a műszaki dokumentáció és a változtatások költségtervezése során is. Ha az integráció hatással van a gép funkcióira, a reteszelések logikájára, az állapotok visszaigazolásának módjára vagy a felhasználónak továbbított információkra, szükség lehet az kockázatelemzés újbóli elvégzésére és annak ellenőrzésére, hogy a dokumentáció továbbra is megfelel-e a tényleges megoldásnak. Ennek az értékelésnek a terjedelme a változtatás jellegétől függ, ezért ezt nem lehet tisztességesen egyetlen univerzális mondattal eldönteni, de éppen ezért ilyen költségesek az ideiglenes megoldások: megnehezítik annak megállapítását, hogy valójában mit módosítottak, és milyen jogi, illetve üzemeltetési következményei vannak ennek. A döntéshozó csapat számára a gyakorlati szempont a következő: ha az integráció módosítását nem lehet leírni a konfigurációs dokumentációban, a tesztelési eljárásban és az üzemeltetési szabályokban informális tudásra való hivatkozás nélkül, akkor a projekt már belépett abba a zónába, ahol nemcsak a műszaki költség nő, hanem a beruházó, a projektvezető és a megoldást üzembe engedő személyek felelőssége is.

Hogyan érdemes a témát a gyakorlatban megközelíteni

A gyakorlatban a kérdés nem az, hogy az IT és OT integrációját gyorsabban kell-e megvalósítani, hanem az, hol kell meghúzni a határt az átmeneti megoldás és az olyan architekturális adósság között, amely néhány év múlva már akadályozza a gyár fejlődését. Az ideiglenes kapcsolatok többnyire az indítás nyomása alatt jönnek létre: gyorsan ki kell nyerni az adatokat a gépből, hozzá kell adni egy új gyártósort, össze kell kapcsolni a minőségügyi rendszert a termelési nyilvántartásokkal, vagy biztosítani kell a távoli szervizhozzáférést. A probléma akkor kezdődik, amikor az „átmenetileg” bevezetett megoldás a további projekt­döntések alapjává válik. A csapat elveszíti a felelősségi körök egyértelmű felosztását, és minden bővítéshez a levelezésekből, a helyi beállításokból és a kezelők gyakorlatából kell újra felépíteni a tudást. Ez már nem apró műszaki kényelmetlenség, hanem olyan tényező, amely hatással van az ütemtervre, a változtatás költségére és annak igazolhatóságára, hogy ki és milyen alapon engedte az adott megoldást működésbe.

Ezért a helyes megközelítés nem az eszköz kiválasztásával, hanem egy architekturális döntéssel kezdődik. A vezetőnek vagy az adott terület felelősének el kell várnia, hogy minden új integrációhoz egyértelműen meghatározott működési cél, az IT/OT határ mindkét oldalán kijelölt felelős, valamint az indulás utáni fenntartás feltételei tartozzanak. Ha nem világos, ki felel az adatforrásért, ki hagyja jóvá a konfiguráció módosítását, ki teszteli a folyamatra gyakorolt hatásokat, és ki dönt a vészüzemi működésről, akkor a projekt valójában az üzemeltetési szakaszra tolja át a kockázatot. Itt kezdődik természetes módon a projektvezető szerepe az IT/OT döntésekben: nem határidők koordinátoraként, hanem olyan személyként, aki kikényszeríti a felelősségi körök rendezését, mielőtt az ideiglenes megoldás „gyors kerülőútként” bekerülne a költségvetésbe és az ütemtervbe. A gyakorlati értékelési szempont egyszerű: ha a tervezett integráció a szállítóváltás, a vezérlő cseréje vagy a sor bővítése után az eredeti kerülőmegoldás készítőjének közreműködése nélkül nem tartható fenn, akkor ez nem átmeneti megoldás, hanem a projekt jövőbeli költsége.

Jó próba erre egy meglévő sor bővítése egy további állomással, amelynek adatokat kell továbbítania a felettes rendszer felé, és közben reagálnia kell a már működő rész állapotaira is. Ha a csapat úgy dönt, hogy a jeleket közvetlenül köti be, és az adatokat informálisan fordítja le, „mert így gyorsabb lesz”, kezdetben minden megfelelően működhet. Idővel azonban megjelennek a mellékhatások: nehezebb megállapítani, hogy a hiba a gép logikájából, a kommunikációs rétegből vagy a riportáló alkalmazásból ered-e; az átvételi tesztek csak a szokásos forgatókönyveket fedik le; egyetlen elem korszerűsítése egyszerre több helyen is módosítást kényszerít ki. Ilyenkor válnak láthatóvá a hibás projekt­döntések rejtett költségei is: többletállásidő a diagnosztika miatt, az integrátor költséges jelenléte minden változtatásnál, viták a garancia terjedelméről és késések a beruházás következő szakaszaiban. Ezért nemcsak az üzembe helyezés idejét érdemes mérni, hanem a kézi konfigurációt igénylő integrációs pontok számát, a módosítás utáni incidenselemzéshez szükséges időt, valamint azoknak a változtatásoknak a számát is, amelyeket helyi tesztelés helyett teljes rendszerre kiterjedően kell ellenőrizni.

Csak ebben az összefüggésben van értelme a biztonsági és megfelelőségi követelményekre hivatkozni. Ha az integráció hatással van a gép üzemi állapotaira, a reteszelésekre, a jelvisszaigazolásokra, az indítási vagy leállítási sorrendre, akkor már nem tekinthető semleges informatikai kiegészítésnek. A változtatás jellegétől függően ez szükségessé teheti a kockázatértékelés újbóli elvégzését, a műszaki dokumentáció frissítését, valamint annak ellenőrzését, hogy az üzemeltetés módja továbbra is megfelel-e az adott gépre vagy sorra vonatkozó eredeti feltételezéseknek. Ez különösen ott látható jól, ahol az integrációs réteg közvetett módon már a biztonságos hozzáférés, az energia leválasztása vagy a váratlan elindulás megelőzésének feltételeire is hatást gyakorol. Ilyen esetben az architekturális döntés kikerül a bevezetési kényelem köréből, és a jogi, illetve műszaki felelősség területére lép át. Ha a csapat nem tudja egyértelműen igazolni, mely kapcsolatok kizárólag tájékoztató jellegűek, és melyek befolyásolják a gép viselkedését, az annak a jele, hogy a kérdést ki kell emelni a „rendszerintegráció” szintjéről, és a biztonság, a költségvetés és a megoldást jóváhagyó személyek felelőssége szempontjából jelentős változtatásként kell kezelni. A megfelelőségértékelés és a műszaki dokumentáció szempontjából ez különösen lényeges.

Mire kell figyelni a bevezetés során

A legtöbb probléma nem magából az IT/OT integrációból fakad, hanem abból, hogy a projektben azt egy új funkció gyors beindításának eszközeként kezelik, nem pedig a gyár architektúrájának tartós elemeként. Ilyenkor állnak bosszút néhány év múlva az ideiglenes kapcsolatok: a sor bővítésekor, a vezérlők cseréjekor, a felettes rendszer szállítójának váltásakor vagy egy biztonsági audit során kiderül, hogy senki sem tudja egyértelműen megnevezni az interfész felelősét, működési szabályait vagy a meghibásodás következményeit. A projekt számára ez nemcsak a műszaki adósság költségét jelenti, hanem szervezeti többletterhet is: több egyeztetést, hosszabb, teljes rendszerre kiterjedő teszteket, nehezebb átvételeket és nagyobb kockázatot arra, hogy a csúszás csak a végén jelenik meg, amikor az ütemterv már a legkevésbé rugalmas. Ezen a ponton a téma természetes módon átvezet a hibás projekt­döntések rejtett költségeihez, mert a probléma forrása nem egyetlen kivitelezési hiba, hanem az a döntés, hogy a megfelelő architektúrát későbbre halasztják.

A bevezetés során ezért a megoldást nem aszerint érdemes megítélni, hogy „most működik-e”, hanem aszerint, hogy fenntartható-e, és biztonságosan, kiszámítható módon módosítható-e. A gyakorlati kritérium egyszerű: ha a tervezett integrációhoz nincs leírva a felelősségi körök határa, a hibakezelési mód, a verziókezelés szabálya és a módosítás utáni tesztelési eljárás, akkor még nem áll készen a termelési bevezetésre, még akkor sem, ha a tesztállomáson működik. Ez különösen fontos ott, ahol ugyanannak az interfésznek a beruházás jelenlegi szakaszát és a jövőbeli bővítést is ki kell szolgálnia. A gyár fejlődése szinte mindig növeli a rendszerek közötti függőségek számát, és az ideiglenes megoldások éppen akkor működnek a legrosszabbul, amikor nő a kivételek, a kerülőutak és a helyi megállapodások száma. A projektvezető szempontjából ez azt jelenti, hogy korán el kell dönteni, ki hagyja jóvá az automatizálás, a karbantartás, az informatika és a megfelelőség közötti határterületi döntéseket, mert enélkül a felelősség éppen ott mosódik el, ahol később a legnagyobb vita alakul ki a költségről és a határidőről. Ez különösen fontos az ipari automatizálás és a gyártó- és technológiai sorok bővítése során.

Tipikus gyakorlati példa, amikor a gyártósor és a riportálási rendszer közötti adatcserét egy köztes szkripttel vagy egy nem dokumentált, azon a szerveren futó szolgáltatással egészítik ki, amely „már úgyis ott van az üzemben”. Az üzembe helyezés szakaszában ez ésszerű megoldásnak tűnik: nem igényel módosítást a gépszállító oldalán, lerövidíti a bevezetést, és gyorsan felmutatható vele az üzleti eredmény. A probléma később jelentkezik. Operációs rendszer frissítése, címzési változás, biztonsági mentés visszaállítása vagy eszközcsere után senki sem lehet biztos abban, hogy a jelillesztési logika továbbra is megfelel a folyamat valós működésének. Ha ez a mechanizmus részt vesz a visszaigazolásokban, reteszelésekben, a megrendelések sorba rendezésében vagy az indítási feltételekben, akkor a hiba már nem egyszerű informatikai incidens, hanem hatással van a sor rendelkezésre állására, a termelés minőségére és arra is, ki felel a megoldás üzembe engedéséért. Ekkor a kérdés természetes módon átvezet a gyárfejlesztési projekt kockázatelemzéséhez, mert nemcsak a meghibásodás valószínűségét kell értékelni, hanem a hibás információ, a hibás sorrend és a kezelő hibás reakciójának következményeit is.

Csak ebben az összefüggésben van értelme a formai követelményekre hivatkozni. Ha az integrációs réteg kizárólag tájékoztató jellegű marad, és ez műszakilag igazolható, akkor a kötelezettségek köre más lesz, mint abban az esetben, ha befolyásolja a gép vagy a sor viselkedését. Ha azonban hatással van a működési logikára, az indítás, leállítás, visszaigazolás vagy megkerülés feltételeire, akkor a bevezetést műszaki, és adott esetben biztonsági jelentőségű változtatásként kell kezelni, nem pedig egyszerű rendszerbővítésként. Ez azt is jelentheti, hogy ismételten ellenőrizni kell a kockázatértékelés alapfeltevéseit, a műszaki dokumentációt és a megfelelőségi feltételeket, amelyeket az adott megoldásra elfogadtak. A gyakorlatban a biztonságos döntés nem úgy hangzik, hogy „rá lehet-e ezt kötni”, hanem úgy, hogy „a bevezetés után bizonyítani tudjuk-e, mit csinál ez az interfész, ki felel érte, és hogyan tartjuk ellenőrzés alatt a változást”. Ha a válasz nem egyértelmű, az elhalasztott architekturális döntés költsége rendszerint a következő korszerűsítésnél, tanúsításnál vagy incidensnél tér vissza, és akkor már nemcsak műszaki, hanem irányítási problémát is jelent.

GYIK: A gyár fejlődése és az IT/OT-architektúra – miért ütnek vissza néhány év után az ideiglenes integrációk?

Az üzembe helyezés szakaszában megoldják az aktuális problémát, idővel azonban a tartós architektúra részévé válnak, egyértelmű módosítási szabályok és felelősségi körök nélkül. Ez növeli a bővítés, az auditok, a szervizelés és a hibaelhárítás költségeit.

Figyelmeztető jel, ha az adatokat több helyen kézzel kell leképezni, a kapcsolatokkal kapcsolatos ismeretek szétszórtan állnak rendelkezésre, és nincs teljes körű dokumentáció az adatútvonalról. A kockázat akkor is nő, ha nem lehet gyorsan megállapítani, ki felelős az adatcsere folyamatáért, és hogy egy változtatás milyen hatással van a termelésre.

A szöveg három gyakorlati szempontot jelöl meg: az ellenőrzött változtatás bevezetéséhez szükséges időt, az egyes adatcserék tulajdonosának egyértelmű azonosíthatóságát, valamint annak képességét, hogy rekonstruálható legyen a meghibásodás vagy módosítás hatása a termelésre és a biztonságra. Ha ezek az elemek nem ragadhatók meg, a projekt kicsúszik az irányítás alól.

Ha a megoldás beavatkozik a leállítással, az energiaellátás megszakításával vagy az újraindítás megakadályozásával kapcsolatos funkciókba. Ebben az esetben a funkcionális biztonság körébe tartozik, és külön kockázatelemzést igényel.

Már a kezdet kezdetén meg kell határozni, hogy az adott megoldás kerülőmegoldás-e, vagy az üzem tartós architektúrájának része. Ennek a megkülönböztetésnek a tervezésben is következményekkel kell járnia: meg kell jelölni a döntés felelősét, a megszüntetés feltételeit, a dokumentációs követelményeket és a bővítés esetén alkalmazandó újbóli értékelés szabályait.

Megosztás: LinkedIn Facebook