Vasaran käyttöoikeudet#
Vasaran käyttöoikeudet tarkoittavat oikeuksia käynnistää, käyttää ja hallita Vasaralla ajettavia prosesseja, lukea prosessien tarvitsemia sanastoja, ja luoda, lukea ja päivittää prosesseihin liittyviä tietueita eli ”entiteettejä”.
Käyttöoikeuksien teknisestä näkökulmasta Vasara koostu kahdesta erillisestä sovelluksesta:
Sovellus |
Kuvaus |
---|---|
Prosessimääritykset, päätöstaulut, prosessit, tehtävät, muuttujat |
|
Tehtävälomakkeet, sanastot, ”entiteetit” |
Vasaran suunnittelun tavoite, joka ei ole vielä täysin toteutunut on, että näistä sovelluksista Camunda on käyttöoikeuksien näkökulmasta ensisijainen sovellus, ja myös Hasuraan edellyttämät käytöoikeudet on johdattavissa Camundasta.
Camundan resurssit#
Camundan käyttöoikeudet määrittyvät sen tarjoamista resursseista ja niihin myönnetyistä käyttöoikeuksista.
Vasaran peruskäytön näkökulmasta keskeisimmät resurssit ovat:
Resurssi |
Kuvaus |
---|---|
Process Definition |
BPMN-mallit, prosessien käynnistys |
Process Instance |
Yksittäiset prosessit |
Task |
Yksittäiset tehtävät |
Historic Process Instance |
Prosessien suoritushistoria |
Historic Task |
Tehtävien suoritushistoria |
Lisäksi käytetyt resurssit
Resurssi |
Kuvaus |
---|---|
User |
Vasaraan viedyt käyttäjätiedot |
Group |
Vasaraan viedyt ryhmät |
Group Membership |
Vasaraan viedyt ryhmäjäsenyydet |
Prosessien hallinnan näkökulmasta keskeiset resurssit
Resurssi |
Kuvaus |
---|---|
Deployment |
BPMN/DMN-mallien ym. tuonti Camundaan |
Application |
Camundan omat käyttöliittymät |
Authorization |
Camundan käyttöoikeuksien jakaminen |
Camundan käyttöoikeudet#
Camundan kaikki käyttöoikeudet määritellään käyttöoikeusriveillä, jotka koostuvat:
resurssista, johon käyttöoikeus kohdistuu
käyttöoikeuden tyypistä: ALLOW, DENY (ei käytössä)
yksittäisestä käyttäjästä tai ryhmästä tai GLOBAL-lipusta
listasta käyttöoikeuksia
resurssin tunnisteesta: id, ”key” tai asteriski (
*
)
Käyttöikeuksia voidaan määrittää erityyppisiin resursseihin seuraavasti:
Permission |
Resources |
---|---|
READ |
Authorization, Decision Definition, Decision Requirements Definition, Deployment, Group, Process Definition, Process Instance, Task, User |
UPDATE |
Authorization, Decision Definition, Group, Process Definition, Process Instance, Task, USER |
CREATE |
Authorization, Deployment, Group, Group Membership, Process Instance, Task, USER |
DELETE |
Authorization, Deployment, Group, Group Membership, Process Definition, Process Instance, Task, User |
ACCESS |
Application |
RETRY_JOB |
Process Definition, Process Instance |
SUSPEND_INSTANCE |
Process Definition |
SUSPEND |
Process Instance |
READ_TASK |
Process Definition |
UPDATE_TASK |
Process Definition |
CREATE_INSTANCE |
Decision Definition, Process Definition |
READ_INSTANCE |
Process Definition |
UPDATE_INSTANCE |
Process Definition |
DELETE_INSTANCE |
Process Definition |
READ_HISTORY |
Decision Definition, Process Definition, Task |
DELETE_HISTORY |
Decision Definition, Process Definition |
TASK_WORK |
Process Definition, Task |
TASK_ASSIGN |
Process Definition, Task |
MIGRATE_INSTANCE |
Process Definition |
Tarkistettavaa…
Päätöstaulujen suoritus osana prosessia ei edellyttäne erillisiä oikeuksia.
Muista
Huomioitavaa Vasarassa ei ole kytketty päälle erillisiä ”muuttujaoikeuksia”, vaan READ ja UPDATE -oikeudet kattavat myös muuttujien lukemisen ja päivitttämisen.
Camundan oikeuksien muodostuminen#
Tehtävän Assignee, Candidate tai Candidate Group -ryhmän jäsen saa automaattisesti tehtävään UPDATE-oikeuden.
Lisäksi Vasaraa on laajennettu myöntämään READ-oikeus prosessiin ja sen historiaan ”kaikille prosessiin osallistuvila” (Assignee, Candidate tai Candidate Group -ryhmän jäsenet).
Camundan Vasara-laajennus#
Vasaran käyttöliittymässä on mahdollista lähettää viestejä prosessiin lomakkeilta tai entiteetin näkymästä.
Viestien lähettäminen entiteetin näkymästä edellyttää, että käyttäjälle on myönnety CREATE-oikeus johonkin ”entiteettiin” liittyvään yhä ajossa olevana prosessiin (esim. elinkaariprosessi). Camunda ei käytä tällaista oikeusyhdistelmää muuhun.
Hasuran resurssit#
Hasura on Vasaraan valikoitunut GraphQL API -yhdyskäytävä, joka tarjoaa Vasaran käyttöliittymälle yhden koostetun GraphQL-rajapinnan:
Camunda-prosessimoottoriin (”Remote Schemas”)
Relaatiotietokantaan (”Databases”)
Valittuihin integraatioihin (”Actions”)
Hasurassa ei toistaiseksi vaikuteta Camundaan kohdistuviin operaatioihin, vaan niiden käyttöoikeudet tarkistetaan kokonaisuudessaan Camundassa.
Hasuran relaatiotietokantatukea käytetään Vasarassa:
Prosessien Vasara-lomakkeisiin (
vasara.user_task_form
)Prosseissa määritettävien ”entiteettien” tallentamiseen (
public.*
)Vasaran tietokantanäkymän ”entiteettikohtaisiin” ”asetuksiin (
vasara.entity_settings
)Sanastoihin (
vocabulary.*
) ja niiden tausta-aineistoon (datahub.*
)
Hasura-integraatioita on toteutettu toistaiseksi:
Kirjautumattomille käyttäjille näyttävien (vierailija-)prosessien listaus (
camunda_guest_ProcessDefinition
) ja luonti (insert_camunda_guest_ProcessInstance
).Luottamuksellisten kenttien salaus (
vault_transit_encrypt
) ja purku (vault_transit_decrypt
)Excel-tiedostojen lukeminen (
xlsx_import
) ja kirjoittaminen (xlsx_export
).