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.

ACL kezelés képernyő

ACL kezelés képernyő

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:

  1. Kattintson az Új ACL létrehozása gombra a bal oldalsávban.

  2. Töltse ki a szükséges mezőket.

  3. Kattintson a Mentés gombra.

  4. Át lesz irányítva az ACL szerkesztése képernyőre az ACL struktúra szerkesztéséhez.

Új ACL létrehozása képernyő

Új ACL létrehozása képernyő

Egy ACL szerkesztéséhez:

  1. 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.

  2. Módosítsa a mezőket és az ACL struktúrát.

  3. Kattintson a Mentés vagy Mentés és befejezés gombra.

  4. Állítsa üzembe az összes ACL-t.

ACL struktúra szerkesztése képernyő

ACL struktúra szerkesztése képernyő

Egy ACL törléséhez:

  1. Kattintson egy ACL-re az ACL-ek listájában.

  2. Állítsa az Érvényesség beállítás érvénytelen vagy átmenetileg érvénytelen értékre.

  3. Kattintson a Mentés gombra. Egy új Érvénytelen ACL-ek törlése gomb fog megjelenni a bal oldalsávban.

  4. Kattintson az Érvénytelen ACL-ek törlése gombra.

  5. Kattintson a Törlés gombra a megerősítő képernyőn.

  6. Á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:

  1. 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:

  1. Kattintson az ACL-ek exportálása gombra a bal oldalsávban.

  2. 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:

  1. Kattintson a Tallózás… gombra a bal oldalsávban.

  2. Válasszon egy előzőleg exportált .yml fájlt.

  3. Kattintson a Felülírja a meglévő ACL-eket? jelölőnégyzetre, ha felül szeretné írni a meglévő ACL-eket.

  4. Kattintson az ACL beállítások importálása gombra.

  5. Á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.

  1. 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.

  2. Az általános ügyintéző megváltoztatja az értéket VIP értékre.

  3. 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.

  4. Az általános ügyintéző ismét megváltoztatja az értéket VIP értékre.

  5. 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 vagy PossibleNot 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 vagy PossibleAdd 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

Az elérhető várólisták korlátozása az aktuális várólista és prioritás alapján

Ez a példa azt mutatja be, hogy hogyan lehet az elérhető várólistákat az Alert várólistára korlátozni, ha a jegy jelenleg a Raw várólistán van, és a prioritása 5 nagyon magas.

Ebben a példában a PropertiesDatabase van használva. Ez azt jelenti, hogy a jegynek már a Raw várólistában kell lennie, és 5 nagyon magas prioritással kell rendelkeznie ahhoz, hogy ezt az ACL-t alkalmazni lehessen.

Ez az ACL nem kerül alkalmazásra, ha egy felhasználó csak a Raw várólistát és az 5 nagyon magas prioritást választja ki egy párbeszédablakon. Ennek eléréséhez a Properties szakaszt kell használni.

Ennek az ACL-nek a használatával csak a Raw várólistában lévő és 5 nagyon magas prioritású jegyeket lehet áthelyezni az Alert várólistába.

Az elérhető várólisták korlátozása az aktuális várólista és prioritás alapján

Az elérhető várólisták korlátozása az aktuális várólista és prioritás alapján

---
- Comment: Limit available queues based on current queue and priority
  ConfigChange:
    Possible:
      Ticket:
        Queue:
        - Alert
  ConfigMatch:
    PropertiesDatabase:
      Ticket:
        Priority:
        - 5 very high
        Queue:
        - Raw
  Description: Restrict the available queues to the “Alert” queue if the ticket is
    currently in the queue “Raw” and has the priority “5 very high”.
  Name: 010 Example ACL
Bizonyos jegytípus nem választhatóvá tétele

Ez a példa azt mutatja be, hogy hogyan lehet az Osztályozatlan jegytípust nem választhatóvá tenni a felhasználók számára.

Ebben a példában az illesztési beállítások üresek. Ez azt jelenti, hogy az ACL mindig alkalmazásra kerül, mert a szűrő üres.

Bizonyos jegytípus nem választhatóvá tétele

Bizonyos jegytípus nem választhatóvá tétele

