Proxmox VE 3.x kasutajate haldus

Allikas: Kuutõrvaja
                                        Roheline.jpg Toores. Ehk seda pala võib täiendada.

Sissejuhatus

Õpetuse esmaversioon avalikustati 6.01.2014.

Käesolev õpetus on selgitamaks võimalusi kasutajate halduses kasutades Proxmox Virtual Environment'i (PVE). Valminud on see õpetus Sten Ausi praktika jooksul EENetis (Eesti Hariduse ja Teaduse Andmesidevõrk).

Installeerimise ja kasutamise õpetuse leiab nt Kuutõrvajast (Proxmox_VE_2.x) ja/või PVE enda ametlikult kodulehelt [1].

Õpetus eeldab baasteadmisi PVEst ja UNIXi-maailmast. Lisaks on toimingute tegemiseks vajalik administraatori-õigustes kasutaja (root).

PVE rollide, kasutajate, gruppide, õiguste ja vahemike ülesehituse loogika

Proxmox Virtual Environment (PVE) ülesehituses on rollid (roles), kasutajad (users), grupid (groups), õigused (permissions) ja vahemikud (pools). Samm-sammult seletame kõik need ka lahti.

NB! Õiguseid (permissions) on rangelt soovitatav anda gruppidele (groups) ja/või vahemikele (pools).

Eduka kasutajaõiguste poliitika järgimiseks peaksid sammud olema sellised:

  • tee selgeks toimingud, mida kasutaja teha peab saama (ehk mille eest ta maksab);
  • tee selgeks roll, mis vastab kasutaja vajadustele;
  • loo vastava rolli ja virtuaalmasina jaoks grupp (group) või vahemik (pool). Nimeta see selgelt ja arusaadavalt. (Soovitus: kui virtuaalmasina ID on näiteks 101, siis võiks grupi nimi olla: VM-101-administraatorid. Kindlasti lisa ka kommentaar. Soovitus 2: kui vahemik on seotud konkreetse kliendiga, siis võiks vahemiku nimi olla Klient-KliendiNimi);
  • lisa vastavad kasutajad sinna gruppi või määra vastavad virtuaalmasinad vahemikku;
  • anna grupile või vahemikule õigused;

Rollid (Roles)

Proxmoxi on sisse-ehitatud rollid. Praeguses versioonis ei ole võimalik rolle lisada ega muuta. Tõenäoliselt see ka ei muutu kunagi, aga mine tea! :)

Enne alustamist tee selgeks rollid ja tee märge selle kohta, missuguse virtuaalmasina jaoks missugust rolli vaja on.

EENeti (teenusepakkuja) ja Kasutajate (klientide) seisukohast lähtudes on minu arust kõige vajalikumad rollid "PVEVMAdmin" ja "PVEVMUser".

  1. Administrator – tegemist on Proxmoxi administraatoriga, kel on kõik õigused (võrreldav root kasutajaga UNIX maailmas).
  2. NoAccess – Blokeeritud õigustega kasutaja (ehk siis igasuguste õiguste puudumine, v.a sisselogimise õigus).
  3. PVEAdmin -
  4. PVEAuditor -
  5. PVEDatastoreAdmin -
  6. PVEDatastoreUser -
  7. PVEPoolAdmin -
  8. PVESysAdmin -
  9. PVETemplateUser -
  10. PVEUserAdmin -
  11. PVEVMAdmin – VM.Allocate, VM.Audit, VM.Backup, VM.Clone, VM.Config.CDROM, VM.Config.CPU, VM.ConfigDisk, VM.ConfigHWType, VM.Config.Memory, VMConfig.Network, VM.Config.Options, VM.Console, VM.Migrate, VM.Monitor, VM.PowerMgmt, VM.Snapshot
  12. PVEVMUser – VM.Audit, VM.Backup, VM.Config.CDROM, VM.Console, VM.PowerMgmt

Kokkuvõtteks võib öelda, et PVEVMUser on virtuaalmasina kasutaja, kellel on võimalik masinat näha (audit), masinast teha varukoopiat (backup), konfigureerida CD-ROMi sisu (config.cdrom), käivitada konsooli (console) ja teha toiminguid virtuaalmasina vooluga (powermgmt).

