Passwork: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
 
(ei näidata sama kasutaja 32 vahepealset redaktsiooni)
127. rida: 127. rida:
 
d20b50f94e42 passwork/docker-psmdb6 "/entrypoint.sh mong…" 1 second ago Up Less than a second 27017/tcp passwork_db
 
d20b50f94e42 passwork/docker-psmdb6 "/entrypoint.sh mong…" 1 second ago Up Less than a second 27017/tcp passwork_db
 
51053237c894 passwork/docker-php8.3 "/entrypoint.sh php-…" 1 second ago Up Less than a second passwork_php
 
51053237c894 passwork/docker-php8.3 "/entrypoint.sh php-…" 1 second ago Up Less than a second passwork_php
  +
</pre>
  +
  +
Tulemusena on moodustatud fail /srv/passwork/docker-compose.yaml ning selle alusel käivitatud konteinerid
  +
  +
<pre>
  +
duser@pwrk-01:/srv/passwork$ docker compose ls
  +
NAME STATUS CONFIG FILES
  +
passwork running(5) /srv/passwork/docker-compose.yaml
 
</pre>
 
</pre>
   
158. rida: 166. rida:
 
local passwork_db_data
 
local passwork_db_data
 
</pre>
 
</pre>
  +
  +
===Paigalduse lähtestamine===
   
 
Paigaldise lähtestamine, konteinerite kustamine
 
Paigaldise lähtestamine, konteinerite kustamine
213. rida: 223. rida:
 
===https:// seadistsamine===
 
===https:// seadistsamine===
   
  +
https:// iseenesest töötab kohe algupäraselt, aga self-signed vms sertifikaadiga, custom sertifikaadi kasutamiseks sobib tekitada kaks faili
TODO
 
  +
  +
<pre>
  +
duser@pwrk-01:/srv/passwork$ pwd
  +
/srv/passwork
  +
  +
duser@pwrk-01:/srv/passwork$ ls -l conf/ssl/fullchain.pem conf/ssl/privkey.pem
  +
-rw-r--r-- 1 duser root 3590 Jul 12 20:10 conf/ssl/fullchain.pem
  +
-rw------- 1 duser root 1704 Jul 12 20:11 conf/ssl/privkey.pem
  +
</pre>
  +
  +
ja öelda
  +
  +
<pre>
  +
duser@pwrk-01:/srv/passwork$ docker compose stop
  +
duser@pwrk-01:/srv/passwork$ docker compose start
  +
</pre>
   
 
===Kasutajate haldamine===
 
===Kasutajate haldamine===
242. rida: 268. rida:
   
 
===smtp teenusega integratsioon===
 
===smtp teenusega integratsioon===
  +
  +
smtp integratsiooni kasutatakse
   
 
* invite jaoks
 
* invite jaoks
   
  +
smtp andmete kirjeldamiseks sobib liikuda
TODO
 
  +
  +
System settings -> Email service - Mailer config
  +
  +
ning kasutada nt selliseid väärtusi
  +
  +
* Sender's email - passwork@auul.pri.ee
  +
* TODO
   
 
===Kasutamine===
 
===Kasutamine===
259. rida: 294. rida:
   
 
TODO
 
TODO
  +
  +
===Infoarhitektuur===
  +
  +
Väited
  +
  +
* Kõige peamisem andmete salvestamise nö konteiner on 'vault'
  +
* Kasutaja saab vaikimisi moodustada vaultisid, kui ta neis olevatele saladustele ligipääsu teistega ei jaga, jääb vault privaateseks
  +
* Passwork kasutajaid saab organiseerida gruppidesse (user group ehk ug-)
  +
  +
Passwork sisu hieraria on selline
  +
  +
<pre>
  +
Vault-1 Vault-2
  +
| |
  +
| |
  +
| |
  +
|----- Folder-1-a |---- Folder-2-a
  +
| | | |
  +
| | | |
  +
| |----- Password-1-a-1 | |----- Password-2-a-1
  +
| |----- Password-1-a-2 | |----- Password-2-a-2
  +
| ... | ...
  +
| | ...
  +
|
  +
|----- Folder-1-b
  +
|
  +
|
  +
|----- Password-1-b-1
  +
| ...
  +
|
  +
|----- Password-1-b-2
  +
|
  +
|
  +
|---- Name-1-b-2-a
  +
|---- Login-1-b-2-a
  +