---
- Comment: Make certain ticket type not selectable
  ConfigChange:
    PossibleNot:
      Ticket:
        Type:
        - Unclassified
  ConfigMatch: ''
  Description: Make the ticket type “Unclassified” not selectable.
  Name: 020 Example ACL

Ne feledje, hogy továbbra is találhat Osztályozatlan jegytípusú jegyeket. Ez például olyan beérkező e-mailek esetén fordul elő, amelyek jegyekre kerülnek átalakításra.

A jegylezárás nem lehetséges bizonyos jegytípusnál

Ez a példa azt mutatja be, hogy hogyan lehet megakadályozni az Osztályozatlan jegytípussal rendelkező jegyek lezárását.

A jegylezárás nem lehetséges bizonyos jegytípusnál

A jegylezárás nem lehetséges bizonyos jegytípusnál

---
- Comment: Ticket closing not possible for cerain ticket type
  ConfigChange:
    PossibleNot:
      Endpoint:
      - AgentFrontend::Ticket::Action::Close
      Ticket:
        State:
        - '[RegExp]close'
  ConfigMatch:
    PropertiesDatabase:
      Ticket:
        Type:
        - Unclassified
  Description: Prevent tickets with the ticket type "Unclassified" from being closed.
  Name: 030 Example ACL

Ez az ACL példa használható a korábban bemutatott ACL példával együtt.

Megjegyzés

Figyeljen az ACL-ek sorrendjére. A korábban bemutatott ACL példát az itt bemutatott ACL előtt kell végrehajtani.

Reguláris kifejezések használta

Ez a példa azt mutatja be, hogy hogyan kell reguláris kifejezéseket használni a jegyek illesztéséhez és az elérhető választási lehetőségek szűréséhez.

Ezzel az ACL-lel csak azok a szolgáltatások jelennek meg az ügyintézői felületen (és ha be van állítva, akkor a külső felületen is), amelyek neve tartalmazza a Hardware szót, ha a jegy egy olyan várólistában van tárolva, amely neve HW kezdetű vagy ha egy HW-vel kezdődő nevű várólistát kiválasztottak egy felhasználói párbeszédablakban.

Reguláris kifejezések használta

Reguláris kifejezések használta

---
- Comment: Using regular expressions
  ConfigChange:
    Possible:
      Ticket:
        Service:
        - '[RegExp]Hardware'
  ConfigMatch:
    Properties:
      Ticket:
        Queue:
        - '[RegExp]^HW'
  Description: Use regular expressions for matching tickets and for filtering the
    available selection options.
  Name: 040 Example ACL
Egy dinamikus mező korlátozása egy másik dinamikus mező alapján

Ez a példa azt mutatja be, hogy hogyan kell korlátozni a CarModel dinamikus mező választható értékeit Polo, Golf és Passat lehetőségekre, ha a felhasználó a VW értéket választotta az ugyanabban a felhasználói párbeszédablakban lévő CarManufacturer dinamikus mezőben.

Győződjön meg arról, hogy a dinamikus mező nevét DynamicField_Név formában használja, és arról is, hogy a lehetséges értékek adatkulcsait használja és nem a felhasználónak megjelenített adatértékeket. Mindkettő a dinamikus mező meghatározásában van megadva.

Egy dinamikus mező korlátozása egy másik dinamikus mező alapján

Egy dinamikus mező korlátozása egy másik dinamikus mező alapján

---
- Comment: Restrict one dynamic field based on another dynamic field
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_CarModel:
        - Polo
        - Passat
        - Golf
  ConfigMatch:
    Properties:
      DynamicField:
        DynamicField_CarManufacturer:
        - VW
  Description: Restrict the selectable values of the dynamic field “CarModel” to “Polo”,
    “Golf” and “Passat”, if a user has selected the value “VW” in the dynamic field
    “CarManufacturer” in the same user dialog.
  Name: 050 Example ACL

Az Illesztési beállítások szakaszban a Ticket objektum használható a DynamicField objektum alternatívájaként.

Egy dinamikus mező korlátozása egy másik dinamikus mező alapján

Egy dinamikus mező korlátozása egy másik dinamikus mező alapján

---
- Comment: Restrict one dynamic field based on another dynamic field
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_CarModel:
        - Polo
        - Passat
        - Golf
  ConfigMatch:
    Properties:
      Ticket:
        DynamicField_CarManufacturer:
        - VW
  Description: Restrict the selectable values of the dynamic field “CarModel” to “Polo”,
    “Golf” and “Passat”, if a user has selected the value “VW” in the dynamic field
    “CarManufacturer” in the same user dialog.
  Name: 051 Example ACL