PVEVMAdmin on juba "kõvem" kasutaja, kel on võimalik muuta ka riistvaralist konfiguratsiooni – CPUde arvu, RAMi suurust jne (vaata rolle PVE rollide lehelt või PVE wikist).

Usun, et pole vaja kõiki termineid lahti seletada, VM.Snapshot on ühele endast lugupidavale süsteemiadministraatorile arusaadav, et võimalik virtuaalmasinast teha tõmmis. Kuna tavakasutaja (klient) ei puutu õiguste andmisega kokku, siis pole nii algosadeks seletamine vajalik.

Grupid (Groups)

Gruppide loomine on lihtne. Vaja on sisestada vaid grupile unikaalne nimi ja kommentaar. Rangelt soovitatav on nime valimisel lähtuda reaalsest eesmärgist, milleks see grupp on loodud ning lisada ka kommentaar. Kommentaari muutmine on pärast loomist võimalik. Nime pole võimalik muuta. Sellisel juhul on vaja grupp kustutada ja luua uuesti sobiliku nimega.

Näiteks: kui grupp on loodud, et hallata virtuaalmasinat ID-ga 221, siis üks võimalik variant on näiteks gruppi nimetada „VM-221-kasutajad“. Siin juhendis toodud nimetamispoliitika ei ole muidugi nõutav ega ainuke valik.

Miks on mõttekas kasutada VM-prefiksit (ehk eesliidet)? - Kuna siis on kõik grupid nimelises järjekorras ja neid on lihtsam otsida.

Miks mitte kasutada grupi nimes virtuaalmasina nime? - PVE keskkonna jaoks on ID tähtsam – ka menüüs tuuakse välja kõigepealt ID ja siis masina nimi. Näiteks: 101 (kapten).

Kasutajad (Users)

Uue kasutaja lisamisel tuleb eelnevalt teada, missugust autentimisvõimalust kasutatakse (autentimisvõimaluse kohta loe vastavast peatükist!). Antud materjalis kasutatakse pve autentimist (root kasutaja puhul pam).

Uue kasutaja lisamisel avaneb selline pilt:

Proxmoxv3 useradd.png

Väljade mõttest peaks vast üks süsteemiadministraator aru saama, aga kõige tähtsam, millele tähelepanu pöörata on Realm väli. See on mõeldud autentimise valikuks. Antud juhul soovitan kasutada pve (Proxmox VE authentication).

Loomulikult kommentaari välja tasub ära märkida, mis kliendiga tegu on. :)

Kasutaja sisselogimine

Kasutaja sisselogimisel tuleb talle ette öelda lähtudes ettevõtte poliitikast, mis Realm'i ta valima peab. Kui kasutaja üritab pam'i sisse saada, aga tema kasutaja on pve, siis võib klienditeenindusse asjatu kõne tulla teemal „ma ei saa sisse; mis, süsteemid jälle ei tööta vä?!“