|---- Password-1-b-2-a
  +
|---- URL-1-b-2-a
  +
| ...
  +
|
  +
|---- Name-1-b-2-b
  +
|---- Login-1-b-2-b
  +
|---- Password-1-b-2-b
  +
|---- URL-1-b-2-b
  +
...
  +
  +
  +
</pre>
  +
  +
* Passwork 'Password' sissekande field on kõige elementaarsem info esinemise element
  +
  +
Kontseptuaalselt võiks passwork lahendust kasutada sellise mõtlemisega
  +
  +
* folderite abil moodustatakse ressrusside parvi (nt rg-infosysteem-yks, rg-infosysteem-kaks, rg-pve, rg-tulemyyr, rg-storage)
  +
* kasutajate gruppide abil moodustatakse kasutajate parvi (nt ug-is-yks-sysadm, ug-is-yks-appadm, ug-is-yks-user, ug-pve-sysadm, ug-storage-sysadm)
  +
* passwork acl süsteemi abil ühendatakse ressurside ja gruppide parvi omavahel kokku
  +
  +
ressursside-infovarade-infosüsteemide paigutamine kolme dimensiooni
  +
  +
* internal vs external dimensioon - kas kasutajad on eranditult haldusüksusest või tegemist on internetti publitseeritud teenusega
  +