Egy dinamikus mező korlátozása egy másik dinamikus mező alapján egy műveletben

Az előző példa kiterjeszthető egy korlátozással, hogy csak a Szabad mezők megváltoztatása jegyműveletre legyen alkalmazva. Erre a célra azt a feltételt kell hozzáadni az Illesztési beállítások szakaszban, hogy a FreeText végpont legyen érintett.

Egy dinamikus mező korlátozása egy másik dinamikus mező alapján egy műveletben

Egy dinamikus mező korlátozása egy másik dinamikus mező alapján egy műveletben

---
- Comment: Restrict one dynamic field based on another dynamic field in an action
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_CarModel:
        - Polo
        - Passat
        - Golf
  ConfigMatch:
    Properties:
      Frontend:
        Endpoint:
        - AgentFrontend::Ticket::Action::FreeText
      Ticket:
        DynamicField_CarManufacturer:
        - VW
  Description: Restrict the selectable values of the dynamic field “CarModel” to “Polo”,
    “Golf” and “Passat”, if a user has selected the value “VW” in the dynamic field
    “CarManufacturer” in the “Free Fields” action.
  Name: 052 Example ACL
Egy folyamat letiltása egy ügyfél-azonosítónál

Ez az ACL megakadályozza egy bizonyos folyamat használatát egy adott ügyfél-azonosítóhoz (ebben a példában az otrs.com ügyfél-azonosítóhoz) rendelt összes ügyfél-felhasználónak.

Mivel az ügyfél-felhasználók csak a külső felületet használják, az ACL ott lesz alkalmazva.

Egy folyamat letiltása egy ügyfél-azonosítónál

Egy folyamat letiltása egy ügyfél-azonosítónál

---
- Comment: Disallow a process for a customer ID
  ConfigChange:
    PossibleNot:
      Process:
      - Process-81b2ff5db648afa3e765785ff0193320
  ConfigMatch:
    Properties:
      CustomerUser:
        UserCustomerID:
        - otrs.com
  Description: Prevents the use of a certain process for all customer users assigned
    to a certain customer ID.
  Name: 060 Example ACL
A lezárás és áthelyezés jegyműveletek letiltása egy bizonyos folyamatnál

Ez az ACL példa azt mutatja be, hogy hogyan kell megakadályozni a Jegy áthelyezése és a Jegy lezárása jegyműveletek megjelenítését, ha egy bizonyos folyamat kerül kiválasztásra.

A lezárás és áthelyezés jegyműveletek letiltása egy bizonyos folyamatnál

A lezárás és áthelyezés jegyműveletek letiltása egy bizonyos folyamatnál

---
- Comment: Disallow the ticket actions close and move for a certain process
  ConfigChange:
    PossibleNot:
      Endpoint:
      - AgentFrontend::Ticket::Action::Move
      - AgentFrontend::Ticket::Action::Close
  ConfigMatch:
    PropertiesDatabase:
      Process:
        ProcessEntityID:
        - Process-81b2ff5db648afa3e765785ff0193320
  Description: Stop the ticket actions “Move Ticket” and “Close Ticket” from displaying
    when a specific process is selected.
  Name: 070 Example ACL
Felhasználói feladat tevékenység-párbeszédablakok elrejtése egy folyamatban az ügyintéző szerepe alapján

Tegyük fel, hogy egy folyamat olyan felhasználói feladat tevékenységet tartalmaz, amelyhez két felhasználói feladat tevékenység-párbeszédablak van hozzárendelve, és ezeket a felhasználói feladat tevékenység-párbeszédablakokat csak olyan ügyintézők hajthatják végre, akik egy adott szereppel rendelkeznek.

A cél a helyes felhasználói feladat tevékenység-párbeszédablakok megjelenítése csak azoknak az ügyintézőknek, akik a megfelelő szereppel rendelkeznek.

Felhasználói feladat tevékenység-párbeszédablak

Ügyintéző szerepe

Jóváhagyás az értékesítéstől

Értékesítési igazgató

Jóváhagyás a marketingtől

Marketingigazgató