Eriti tähtis on see juhul, kui ettevõte kasutab ADS, LDAP (vt #Autentimine_(authentication) autentimise peatükki) autentimist. Muidugi on soovitatav kasutada vaid üht konkreetset autentimist. Näiteks muuta autentimisest vaikimisi valikuks pve – sellisel juhul on teised variandid valida, aga kliendile pakutakse kohe pve võimalust.

Kuidas ikkagi sisse logida? - Küsimus, mida tavakasutaja ehk küsib. Selleks on endast lugupidavad ettevõtted teinud teile mingi loetava veebiaadressi, mille saate oma brauserisse trükkida ja siis sealt juba edasi toimetada. Meie (imelikud itivennad) kasutame selleks IP-aadresse, aga kuna see on iga ettevõtte / süsteemi jaoks erinev, siis ei ole selle välja toomisel erilist mõtet.

Vahemikud (Pools)

Vahemike on hea kasutada, kui on soov mingeid virtuaalmasinaid ja/või andmejaotisi kokku liita. Näiteks situatsioon, kus klient tellib (või haldab) 10 (kümmet) virtuaalmasinat. Sellisel puhul on mõttekas luua temale vahemik, ära määrata virtuaalmasina ID-d, mis sinna kuuluvad ja siis teha kliendile grupp ja anda vahemikule õigused.

Vahemiku saab luua samamoodi ülalt menüüst. Jällegi – nime ei saa muuta, kirjeldust saab. Nimi võiks peegeldada otstarvet. Pärast vahemiku loomist peaks vasakule menüüsse ilmuma loodud nimega uus sektsioon.

Kui nüüd konkreetne vahemik avada, siis ülalt „Members“ sektsioonist on võimalik sinna lisada konkreetseid virtuaalmasinaid ja/või andmejaotiseid (storage).

Võimalikke õiguseid vaata vastavast peatükist.

Miks veel vahemikku kasutada? - Näiteks kõikide ISOde jaoks luua eraldi kettajagu ja jagada automaatselt see kõigi kasutajatega välja. Sellisel juhul on kasutajatel õigus ligipääsuks ISOsid sisaldavale kettaosale ja nad saavad kenasti oma plaadiga seotud probleemid ära lahendada. Sellisel juhul ei tohiks vahemikus olla muud kui üks Storage ja õigused peaksid olema antud ühele konkreetsele grupile, kuhu kõik kasutajad kuuluvad (siinjuures üks soovitus – teha üks uus grupp nimega „kliendid“ - noh nii näiteks). Siis ei ole vaja igale grupile eraldi storage ala määrata.

Õigused (Permissions)

Õigused on viimane samm, mida teha, et reaalselt kasutajate jaoks midagi mõjuma hakkaks. Õiguseid ei ole võimalik muuta – korra loodud õigust on võimalik ainult kustutada.

Nagu varem öeldud, on rangelt soovitatav luua grupiõigused!

Grupiõigust lisades peaks avanema selline dialoogiaken.

Proxmoxv3 grouppermissions.png

Path välja tuleb kirjutada see, millele see õigus kehtib.

Näiteks võib seal olla:

  • /vms/{vm_id}/ - kehtib konkreetse virtuaalmasina kohta (vms – virtual machines)
  • /vms/ - kehtib KÕIGI virtuaalmasinate kohta
  • /storage/{storage_id}/ - kehtib konkreetse storage kohta
  • /storage/ - kehtib KÕIGI storage kohta
  • /pool/{pool_name}/ - kehtib mingi konkreetse vahemiku kohta
  • /pool/ - kehtib kõigi vahemike kohta

NB! Vahemike õigusi on soovitatav lisada konkreetse vahemiku juurest (et vältida kirjavigu ja möödapanekuid).

NB2! Õigusi saab lisada ka virtuaalmasinale graafilise liidese kaudu. St kui pole soovi /vms/ kogu aeg kirjutada), siis on võimalik avada vasakult ka konkreetne virtuaalmasin ja ülevalt sektsioonist avada Permissions ja konkreetselt juba seal toimetada.

Õigused jooksevad siiski kõik kokku Datacenter -> Permissions

Autentimine (Authentication)

Proxmox toetab mitmeid autentimisvõimalusi. Lisaks "tehase poolt seadistatud" kahele autentimisvõimalusele on võimalik lisada ADS (Active Directory Server) autentimine ja/või LDAP (Lightweight Directory Access Protocol) autentimist. Niinimetatud "tehase poolt seadistatud" on kaks autentimisvõimalust – pam ja pve.

NB! Tähele tuleb kindlasti panna backup-võimalusi ja valida enda jaoks sobivaim meetod. Test-süsteemis hetkel kasutame pve autentimist. Kasutajate jaoks on mõistlik ära märkida vaikimisi autentimine, et segadust vähem oleks.

Linux PAM standard authentication (pam)

Eelseadistatud võimalus (pam). Idee seisneb selles, et enne on vaja Linuxisse teha süsteemne kasutaja adduser käsuga. Pärast seda on võimalik alles PVE graafilises liideses luua kasutaja, kellel reaalselt võimalik sisse logida.

Proxmox VE authentication server (pve)

Eelseadistatud võimalus (pve). Lihtsam võrreldes pam meetodiga. Analoogia UNIX-laadse süsteemi kasutajatega, kus Proxmox loob ise paroolifaili (asukohta /etc/pve/priv/shadow.cfg). Paroole hoitakse krüpteeritult (SHA-256 meetod).