Hozzáférés-vezérlési listák (ACL)¶
A jegyekkel való munka zavarba ejtő feladat lehet. Számos lehetőség van a jegyek feldolgozására vagy lezárására, még akkor is, ha ezek nem szükségesek egy jegy aktuális állapotában vagy az aktuális ügyintéző szerepe miatt. A szükségtelen bejegyzések elrejtése megtisztítja a menüsort, és egyszerűbbé teszi az azzal végzett munkát, valamint a dinamikus mezőkből származó értékek vagy a következő várólisták elrejtése csökkenti az emberi hiba esélyét.
Az OTRS hozzáférés-vezérlési listákat (ACL) használ, hogy korlátozza az ügyintézőket és az ügyfél-felhasználókat a jegyek lehetőségeiben, így csak helyes és értelmes tevékenységeket tesz lehetővé a jegyekkel. Az OTRS adminisztrátorok egyszerűen tudnak ACL-eket előállítani a grafikus felületen, hogy megakadályozzák a jegyek bezárását mindaddig, amíg megfelelnek bizonyos követelményeknek, megakadályozzák, hogy a jegyeket áthelyezzék várólistákba a meghatározott információk hozzáadása előtt és még sok mást is korlátozhatnak.
Használja ezt a képernyőt a rendszeren lévő hozzáférés-vezérlési listák kezeléséhez. Egy friss OTRS telepítés alapértelmezetten nem tartalmaz hozzáférés-vezérlési listákat. A hozzáférés-vezérlési listák kezelésének képernyője a Folyamatok és automatizálás csoport Hozzáférés-vezérlési listák (ACL) moduljában érhető el.
Hozzáférés-vezérlési listák kezelése¶
Megjegyzés
Ha hozzáférés-vezérlési listákat hoz létre, akkor tartsa észben, hogy azok ábécé sorrendben lesznek végrehajtva, ahogy a hozzáférés-vezérlési listák áttekintőben megjelennek.
Figyelem
Az ACL korlátozások mellőzve lesznek a rendszergazda fióknál (1-es felhasználó-azonosító).
Egy új ACL létrehozásához:
- Kattintson az Új ACL létrehozása gombra a bal oldalsávban.
- Töltse ki a szükséges mezőket.
- Kattintson a Mentés gombra.
- Át lesz irányítva az ACL szerkesztése képernyőre az ACL struktúra szerkesztéséhez.
Egy ACL szerkesztéséhez:
- Kattintson egy ACL-re az ACL-ek listájában vagy már átirányításra került ide az Új ACL létrehozása képernyőről.
- Módosítsa a mezőket és az ACL struktúrát.
- Kattintson a Mentés vagy Mentés és befejezés gombra.
- Állítsa üzembe az összes ACL-t.
Egy ACL törléséhez:
- Kattintson egy ACL-re az ACL-ek listájában.
- Állítsa az Érvényesség beállítás érvénytelen vagy átmenetileg érvénytelen értékre.
- Kattintson a Mentés gombra. Egy új Érvénytelen ACL-ek törlése gomb fog megjelenni a bal oldalsávban.
- Kattintson az Érvénytelen ACL-ek törlése gombra.
- Kattintson a Törlés gombra a megerősítő képernyőn.
- Állítsa üzembe az összes ACL-t.
Figyelem
Az ACL-ek a ZZZACL.pm
fájlba lesznek kiírva Perl-formátumban. Üzembe állítás nélkül az összes ACL továbbra is ebben a gyorsítótárfájlban lesz, még akkor is ha törölték azokat vagy az Érvényesség beállítást érvénytelen vagy átmenetileg érvénytelen értékre állították. Ne felejtse el üzembe állítani az összes ACL-t a módosítások után!
Az összes ACL üzembe állításához:
- Kattintson az ACL-ek üzembe állítása gombra a bal oldalsávban.
Megjegyzés
Az új vagy módosított ACL-eket üzembe kell állítani, hogy hatással legyenek a rendszer viselkedésére. Az Érvényesség beállítás érvényes értékre állítása csak azt jelzi, hogy mely ACL-eket kell üzembe állítani.
Az összes ACL exportálásához:
- Kattintson az ACL-ek exportálása gombra a bal oldalsávban.
- Válasszon egy helyet a számítógépén az
Export_ACL.yml
fájl mentéséhez.
ACL-ek importálásához:
- Kattintson a Tallózás… gombra a bal oldalsávban.
- Válasszon egy előzőleg exportált
.yml
fájlt. - Kattintson a Felülírja a meglévő ACL-eket? jelölőnégyzetre, ha felül szeretné írni a meglévő ACL-eket.
- Kattintson az ACL beállítások importálása gombra.
- Állítsa üzembe az importált ACL-eket az ACL-ek üzembe állítása gombbal.
Megjegyzés
Ha több ACL van hozzáadva a rendszerhez, akkor használja a szűrődobozt egy bizonyos ACL megkereséséhez azáltal, hogy egyszerűen begépeli a nevét a szűrőbe.
Figyelem
Nem szabad, hogy a rendszer 80 érvényes ACL-nél többet tartalmazzon. A korlát túllépése befolyásolhatja a rendszer teljesítményét.
Figyelem
Az objektum nevének megváltoztatásakor gondosan kell eljárni, az ellenőrzés csak bizonyos beállításokhoz nyújt vizsgálatot, és figyelmen kívül hagyja azokat a dolgokat, ahol a nevet nem lehet ellenőrizni. Néhány ilyen például a vezérlőpult fájljai, a hozzáférés-vezérlési listák (ACL-ek) és a folyamatok (szekvenciafolyam-műveletek), hogy egy párat említsünk. A beállítások dokumentálása kulcsfontosságú egy névváltoztatás túléléséhez.
Lehetséges adatvesztés¶
Figyelem
Ha egy legördülő mezőnek olyan értéke van, amelyet egy ACL tilt, akkor a jegyben tárolt érték megváltozik vagy eltávolításra kerül az űrlap elküldése után. Ez lehetséges adatvesztést okozhat!
Íme egy példa a lehetséges problémák magyarázatára:
Létrehoztak egy legördülő dinamikus mezőt négy lehetséges értékkel: BRONZ, EZÜST, ARANY és VIP. Üres érték is megengedett. Az ügyintéző csak a BRONZ, EZÜST és ARANY értékeket választhatja ki. A VIP értéket csak az általános ügyintéző állíthatja be. Ezt egy ACL korlátozza. A dinamikus mező hozzá van adva néhány jegyképernyőhöz. Az egyik képernyőn a mező kötelezőként van beállítva, de egy másik képernyőn a mező nem kötelező, és üres érték is megengedett.
- Az ügyintéző létrehoz egy új jegyet. Az ügyintéző csak a megengedett értékeket választhatja ki, a VIP érték nem jelenik meg. EZÜST lesz kiválasztva, és a jegy létrejön.
- Az általános ügyintéző megváltoztatja az értéket VIP értékre.
- Az ügyintéző megnyit egy olyan jegyműveletet, ahol a mező kötelezőként van hozzáadva. Mivel a mező kötelező, az ügyintézőnek ki kell választania egy másik értéket a VIP helyett, amely egy ACL szabály miatt nem látható az ügyintéző számára. Az űrlap elküldésre kerül, és a dinamikus mező értéke megváltozik. Ez egy nem szándékos változtatás lehet.
- Az általános ügyintéző ismét megváltoztatja az értéket VIP értékre.
- Az ügyintéző megnyit egy olyan jegyműveletet, ahol a mező nem kötelezőként van hozzáadva. A mező üres értéket jelenít meg, mert a jelenlegi VIP érték nem látható az ügyintéző számára. Mivel a mező nem kötelező, az ügyintéző nem változtatja meg az értéket, és üresen hagyja. Az űrlap elküldésre kerül, és a dinamikus mező értéke üres értékre változik. Ez lehetséges adatvesztés lehet.
Legyen óvatos a nem szándékos adatváltoztatással! Ugyanez a helyzet állhat elő a dinamikus mezőkkel, prioritásokkal, várólistákkal, állapotokkal, típusokkal és bármely más, az ACL-ek által tiltott legördülő mezőkkel.
ACL beállítások¶
A következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- Név *
- Ennek az erőforrásnak a neve. Bármilyen típusú karakter beírható ebbe a mezőbe, beleértve a nagybetűket és a szóközt is. A név megjelenik az áttekintő táblázatban.
- Megjegyzés
- Adjon további információkat ehhez az erőforráshoz. Mindig ajánlott egy teljes mondattal kitölteni ezt a mezőt az erőforrás leírásaként a jobb érthetőségért, mert a megjegyzés is megjelenik az áttekintő táblázatban.
- Leírás
- Mint a megjegyzés, csak hosszabb szöveg adható meg ide.
- Leállítás találat után
- Az ACL-ek ábécé sorrendben kerülnek kiértékelésre. Ez a beállítás letiltja a későbbi ACL-ek kiértékelését.
- Érvényesség *
- Állítsa be ennek az erőforrásnak az érvényességét. Minden erőforrás csak akkor használható az OTRS-ben, ha ez a mező érvényes értékre van állítva. Ennek a mezőnek az érvénytelen vagy átmenetileg érvénytelen értékre állításával letiltja az erőforrás használatát.
ACL struktúra szerkesztése¶
Az ACL-meghatározás két nagy részre osztható fel: Illesztési beállítások és Változtatási beállítások.
Illesztési beállítások¶
Az illesztési beállításokban az ACL-ek olyan attribútumokat tartalmaznak, amelyeknek teljesülniük kell az ACL használata érdekében. Ha egy ACL egynél több attribútumot tartalmaz, akkor az összes attribútumnak teljesülnie kell. Ha az ACL-ben meghatározott attribútumok nem egyeznek meg az elküldött attribútumokkal, akkor az ACL-nek nem lesz semmilyen hatása, de bármely egyéb ACL-egyezésnek viszont hatása lesz.
Properties
- Ez a szakasz olyan illesztési lehetőségeket tartalmaz, amelyek röptében megváltoztathatók. Például egy jegy létrehozásakor a jegy adatai dinamikusan megváltoznak, amint az ügyintéző beállítja az információkat. Ha be van állítva egy ACL egy jegyattribútum illesztéséhez, akkor az ACL csak akkor lesz aktív, ha az illesztési attribútumot kiválasztják, és csökkentheti az egyéb jegyattribútumokat, de amint egy másik érték lesz kiválasztva, az ACL-nek nem lesz semmilyen hatása.
PropertiesDatabase
- Ez a szakasz hasonló a
Properties
szakaszhoz, de nem fogad el a jegyattribútumokban olyan változtatásokat, amelyek nincsenek elmentve az adatbázisba. Ez azt jelenti, hogy egy attribútum megváltoztatása elküldés nélkül nem fog semmilyen hatást okozni. Ez a szakasz nem használható a jegylétrehozás képernyőknél (mivel a jegyek még nincsenek létrehozva az adatbázisban).
Változás beállítások¶
A változtatási beállítások tartalmazzák a szabályokat egy jegy lehetséges lehetőségeinek csökkentéséhez.
Possible
- Ez a szakasz használható kizárólag azokra az elemekre csökkentendő adatok visszaállításához, amelyek ebben a szakaszban be vannak állítva.
PossibleAdd
- Ez a szakasz használható azon hiányzó elemek hozzáadásához, amelyek csökkentve lettek más ACL-ekben. Ez a szakasz csak egyéb olyan ACL-ekkel együtt használható, amelyek rendelkeznek
Possible
vagyPossibleNot
szakaszokkal. PossibleNot
- Ez a szakasz adott elemek eltávolításához használható a jelenlegi adatokból. Használható önállóan vagy más
Possible
vagyPossibleAdd
szakaszokkal rendelkező ACL-ekkel együtt.
Módosítók¶
Azért, hogy az ACL-ek fejlesztését könnyebbé és hatékonyabbá tegye, van egy úgynevezett módosítók halmaza az attribútumokhoz minden egyes szakasznál. Ezek a módosítók az alábbiakban vannak ismertetve:
[Not]
- Ez a módosító egy érték tagadásához használható. Például:
[Not]2 low
ebben az esetben a jegyprioritásokról beszélve ugyanaz lesz, mintha a következő lenne: 1 nagyon alacsony, 3 normál, 4 magas, 5 nagyon magas. [RegExp]
- Egy reguláris kifejezés megadásához használható több érték illesztéséhez. Például a
[RegExp]low
a prioritásokról beszélve ugyanaz mint a következő: 1 nagyon alacsony, 2 alacsony. [regexp]
- Nagyon hasonló a
[RegExp]
módosítóhoz, de nem érzékeny a kis- és nagybetűkre. [NotRegExp]
- Tagadott reguláris kifejezés, például
[NotRegExp]low
a prioritásokról beszélve ugyanaz mint a következő: 3 normál, 4 magas, 5 nagyon magas. [Notregexp]
- Nagyon hasonló a
[NotRegExp]
módosítóhoz, de nem érzékeny a kis- és nagybetűkre.
ACL példák¶
Jegy áthelyezése egy várólistába prioritás alapján¶
Ez a példa azt mutatja be, hogy hogyan kell lehetővé tenni csak azoknak a jegyeknek az áthelyezését egy várólistába, amelyek prioritása 5 nagyon magas.
Először szüksége van egy névre. Ebben az esetben legyen ez 100-Example-ACL. Vegye figyelembe, hogy az ACL-ek számszerűen rendezve lesznek a végrehajtás előtt, így körültekintéssel kell használnia a neveket. A megjegyzés és a leírás mezők elhagyhatók.
Másodszor van egy Properties
szakasz, amely egy szűrő a jegyekhez. Az itt meghatározott összes feltétel alkalmazva lesz egy jegyen annak meghatározásához, hogy az ACL-t alkalmazni kell-e vagy sem. A mi példánkban egy jegy akkor fog illeszkedni, ha a Raw várólistában van és 5 nagyon magas prioritással rendelkezik. Ezt az űrlapon lévő változások is érinteni fogják (például ha a jegy a Raw várólistában van és 3 normál prioritással rendelkezik, akkor ebben a pillanatban az ACL nem fog illeszkedni, de ha ezután a prioritás lenyílót kiválasztják és a prioritást 5 nagyon magas értékre változtatják, akkor is illeszkedni fog).
Végül a Possible szakasz módosításokat határoz meg a képernyőhöz. Ebben az esetben az elérhető várólisták közül csak az Alert várólistát lehet kiválasztani egy jegyképernyőn.
Megjegyzés
Ne felejtse el beállítani az Érvényesség beállítást érvényes értékre és üzembe állítani az újonnan létrehozott ACL-t.
Jegy áthelyezése egy várólistába az adatbázisban tárolt prioritás alapján¶
Ez a példa nagyon hasonló az elsőhöz, de ebben az esetben csak azok a jegyek fognak illeszkedni, amelyek a Raw várólistában vannak és 5 nagyon magas prioritással rendelkeznek, mindkettőt adatbázisban tárolva. Az ilyen fajta ACL-ek nem bírálják el az űrlapon lévő változásokat, mielőtt a jegy valóban frissítve lenne az adatbázisban.
Jegylezárás letiltása a várólistában és a lezárás gomb elrejtése¶
Ez a példa azt mutatja be, hogy hogyan lehet letiltani a jegyek lezárását a Raw várólistában és hogyan kell lehet elrejteni a lezárás gombot. Lehetőség van egy jegymező (állapot) szűrésére egynél több lehetséges értékből való választással. Lehetséges azon műveletek korlátozása is, amelyek egy bizonyos jegynél végrehajthatók. Ebben az esetben a jegyet nem lehet lezárni.
Állapot eltávolítása¶
Ez a példa azt mutatja be, hogy hogyan lehetséges negatív szűrőket meghatározni (a sikeresen lezárva állapot lesz eltávolítva). Azt is láthatja, hogy ha nem határozunk meg illesztési tulajdonságokat egy jegyhez, akkor bármely jegyre illeszkedni fog, azaz az ACL mindig alkalmazva lesz. Ez akkor lehet hasznos, ha alapértelmezetten el szeretne rejteni bizonyos értékeket, és csak speciális körülményeknél szeretné engedélyezni azokat (például ha az ügyintéző egy adott csoportban van).
Reguláris kifejezések használta¶
Ez a példa azt mutatja be, hogy hogyan használhat reguláris kifejezéseket a jegyek illesztéséhez és az elérhető lehetőségek szűréséhez. Ez az ACL csak a Hardware szolgáltatásokat jeleníti meg azoknál a jegyeknél, amelyeket HW kezdettel rendelkező nevű várólistákban hoztak létre.
Folyamat letiltása az ügyfélnél¶
Ez az ACL akkor korlátozza a P14 folyamatot a külső felületen, ha a TheCustomerID felhasználó-azonosítóval használják.
ACL hivatkozás¶
Az ACL-ekben használható tulajdonságok, kulcsok és értékek erősen függenek az OTRS telepítésétől. Például a lehetőségek kiterjeszthetők kiegészítő modulok telepítésével, valamint a Config.pm
fájlban megadott ügyfél-felhasználó leképezéstől is függhet. Emiatt nem lehetséges egy teljes ACL-hivatkozást megadni, amely az összes beállítást tartalmazza.
Az ACL-ekben használható tulajdonságok, kulcsok és értékek példájáért nézze meg a következő ACL-t YAML formátumban.
---
- ChangeBy: root@localhost
ChangeTime: 2019-01-07 10:42:59
Comment: ACL Reference.
ConfigMatch:
Properties:
# Match properties (current values from the form).
CustomerUser:
UserLogin:
- some login
UserCustomerID:
- some customer ID
Group_rw:
- some group
DynamicField:
# Names must be in DynamicField_<field_name> format.
# Values for dynamic fields must always be the untranslated internal
# data keys specified in the dynamic field definition and not the
# data values shown to the user.
# Using the key is also mandatory for dynamic field of type database
# and dynamic field of type web service.
DynamicField_Field1:
- some value
DynamicField_OtherField:
- some value
DynamicField_TicketFreeText2:
- some value
# more dynamic fields
Frontend:
Action:
- AgentTicketPhone
- AgentTicketEmail
- ...
Endpoint:
- ExternalFrontend::PersonalPreferences
- ExternalFrontend::ProcessTicketCreate
- ExternalFrontend::ProcessTicketNextStep
- ExternalFrontend::TicketCreate
- ExternalFrontend::TicketDetailView
- ...
Owner:
UserLogin:
- some login
Group_rw:
- some group
Role:
- admin
# more owner attributes
Priority:
ID:
- some ID
Name:
- some name
# more priority attributes
Process:
ProcessEntityID:
# the process that the current ticket is part of
- Process-9c378d7cc59f0fce4cee7bb9995ee3eb
ActivityEntityID:
# the current activity of the ticket
- Activity-f8b2fdebe54eeb7b147a5f8e1da5e35c
ActivityDialogEntityID:
# the current activity dialog that the agent/customer is using
- ActivityDialog-aff0ae05fe6803f38de8fff6cf33b7ce
Queue:
Name:
- Raw
QueueID:
- some ID
GroupID:
- some ID
Email:
- some email
RealName:
- OTRS System
# more queue attributes
Responsible:
UserLogin:
- some login
Group_rw:
- some group
Role:
- admin
# more responsible attributes
Service:
ServiceID:
- some ID
Name:
- some name
ParentID:
- some ID
# more service attributes
SLA:
SLAID:
- some ID
Name:
- some name
Calendar:
- some calendar
# more SLA attributes
State:
ID:
- some ID
Name:
- some name
TypeName:
- some state type name
TypeID:
- some state type ID
# more state attributes
Ticket:
Queue:
- Raw
State:
- new
- open
Priority:
- some priority
Lock:
- lock
CustomerID:
- some ID
CustomerUserID:
- some ID
Owner:
- some owner
DynamicField_Field1:
- some value
DynamicField_MyField:
- some value
# more ticket attributes
Type:
ID:
- some ID
Name:
- some name
# more type attributes
User:
UserLogin:
- some_login
Group_rw:
- some group
Role:
- admin
PropertiesDatabase:
# Match properties (existing values from the database).
# Please note that Frontend is not in the database, but in the framework.
# See section "Properties", the same configuration can be used here.
ConfigChange:
Possible:
# Reset possible options (white list).
Action:
# Possible action options (white list).
- AgentTicketBounce
- AgentTicketPhone # only used to show/hide the Split action
- AgentLinkObject # only used to show/hide the Link action
- ...
ActivityDialog:
# Limit the number of possible activity dialogs the agent/customer can use in a process ticket.
- ActivityDialog-aff0ae05fe6803f38de8fff6cf33b7ce
- ActivityDialog-429d61180a593414789a8087cc4b3c6f
- ...
Endpoint:
# Limit the functions on external interface.
- ExternalFrontend::PersonalPreferences
- ExternalFrontend::ProcessTicketCreate
- ExternalFrontend::ProcessTicketNextStep
- ExternalFrontend::TicketCreate
- ExternalFrontend::TicketDetailView
- ...
Process:
# Limit the number of possible processes that can be started.
- Process-9c378d7cc59f0fce4cee7bb9995ee3eb
- Process-12345678901234567890123456789012
- ...
Ticket:
# Possible ticket options (white list).
DynamicField_Field1:
- some value
DynamicField_MyField:
- some value
# more dynamic fields
NewOwner:
# For ticket action screens, where the Owner is already set.
- some owner
OldOwner:
# For ticket action screens, where the Owner is already set.
- some owner
Owner:
# For ticket create screens, because Owner is not set yet.
- some owner
Priority:
- 5 very high
Queue:
- Raw
- some other queue
Service:
- some service
ServiceID:
- some service ID
SLA:
- some SLA
SLAID:
- some SLA ID
State:
- some state
StateID:
- some state ID
# more ticket attributes
PossibleAdd:
# Add options (white list).
# See section "Possible", the same configuration can be used here.
PossibleNot:
# Remove options (black list).
# See section "Possible", the same configuration can be used here.
CreateBy: root@localhost
CreateTime: 2019-01-07 10:42:59
Description: This is the long description of the ACL to explain its usage.
ID: 1
Name: 200-ACL-Reference
StopAfterMatch: 0
ValidID: 3