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

Camunda 7 Community Edition

Prosessimääritykset, päätöstaulut, prosessit, tehtävät, muuttujat

Hasura Community Edition

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