Erre a célra három ACL szükséges.

Megjegyzés

A folyamat és a felhasználói feladat tevékenység-párbeszédablakok azonosító alapján vannak hivatkozva.

Az első ACL megakadályozza az összes felhasználói feladat tevékenység-párbeszédablak megjelenítését ezen a felhasználói feladat tevékenységen belül.

Felhasználói feladat tevékenység-párbeszédablakok elrejtése egy folyamatban az ügyintéző szerepe alapján

Felhasználói feladat tevékenység-párbeszédablakok elrejtése egy folyamatban az ügyintéző szerepe alapján

---
- Comment: Hide user task activity dialogs in a process based on the agent role
  ConfigChange:
    PossibleNot:
      ActivityDialog:
      - '[RegExp]^ActivityDialog-'
  ConfigMatch:
    PropertiesDatabase:
      Process:
        ActivityEntityID:
        - Activity-919fb73ed4b14087d5085f6e7f13d57d
  Description: Prevents the display of all user task activity dialogs within this
    user task activity.
  Name: 080 Example ACL

A következő ACL segítségével azt érjük el, hogy az Értékesítési igazgató szereppel rendelkező összes ügyintézőnek megjelenjen a Jóváhagyás az értékesítéstől felhasználói feladat tevékenység-párbeszédablak.

Felhasználói feladat tevékenység-párbeszédablakok elrejtése egy folyamatban az ügyintéző szerepe alapján

Felhasználói feladat tevékenység-párbeszédablakok elrejtése egy folyamatban az ügyintéző szerepe alapján

---
- Comment: Hide user task activity dialogs in a process based on the agent role
  ConfigChange:
    PossibleAdd:
      ActivityDialog:
      - ActivityDialog-8ff3a399b5939d1a11e87ad35f72f576
  ConfigMatch:
    PropertiesDatabase:
      User:
        Role:
        - Head of Sales
  Description: All agents who have the role "Head of Sales" get the user task activity
    dialog "Approval from Sales" displayed.
  Name: 081 Example ACL

Az utolsó ACL segítségével azt érjük el, hogy a Marketingigazgató szereppel rendelkező összes ügyintézőnek megjelenjen a Jóváhagyás a marketingtől felhasználói feladat tevékenység-párbeszédablak.

Felhasználói feladat tevékenység-párbeszédablakok elrejtése egy folyamatban az ügyintéző szerepe alapján

Felhasználói feladat tevékenység-párbeszédablakok elrejtése egy folyamatban az ügyintéző szerepe alapján

---
- Comment: Hide user task activity dialogs in a process based on the agent role
  ConfigChange:
    PossibleAdd:
      ActivityDialog:
      - ActivityDialog-18d1bce51750be6e3adee3b5d59a94d7
  ConfigMatch:
    PropertiesDatabase:
      User:
        Role:
        - Head of Marketing
  Description: All agents who have the role "Head of Marketing" get the user task
    activity dialog "Approval from Marketing" displayed.
  Name: 082 Example ACL

Megjegyzés

Figyeljen az ACL-ek sorrendjére. Az ebben a példában elsőként bemutatott ACL-t az utolsó két ACL előtt kell végrehajtani.

Buktatók a tulajdonságok használata során

Ha a jegyattribútumok egyszerre vannak használva mind az Illesztési beállítások, mind a Változtatási beállítások szakaszban, akkor logikai probléma lép fel a Properties blokk használatakor, ami megakadályozhatja a jegyműveletek megfelelő használatát.

Ebben a példában az Illesztési beállítások szakaszban a Raw várólistát és az 5 nagyon magas prioritást láthatja, és a Változtatási beállítások szakaszban az Alert várólista lehetséges.

Buktatók a tulajdonságok használata során

Buktatók a tulajdonságok használata során

---
- Comment: Pitfalls Using Properties
  ConfigChange:
    Possible:
      Ticket:
        Queue:
        - Alert
  ConfigMatch:
    Properties:
      Ticket:
        Queue:
        - Raw
  Description: If ticket attributes are used in both Match settings and Change settings
    at the same time, a logical problem occurs.
  Name: 090 Pitfalls