* core vs leaf dimensioon - kas tegemist on tuum teenusega, st teenusega mis ei sõltu millestki muust (nt kettakast); või on tegemist paljudest komponentidest sõltuva lahendusega (nt lõppkasutajate teenindav infosüsteem avalikus internetis (sõltub kettakastist, virtualiseerimise platvormist, tulemüürist)
  +
* prod-test-dev dimensioon - kas tegu on toodangu või test kasutusjuhtumiga infosüsteemist
  +
  +
Nt võiks kasutada selliseid vault nimesid
  +
  +
* vlt-core-int-prod - sisemise publiku kasutamiseks tuum ressruss - nt kettakast
  +
* vlt-core-ext-prod - avalikuks kasutamiseks tuum ressurss - sellist kombinatsiooni esineb nö looduses harva
  +
* vlt-leaf-ext-prod - avalikuks kasutamiseks mõeldud infosüsteem - nt mingit sorti wordpress/drupal/mediawiki põhine avalik lahendus
  +
* vlt-leaf-int-prod - sisemiseks kasutamiseks mõeldud infosüsteem - nt ipam halduslahendus
  +
* vtl-leaf-ext-test - avalikuks testimiseks mõeldud infosüsteem - nt mingit sorti wordpress/drupal/mediawiki põhine avalik lahendus
  +
  +
Kusjuures dimensioonidele kombinatsioonidele vastavad erinevad vault'id.
  +
  +
Sellise lähenemise tulemusena on võimalik erinevatele passwork kasutajatele usaldada ligipääse erinevatele ressurssidele suhteliselt üksikajalikult ligipääsemisi kontrollides, nt
  +
  +
* ug-storage-sysadm - storage ressurssidele (füüsilise kettakasti haldusliides, ceph lahenduse node'id) saavad ligi süsteemiadministreerimise tegevuste asjus gruppi kuuluvad kasutajad (ja ega sellise ligipääsuga ei saagi eriti muud toimuda peale süsteemiadministreerimise, nt lun tekitamine, lun group seadistamine, host affinity kirjeldamine)
  +
* rg-storage - storage ressursside gruppi kuuluvad Password sissekanded asuvad vastavas folderis
  +
* kuigi nö tehniliselt saaks anda rg-storage resource-grupile ligipääse nt ug-is-yks-sysadm kasutajatele grupile, vaevalt see on kuigi asjakohane
  +
  +
Esmalt moodustatakse kasutajate grupp, antud juhul on vaatluse all grupp 'ug-pve-sysadm'
  +
  +
* grupis on üks kasutaja, algustähega M
  +
* grupp on seotud ühele vaultile ligipääsemisega
  +
* grupi nime võiks lugeda selliselt, et pve lahendusele soovitakse anda süsteemi-administreerimise alast ligipääsu
  +
  +
[[Fail:20250727-passwork-rg-ug-01.png|1300px]]
  +
  +
seejärel:
  +
  +
* seostatakse kasutajate grupiga kasutaja Mart Kask - paremal üleval 'USERS'
  +
* seostatakse kasutajate grupiga ressursside grupp 'vlt-core-int-prod -> rg-pve', millele antakse ligipääs tasemel 'Administrator'
  +
  +
[[Fail:20250727-passwork-rg-ug-03.png|1300px]]
  +
  +
Tulemus paistab sedasi
  +
  +
* avatud on ressurside vaates 'vlt-core-int-prod -> rg-pve' osakond, ning Password tüüpi sissekanne 'pve-svc-02.auul.pri.ee'
  +
* sissekande koosseisus on muude field'ide hulgas 'pve totp' nimega field, mille omadus on olla nö google authenticator compatible time-based-on-time-password
  +
* eraldi on lisaks avatud pop-up aken pressides üleval 'Access to folder -> 2 users' peale, kust on näha millise grupp abil on mis privleeg antud
  +
  +
[[Fail:20250727-passwork-rg-ug-02.png|1300px]]
  +
  +
===MongoDB===
  +
  +
<pre>
  +
duser@pwrk-01:~$ docker exec -it passwork_db mongosh
  +
Current Mongosh Log ID: 6886ca4e9e57fe6db9a762f8
  +
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.5.0
  +
Using MongoDB: 6.0.21-18
  +
Using Mongosh: 2.5.0
  +
  +
For mongosh info see: https://www.mongodb.com/docs/mongodb-shell/
  +
...
  +
  +
pw> show dbs
  +
admin 40.00 KiB
  +
config 108.00 KiB
  +
local 72.00 KiB
  +
pw 5.72 MiB
  +
pw>
  +
  +
test> use pw
  +
switched to db pw
  +
pw> db.items.countDocuments()
  +
193
  +
pw>
  +
</pre>
  +
  +
vault andmete küsimine
  +
  +
<pre>
  +
pw> db.vaults.find({ name: /v-auul/i })
  +
[
  +
{
  +
_id: ObjectId('68729adc05fb74f7b20f9ee6'),
  +
createdAt: ISODate('2025-07-12T17:26:52.534Z'),
  +
creatorId: ObjectId('68729a5c6515f0d969054e06'),
  +
deleted: null,
  +
isSnapshotsMigrated: true,
  +
isUsersMigrated: true,
  +
masterKeyHash: null,
  +
name: 'v-auul',
  +
salt: null,
  +
updatedAt: ISODate('2025-07-12T21:40:47.599Z')
  +
}
  +
]
  +
pw>
  +
</pre>
  +
  +
Folder info küsimine
  +
  +
<pre>
  +
pw> db.folders.find({ "name": /rg-pve/i }).pretty()
  +
[
  +
{
  +
_id: ObjectId('68865a19531c35bd9306be7b'),
  +
ancestorIds: [],
  +
createdAt: ISODate('2025-07-27T16:55:53.214Z'),
  +
deleted: null,
  +
name: 'rg-pve',
  +
updatedAt: ISODate('2025-07-27T16:55:53.214Z'),
  +
vaultId: ObjectId('68865953a9c423aa79042ef2')
  +
}
  +
]
  +
pw>
  +
</pre>
  +
  +
Praktiliselt sisu sissekannetega ei saa sellisel viisil töötada, kuna sisu-andmed on krüptitud.
   
 
===Kasulikud lisamaterjalid===
 
===Kasulikud lisamaterjalid===

Viimane redaktsioon: 28. juuli 2025, kell 04:02

Sissejuhatus

TODO

Olulised veebikohad

Tarkvara ost

Isanda veebikoht paistab selline

20250511-passwork-01.png

kus

  • API key - seda sõne väärtust küsitakse paigaldamise käigus, st tundub, et selle alusel kopeeritakse repost tarkvara
  • License key - see fail tuleb üles laadida üks kord esimesel lahenduse käivitamisel
  • Passwork - Choose version - saab alla laadida tarkvara meelepärase versiooni .zip arhiivi

Väited

  • tundub, et tehniliselt on sama litsentsi võimalik kasutada nö kõrvutistes paigaldistes (kuna on toetatud offline kasutamine)

Tööpõhimõte

passwork lahendust saab kasutada mitmel viisil kohepeal paigaldades

  • passwork paigaldus - docker konteiner põhiselt
  • passwork paigaldus - tava-operatsiooni põhiselt
  • passwork paigaldus ilma internetii ühtendamata arvutis
  • passwork paigaldus internetti ühendutud arvutis

Käesolevas tekstis tegeledakse sellise kombinatsiooniga

  • docker põhine
  • arvutil on ühendus internetiga

Ettevalmistamine

Nt selline Docker CE tarkvara põhinev Ubuntu 24.04 dockerhost sobib kasutamiseks

duser@pwrk-01:/srv/passwork$ df -t ext4 -T -h
Filesystem                         Type  Size  Used Avail Use% Mounted on
/dev/mapper/system-root            ext4   14G  2.8G   11G  21% /
/dev/mapper/vg_data-var_lib_docker ext4  5.9G  2.1G  3.5G  38% /var/lib/docker
/dev/mapper/vg_data-srv            ext4  5.9G  4.2G  1.4G  76% /srv

Paigaldamine

passwork lahenduse paigaldamine võiks toimuda nt selliselt

duser@pwrk-01:~# su - duser

duser@pwrk-01:~$ cd /srv/passwork
duser@pwrk-01:/srv/passwork$

duser@pwrk-01:/srv/passwork$ wget https://repos.passwork.pro/repository/docker/passwork_compose_install.sh

duser@pwrk-01:/srv/passwork$ chmod +x passwork_compose_install.sh 
duser@pwrk-01:/srv/passwork$ ./passwork_compose_install.sh

duser@pwrk-01:/srv/passwork$ ./passwork_compose_install.sh 
Portal Passwork is available from your host. Online mode.
Docker version is 18.06 or higher
Docker Compose plugin is installed
User is either root or in the docker group
Checking if system is using supported package manager
Using apt-get to install packages
All required packages are already installed
Enter Portal API key: T16Ifdq10RXhaYlOlzFm1ZcPxcP4v4fMSDlvK3zSmeMzD1aRBSO4Y....

Valid Portal API key entered: T16Ifdq10RXhaYlOlzFm1ZcPxcP4v4fMSDlvK3zSmeMzD1aRBSO4Y....
Portal API key is correct
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 64054  100 64054    0     0   247k      0 --:--:-- --:--:-- --:--:--  247k
Files downloaded and unpacked successfully
.env file created successfully
Running update: ./update.sh  
Downloading version 070002...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22.4M  100 22.4M    0     0  9787k      0  0:00:02  0:00:02 --:--:-- 9785k
Verified OK
Successfully checked signature for Passwork archive
time="2025-05-11T16:46:41Z" level=warning msg="The \"UID\" variable is not set. Defaulting to a blank string."
time="2025-05-11T16:46:41Z" level=warning msg="The \"DB_RUN_FLAGS\" variable is not set. Defaulting to a blank string."
No previous version is installed or version is below 070000. Code has been obtained, no need to restart services during initial install.
Already copied
=== INSTALLED ===
time="2025-05-11T16:46:41Z" level=warning msg="The \"DB_RUN_FLAGS\" variable is not set. Defaulting to a blank string."
time="2025-05-11T16:46:41Z" level=warning msg="The \"UID\" variable is not set. Defaulting to a blank string."
 Network passwork_passwork  Creating
 Network passwork_passwork  Created
 Container passwork_cron  Creating
 Container passwork_db  Creating
 Container passwork_php  Creating
 Container passwork_php  Created
 Container passwork_nginx  Creating
 Container passwork_db  Created
 Container passwork_cron  Created
 Container passwork_nginx  Created
 Container passwork_postfix  Creating
 Container passwork_postfix  Created
 Container passwork_php  Starting
 Container passwork_cron  Starting
 Container passwork_db  Starting
 Container passwork_db  Started
 Container passwork_cron  Started
 Container passwork_php  Started
 Container passwork_nginx  Starting
 Container passwork_nginx  Started
 Container passwork_postfix  Starting
 Container passwork_postfix  Started
Started successfully
Please check running containers
CONTAINER ID   IMAGE                     COMMAND                  CREATED        STATUS                  PORTS                                      NAMES
c13dcc5f926d   passwork/docker-postfix   "/entrypoint.sh post…"   1 second ago   Up Less than a second   25/tcp                                     passwork_postfix
c86ecb29c606   passwork/docker-nginx     "/entrypoint.sh ngin…"   1 second ago   Up Less than a second   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   passwork_nginx
395b835b2853   passwork/docker-php8.3    "/entrypoint.sh tini…"   1 second ago   Up Less than a second                                              passwork_cron
d20b50f94e42   passwork/docker-psmdb6    "/entrypoint.sh mong…"   1 second ago   Up Less than a second   27017/tcp                                  passwork_db
51053237c894   passwork/docker-php8.3    "/entrypoint.sh php-…"   1 second ago   Up Less than a second                                              passwork_php

Tulemusena on moodustatud fail /srv/passwork/docker-compose.yaml ning selle alusel käivitatud konteinerid

duser@pwrk-01:/srv/passwork$ docker compose ls
NAME                STATUS              CONFIG FILES
passwork            running(5)          /srv/passwork/docker-compose.yaml

Tulemusena on kopeeritud sellised tõmmised

duser@pwrk-01:/srv/passwork$ docker image ls
REPOSITORY                TAG       IMAGE ID       CREATED        SIZE
passwork/docker-nginx     latest    ad5af3d7b172   3 days ago     195MB
passwork/docker-php8.3    latest    90f5ff5ecfa1   12 days ago    563MB
passwork/docker-postfix   latest    cd30c223cfc1   4 weeks ago    150MB
passwork/docker-psmdb6    latest    b055d5d4f764   2 months ago   831MB

Tulemusena on moodustatud selline võrk

duser@pwrk-01:/srv/passwork$ docker network ls
NETWORK ID     NAME                DRIVER    SCOPE
c294d961e9b9   bridge              bridge    local
ef6c4241d0ae   host                host      local
0652ad4a8546   none                null      local
e1d94f16ffcf   passwork_passwork   bridge    local

Tulemusena on tekitatud selline volume

duser@pwrk-01:/srv/passwork$ docker volume ls
DRIVER    VOLUME NAME
local     passwork_db_data

Paigalduse lähtestamine

Paigaldise lähtestamine, konteinerite kustamine

duser@pwrk-01:/srv/passwork$ docker compose down
WARN[0000] The "UID" variable is not set. Defaulting to a blank string. 
WARN[0000] The "DB_RUN_FLAGS" variable is not set. Defaulting to a blank string. 
[+] Running 6/6
 ✔ Container passwork_db       Removed                                                                                                                                                           0.1s 
 ✔ Container passwork_cron     Removed                                                                                                                                                           0.5s 
 ✔ Container passwork_postfix  Removed                                                                                                                                                           0.1s 
 ✔ Container passwork_nginx    Removed                                                                                                                                                           0.1s 
 ✔ Container passwork_php      Removed                                                                                                                                                           0.1s 
 ✔ Network passwork_passwork   Removed   

Named volume kustutamine

duser@pwrk-01:/srv/passwork$ docker volume rm passwork_db_data
passwork_db_data

Failisüsteemi osa kustutamine

root@pwrk-01:/srv/passwork# rm -rf .env .env.example *
root@pwrk-01:/srv/passwork# find -ls
       12      4 drwxr-xr-x   2 duser    duser        4096 May 11 17:02 .

Esmakordne käivitamine

Peale paigaldamist suundudes brauseriga teenuse url peale paistab selline pilt, valida keel, nt English

20250511-passwork-02.png

seejärel paistab selline pilt, esitada kontakt andmebaasiga (MongoDB)

20250511-passwork-03.png

seejärel esitada litsents faili üles laadimise kujul

20250511-passwork-04.png

seejärel kirjeldada esimene kasutaja, admin jms privileegidega

20250511-passwork-05.png

Lõpuks, peale sisselogimist paitsab selline pilt

20250511-passwork-06.png

https:// seadistsamine

https:// iseenesest töötab kohe algupäraselt, aga self-signed vms sertifikaadiga, custom sertifikaadi kasutamiseks sobib tekitada kaks faili

duser@pwrk-01:/srv/passwork$ pwd
/srv/passwork

duser@pwrk-01:/srv/passwork$ ls -l conf/ssl/fullchain.pem conf/ssl/privkey.pem
-rw-r--r-- 1 duser root 3590 Jul 12 20:10 conf/ssl/fullchain.pem
-rw------- 1 duser root 1704 Jul 12 20:11 conf/ssl/privkey.pem

ja öelda

duser@pwrk-01:/srv/passwork$ docker compose stop
duser@pwrk-01:/srv/passwork$ docker compose start

Kasutajate haldamine

  • Invite

2FA kasutamine

TODO

Kasutajate keskhaldus - LDAP kataloog

Väärtused

  • Server - ldap://192.168.10.125
  • Service account -> Distinguished name (DN) - Administrator@dn.moraal.ee
  • Service account -> Password - parool
  • Service account -> Attribute name for login - samaccountname

ning pressida 'Test' - ootus on vastus 'Successfully logged in'.

Seejärel liikuda lahtri 'DN for finding users in AD/LDAP' juurde ja sisestada

dc=sise,dc=moraal,dc=ee

ja presside 'Refresh users', ootus on näha paneelis 'LDAP users' midagi sellist, '0/47 created'. Pressides View users näeb kataloogi sisu.

smtp teenusega integratsioon

smtp integratsiooni kasutatakse

  • invite jaoks

smtp andmete kirjeldamiseks sobib liikuda

System settings -> Email service - Mailer config

ning kasutada nt selliseid väärtusi

  • Sender's email - passwork@auul.pri.ee
  • TODO

Kasutamine

TODO

Haldusprotseduurid

  • varundus ja taaste
  • export ja import

Versiooni uuendmine

TODO

Infoarhitektuur

Väited

  • Kõige peamisem andmete salvestamise nö konteiner on 'vault'
  • Kasutaja saab vaikimisi moodustada vaultisid, kui ta neis olevatele saladustele ligipääsu teistega ei jaga, jääb vault privaateseks
  • Passwork kasutajaid saab organiseerida gruppidesse (user group ehk ug-)

Passwork sisu hieraria on selline

    Vault-1                                 Vault-2
     |                                       |
     |                                       |
     |                                       |
     |----- Folder-1-a                       |---- Folder-2-a
     |      |                                |     |
     |      |                                |     |
     |      |----- Password-1-a-1            |     |----- Password-2-a-1
     |      |----- Password-1-a-2            |     |----- Password-2-a-2
     |        ...                            |             ...
     |                                       |  ...
     |
     |----- Folder-1-b
            |
            |
            |----- Password-1-b-1
            |        ...
            |
            |----- Password-1-b-2
                   |
                   |
                   |---- Name-1-b-2-a
                   |---- Login-1-b-2-a
                   |---- Password-1-b-2-a
                   |---- URL-1-b-2-a
                   |      ...
                   |
                   |---- Name-1-b-2-b
                   |---- Login-1-b-2-b
                   |---- Password-1-b-2-b
                   |---- URL-1-b-2-b
                          ...


  • Passwork 'Password' sissekande field on kõige elementaarsem info esinemise element

Kontseptuaalselt võiks passwork lahendust kasutada sellise mõtlemisega

  • folderite abil moodustatakse ressrusside parvi (nt rg-infosysteem-yks, rg-infosysteem-kaks, rg-pve, rg-tulemyyr, rg-storage)
  • kasutajate gruppide abil moodustatakse kasutajate parvi (nt ug-is-yks-sysadm, ug-is-yks-appadm, ug-is-yks-user, ug-pve-sysadm, ug-storage-sysadm)
  • passwork acl süsteemi abil ühendatakse ressurside ja gruppide parvi omavahel kokku

ressursside-infovarade-infosüsteemide paigutamine kolme dimensiooni

  • internal vs external dimensioon - kas kasutajad on eranditult haldusüksusest või tegemist on internetti publitseeritud teenusega
  • core vs leaf dimensioon - kas tegemist on tuum teenusega, st teenusega mis ei sõltu millestki muust (nt kettakast); või on tegemist paljudest komponentidest sõltuva lahendusega (nt lõppkasutajate teenindav infosüsteem avalikus internetis (sõltub kettakastist, virtualiseerimise platvormist, tulemüürist)
  • prod-test-dev dimensioon - kas tegu on toodangu või test kasutusjuhtumiga infosüsteemist

Nt võiks kasutada selliseid vault nimesid

  • vlt-core-int-prod - sisemise publiku kasutamiseks tuum ressruss - nt kettakast
  • vlt-core-ext-prod - avalikuks kasutamiseks tuum ressurss - sellist kombinatsiooni esineb nö looduses harva
  • vlt-leaf-ext-prod - avalikuks kasutamiseks mõeldud infosüsteem - nt mingit sorti wordpress/drupal/mediawiki põhine avalik lahendus
  • vlt-leaf-int-prod - sisemiseks kasutamiseks mõeldud infosüsteem - nt ipam halduslahendus
  • vtl-leaf-ext-test - avalikuks testimiseks mõeldud infosüsteem - nt mingit sorti wordpress/drupal/mediawiki põhine avalik lahendus

Kusjuures dimensioonidele kombinatsioonidele vastavad erinevad vault'id.

Sellise lähenemise tulemusena on võimalik erinevatele passwork kasutajatele usaldada ligipääse erinevatele ressurssidele suhteliselt üksikajalikult ligipääsemisi kontrollides, nt

  • ug-storage-sysadm - storage ressurssidele (füüsilise kettakasti haldusliides, ceph lahenduse node'id) saavad ligi süsteemiadministreerimise tegevuste asjus gruppi kuuluvad kasutajad (ja ega sellise ligipääsuga ei saagi eriti muud toimuda peale süsteemiadministreerimise, nt lun tekitamine, lun group seadistamine, host affinity kirjeldamine)
  • rg-storage - storage ressursside gruppi kuuluvad Password sissekanded asuvad vastavas folderis
  • kuigi nö tehniliselt saaks anda rg-storage resource-grupile ligipääse nt ug-is-yks-sysadm kasutajatele grupile, vaevalt see on kuigi asjakohane

Esmalt moodustatakse kasutajate grupp, antud juhul on vaatluse all grupp 'ug-pve-sysadm'

  • grupis on üks kasutaja, algustähega M
  • grupp on seotud ühele vaultile ligipääsemisega
  • grupi nime võiks lugeda selliselt, et pve lahendusele soovitakse anda süsteemi-administreerimise alast ligipääsu

20250727-passwork-rg-ug-01.png

seejärel:

  • seostatakse kasutajate grupiga kasutaja Mart Kask - paremal üleval 'USERS'
  • seostatakse kasutajate grupiga ressursside grupp 'vlt-core-int-prod -> rg-pve', millele antakse ligipääs tasemel 'Administrator'

20250727-passwork-rg-ug-03.png

Tulemus paistab sedasi

  • avatud on ressurside vaates 'vlt-core-int-prod -> rg-pve' osakond, ning Password tüüpi sissekanne 'pve-svc-02.auul.pri.ee'
  • sissekande koosseisus on muude field'ide hulgas 'pve totp' nimega field, mille omadus on olla nö google authenticator compatible time-based-on-time-password
  • eraldi on lisaks avatud pop-up aken pressides üleval 'Access to folder -> 2 users' peale, kust on näha millise grupp abil on mis privleeg antud

20250727-passwork-rg-ug-02.png

MongoDB

duser@pwrk-01:~$ docker exec -it passwork_db mongosh
Current Mongosh Log ID:	6886ca4e9e57fe6db9a762f8
Connecting to:		mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.5.0
Using MongoDB:		6.0.21-18
Using Mongosh:		2.5.0

For mongosh info see: https://www.mongodb.com/docs/mongodb-shell/
...

pw> show dbs
admin    40.00 KiB
config  108.00 KiB
local    72.00 KiB
pw        5.72 MiB
pw> 

test> use pw
switched to db pw
pw> db.items.countDocuments()
193
pw> 

vault andmete küsimine

pw> db.vaults.find({ name: /v-auul/i })
[
  {
    _id: ObjectId('68729adc05fb74f7b20f9ee6'),
    createdAt: ISODate('2025-07-12T17:26:52.534Z'),
    creatorId: ObjectId('68729a5c6515f0d969054e06'),
    deleted: null,
    isSnapshotsMigrated: true,
    isUsersMigrated: true,
    masterKeyHash: null,
    name: 'v-auul',
    salt: null,
    updatedAt: ISODate('2025-07-12T21:40:47.599Z')
  }
]
pw> 

Folder info küsimine

pw> db.folders.find({ "name": /rg-pve/i }).pretty()
[
  {
    _id: ObjectId('68865a19531c35bd9306be7b'),
    ancestorIds: [],
    createdAt: ISODate('2025-07-27T16:55:53.214Z'),
    deleted: null,
    name: 'rg-pve',
    updatedAt: ISODate('2025-07-27T16:55:53.214Z'),
    vaultId: ObjectId('68865953a9c423aa79042ef2')
  }
]
pw> 

Praktiliselt sisu sissekannetega ei saa sellisel viisil töötada, kuna sisu-andmed on krüptitud.

Kasulikud lisamaterjalid

  • TODO