Ha üzembe állítja ezt az ACL-t, majd lefuttatja a Jegy áthelyezése jegyműveletet egy jegyen, akkor azt fogja látni, hogy nem tud rákattintani a Küldés gombra, ha kiválasztja a Raw várólistát, mert a változtatási beállítás azonnal alkalmazva lesz (a Properties miatt), és ez azt fogja eredményezni, hogy a kiválasztás törlésre kerül, mert a Raw várólista többé nem érvényes választás.

Általában ez a logikai probléma elkerülhető, ha a PropertiesDatabase blokkot használja a Properties helyett. Hasonlítsa össze a legelső megadott példával.

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: 2020-04-15 16:46:23
  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:
        Endpoint:
        - AgentFrontend::PersonalPreferences
        - AgentFrontend::ProcessTicketNextStep
        - AgentFrontend::Ticket::Action::Close
        - AgentFrontend::Ticket::Action::Customer
        - AgentFrontend::Ticket::Action::EmailOutbound
        - AgentFrontend::Ticket::Action::FreeText
        - AgentFrontend::Ticket::Action::Link
        - AgentFrontend::Ticket::Action::Lock
        - AgentFrontend::Ticket::Action::Merge
        - AgentFrontend::Ticket::Action::Move
        - AgentFrontend::Ticket::Action::Note
        - AgentFrontend::Ticket::Action::Owner
        - AgentFrontend::Ticket::Action::Pending
        - AgentFrontend::Ticket::Action::PhoneCallInbound
        - AgentFrontend::Ticket::Action::PhoneCallOutbound
        - AgentFrontend::Ticket::Action::Print
        - AgentFrontend::Ticket::Action::Priority
        - AgentFrontend::Ticket::Action::Process
        - AgentFrontend::Ticket::Action::Redirect
        - AgentFrontend::Ticket::Action::Responsible
        - AgentFrontend::Ticket::Action::SmsOutbound
        - AgentFrontend::Ticket::Action::TicketHistory
        - AgentFrontend::Ticket::Action::Unlock
        - AgentFrontend::Ticket::Action::Unwatch
        - AgentFrontend::Ticket::Action::Watch
        - AgentFrontend::Ticket::InlineEditing::Property::CustomerUserID
        - AgentFrontend::Ticket::InlineEditing::Property::Lock
        - AgentFrontend::Ticket::InlineEditing::Property::Owner
        - AgentFrontend::Ticket::InlineEditing::Property::Priority
        - AgentFrontend::Ticket::InlineEditing::Property::Queue
        - AgentFrontend::Ticket::InlineEditing::Property::Responsible
        - AgentFrontend::Ticket::InlineEditing::Property::Service
        - AgentFrontend::Ticket::InlineEditing::Property::State
        - AgentFrontend::Ticket::InlineEditing::Property::Type
        - AgentFrontend::Ticket::InlineEditing::Property::Watch
        - AgentFrontend::TicketArticle::Action::CopyLink
        - AgentFrontend::TicketArticle::Action::Forward
        - AgentFrontend::TicketArticle::Action::MarkAsImportant
        - AgentFrontend::TicketArticle::Action::MessageLog
        - AgentFrontend::TicketArticle::Action::Plain
        - AgentFrontend::TicketArticle::Action::Print
        - AgentFrontend::TicketArticle::Action::Redirect
        - AgentFrontend::TicketArticle::Action::Reply
        - AgentFrontend::TicketArticle::Action::ReplyAll
        - AgentFrontend::TicketArticle::Action::ReplyToNote
        - AgentFrontend::TicketArticle::Action::ReplyViaSms
        - AgentFrontend::TicketArticle::Action::Split
        - AgentFrontend::TicketArticle::Action::UnmarkAsImportant
        - AgentFrontend::TicketCreate::Email
        - AgentFrontend::TicketCreate::Phone
        - AgentFrontend::TicketCreate::Process
        - AgentFrontend::TicketCreate::SMS
        - AgentFrontend::TicketDetailView
        - AgentFrontend::TicketDetailView::Property
        - AgentFrontend::TicketList::Bulk
        - AgentFrontend::TicketList::Filters
        - ...
        - ExternalFrontend::PersonalPreferences
        - ExternalFrontend::ProcessTicketCreate
        - ExternalFrontend::ProcessTicketNextStep
        - ExternalFrontend::Ticket::ExportList     # used for technical purpose, not for ACLs
        - ExternalFrontend::Ticket::List           # used for technical purpose, not for ACLs
        - ExternalFrontend::Ticket::Print
        - 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).
      - ...
      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 agent interface.
      - AgentFrontend::PersonalPreferences
      - AgentFrontend::ProcessTicketNextStep
      - AgentFrontend::Ticket::Action::Close
      - AgentFrontend::Ticket::Action::Customer
      - AgentFrontend::Ticket::Action::EmailOutbound
      - AgentFrontend::Ticket::Action::FreeText
      - AgentFrontend::Ticket::Action::Link
      - AgentFrontend::Ticket::Action::Lock
      - AgentFrontend::Ticket::Action::Merge
      - AgentFrontend::Ticket::Action::Move
      - AgentFrontend::Ticket::Action::Note
      - AgentFrontend::Ticket::Action::Owner
      - AgentFrontend::Ticket::Action::Pending
      - AgentFrontend::Ticket::Action::PhoneCallInbound
      - AgentFrontend::Ticket::Action::PhoneCallOutbound
      - AgentFrontend::Ticket::Action::Print
      - AgentFrontend::Ticket::Action::Priority
      - AgentFrontend::Ticket::Action::Process
      - AgentFrontend::Ticket::Action::Redirect
      - AgentFrontend::Ticket::Action::Responsible
      - AgentFrontend::Ticket::Action::SmsOutbound
      - AgentFrontend::Ticket::Action::TicketHistory
      - AgentFrontend::Ticket::Action::Unlock
      - AgentFrontend::Ticket::Action::Unwatch
      - AgentFrontend::Ticket::Action::Watch
      - AgentFrontend::Ticket::InlineEditing::Property::CustomerUserID
      - AgentFrontend::Ticket::InlineEditing::Property::Lock
      - AgentFrontend::Ticket::InlineEditing::Property::Owner
      - AgentFrontend::Ticket::InlineEditing::Property::Priority
      - AgentFrontend::Ticket::InlineEditing::Property::Queue
      - AgentFrontend::Ticket::InlineEditing::Property::Responsible
      - AgentFrontend::Ticket::InlineEditing::Property::Service
      - AgentFrontend::Ticket::InlineEditing::Property::State
      - AgentFrontend::Ticket::InlineEditing::Property::Type
      - AgentFrontend::Ticket::InlineEditing::Property::Watch
      - AgentFrontend::TicketArticle::Action::CopyLink
      - AgentFrontend::TicketArticle::Action::Forward
      - AgentFrontend::TicketArticle::Action::MarkAsImportant
      - AgentFrontend::TicketArticle::Action::MessageLog
      - AgentFrontend::TicketArticle::Action::Plain
      - AgentFrontend::TicketArticle::Action::Print
      - AgentFrontend::TicketArticle::Action::Redirect
      - AgentFrontend::TicketArticle::Action::Reply
      - AgentFrontend::TicketArticle::Action::ReplyAll
      - AgentFrontend::TicketArticle::Action::ReplyToNote
      - AgentFrontend::TicketArticle::Action::ReplyViaSms
      - AgentFrontend::TicketArticle::Action::Split
      - AgentFrontend::TicketArticle::Action::UnmarkAsImportant
      - AgentFrontend::TicketCreate::Email
      - AgentFrontend::TicketCreate::Phone
      - AgentFrontend::TicketCreate::Process
      - AgentFrontend::TicketCreate::SMS
      - AgentFrontend::TicketDetailView
      - AgentFrontend::TicketDetailView::Property
      - AgentFrontend::TicketList::Bulk
      - AgentFrontend::TicketList::Filters
      - ...
      # Limit the functions on external interface.
      - ExternalFrontend::PersonalPreferences
      - ExternalFrontend::ProcessTicketCreate
      - ExternalFrontend::ProcessTicketNextStep
      - ExternalFrontend::Ticket::ExportList     # used for technical purpose, not for ACLs
      - ExternalFrontend::Ticket::List           # used for technical purpose, not for ACLs
      - ExternalFrontend::Ticket::Print
      - 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: 2020-04-15 16:46:23
  Description: This is the long description of the ACL to explain its usage.
  ID: 1
  Name: 200-ACL-Reference
  StopAfterMatch: 0
  ValidID: 3
Scroll to Top