Ilmselt on mul selline karma: teostada tavalisi ĂŒlesandeid igasuguste ebatavaliste viisidega. Kui kellelgi on probleemist teine arusaam â ootan arutelu, et kĂŒsimust arendada.
Ăhel kaunil hommikul tuli ette huvitav ĂŒlesanne anda Ă”igusi kasutajagruppidele erinevatesse jagadesse, mis sisaldavad projektide alamkaustu dokumentide kaustadega. KĂ”ik oli hĂ€sti ja kirjutati skript, mis mÀÀras kaustade Ă”igused. SeejĂ€rel selgus, et grupid peavad sisaldama erinevate domeenide kasutajaid, erinevatest metsadest (). Oletame, et jagamine ise asub Synology seadmel, mis on registreeritud domeenis FB, metsades PSI. Ălesanne: lubada teise metsa kasutajatel sellele jagamise sisule juurde pÀÀseda, kuid vĂ€ga valikuliselt. of domains Tehniline ĂŒlesanne hakkas mingi aja pĂ€rast vĂ€lja nĂ€gema sellisena:
2 metsa: Metsa PSI, metsa TG.
- Igas metsas on 3 domeeni: PSI (ZG, PSI, FB); TG (TG, HU, KC).

- Metsade vahel on usalduslikud suhted, Synology nÀeb kÔiki Security gruppe kÔigis metsades.
- Jagades ja kaustades/alamkaustades peavad olema domeeni FB administraatorite kontod tÀisÔigustega.
- Kaustadel ja kaustades peavad olema kindlasti FB domeeni administraatorite kontod, kellel on tÀisÔigused.
- Kaustade nimed peavad olema sĂŒsteemselt korrastatud. Projektide ID-de kooskĂ”lastamisega tegeles juhtkond, otsustasin grupi Security nimed siduda projektide ID-dega.
- Projektikaustad sĂŒsteemsetes jagades peavad sisaldama ettevalmistatud struktuuri .xlsx failis koos vastava juurdepÀÀsu Ă”igustega (R/RW/NA, kus NA â juurdepÀÀs puudub).

- Peab olema vĂ”imalik piirata kasutajate/grupi liikmete Ă”igusi ĂŒhe projekti mÀÀratud kaustadega. Kasutajal ei pruugi olla juurdepÀÀsu teistele kaustadele/projektidele vastavalt gruppidesse kuulumisele.
- Projektikausta loomisel peavad automaatselt looma vastavates domeenides grupid, mille nimed vastavad projektide ID-dele.
MĂ€rgid tehnilisse ĂŒlesandesse.
- Usalduslike suhete seadmine ei kuulu tehnilise ĂŒlesande raamesse.
- Projektide ID sisaldab numbreid ja ladina tÀhestiku tÀhti.
- Projektide kasutajate rolle kĂ”igis domeenides nimetatakse tĂŒĂŒpiliste nimedega.
- .xlsx fail kaustade ja juurdepÀÀsu Ôigustega (juurdepÀÀsumaatriks) valmistatakse ette enne kogu projekti elluviimist.
- Projektide rakendamisel on vÔimalik luua kasutajagruppe vastavates domeenides.
- Automatiseerimine saavutatakse MS Windowsi haldamise tavaliste vahendite abil
Tehnilise ĂŒlesande tĂ€itmine
PÀrast nende nÔuete formaliseerimist tehti taktikaline paus kataloogide loomise meetodite katsetamiseks ja Ôiguste mÀÀramiseks. Kasutusele pidi minema ainult PowerShell, et projekti ei keerukaks. Nagu olen varem maininud, nÀgi skripti algoritm vÀlja piisavalt lihtne:
- registreerime rĂŒhmad nimega, mis tuleneb projekti ID-st (nĂ€iteks KC40587) ja sobivate rollidega, nagu on nĂ€idatud juurdepÀÀsumaatriksis: KC40587-EN - insenerile; KC40587-PM - tootemanagerile jne.
- saame loodud rĂŒhmade SID'id
- registreerime projekti kausta ja vastava kogumi katalooge (alamkaustade loetelu sÔltub jagamisest, milles see luuakse ja on mÀÀratletud juurdepÀÀsumaatriksis)
- mÀÀrame uutele projekti alamkaustadele Ă”igused rĂŒhmadele vastavalt juurdepÀÀsumaatriksile.
Raskused, millega tuli silmitsi seista esimesel etapil:
- juurde pÀÀsemise maatriksi mÀÀramise viisi arusaamatus skripti joonisel (praegu on realiseeritud mitmemÔÔtmeline massiiv, kuid otsitakse teed selle tÀitmiseks .xlsx faili/sisule tuginedes juurdepÀÀsumaatriksist)

- Synology veebide SMB Ôiguste mÀÀramine PoSH abil osutus vÔimatuks (https://social.technet.microsoft.com/Forums/en-US/3f1a949f-0919-46f1-9e10-89256cf07e65/error-using-setacl-on-nas-share?forum=winserverpowershell), mille tÔttu kulus palju aega ning tuli kohandada kÔik skriptide jaoks, kasutades Ôiguste redigeerimise utiliiti icacls, mis nÔudis vahepealse tekstifailide ja cmd-failide hoidla loomist.
Praeguses reĆŸiimis kontrollitakse cmd-faile kĂ€sitsi, vastavalt vajadusele registreeritakse projekti kaust.

Samuti selgus, et skript peab toimima ka rĂŒhmade registreerimiseks teistes metsades (kasutati mĂ”istet Cross-domains), kusjuures suhe vĂ”ib olla mitte ainult 1:1, vaid ka 1: palju.

See tĂ€hendab, et mingisse domeeni ressursside juurde pÀÀsemiseks vĂ”ivad nĂŒĂŒd pretendeerida rĂŒhmad teistest ristdomeenidest, sealhulgas naabermetsast. Ăhtsuse saavutamiseks otsustati luua sĂŒmmeetriline struktuur kĂ”igi teenindatavate domeenide OU-de vahel kĂ”ikides metsades (mustad vertikaalsed ovaalid). Nagu öeldakse, peab armees olema kĂ”ik kaootiline, kuid ĂŒhtlane:

Seega, registreerides projekti 80XXX domeenis TG, tÀidab skript jÀrgmisi toiminguid:
1. vastava OU (punased horisontaalsed ovaalid) loomine antud domeenis ja ristdomeenides, s.t. nendes domeenides, mille töötajatel peaks olema juurdepÀÀs sellele ressursile.
2. OU tÀitmine gruppidega, mille nimed on kujul -, kus:
- SRC_domeen â ristdomeen, mille töötajad saavad juurdepÀÀsu DST domeeni ressurssidele.
- DST_domeen â domeen, millele tuleb tegelikult juurdepÀÀs anda, ehk mille pĂ€rast see kĂ”ik korraldatud on.
- â projekti number.
- ROLES â rollide nimed, mis on loetletud juurdepÀÀsumatriisis.
3. kÔikide osalevate domeenide gruppide kÔigi SID-de massiivi lugemine ja selle salvestamine edasise andmefaili jaoks, mis mÀÀratleb Ôigused konkreetsele projekti alakaustale.
4. lĂ€htefailide genereerimine (parameeter /restore) Ă”iguste kogumiga, et kasutada utiliiti icacKC kĂ€ivitatava faili reĆŸiimis «icacKC "as-nasNNKCProjects" /restore C:TempKCKC40XXKC40XX.txt».
5. CMD-faili loomine, mis ĂŒhendab kĂ”ik kĂ€ivitatavad icacls failid kĂ”igi projekti kaustade jaoks.

Nagu varem mainitud, kÀivitatakse tÀidetav fail kÀsitsi ja tulemuste hindamine toimub samuti kÀsitsi.
Kohtunud raskused:
- kui projekti kaust on juba tÀidetud suure hulga failidega, vÔib kÀsk icacls tundide vÀltel töötlemine vÔtta palju aega ning mÔnel juhul pÔhjustada tÔrke (nÀiteks kui failide teed on pikad);
- kĂ”rval parameetrile /restore tuli lisada read parameetriga /reset, juhuks kui kaustade loomine ei toimunud, vaid need viidi ĂŒle juba olemasolevatest kaustadest, millel on vĂ€lja lĂŒlitatud pĂ€randi Ă”igused juurelt;
- osa skriptist, mis tegeleb rĂŒhmade loomisega, tuli kĂ€itada igas metsas suvalisel dc-l, probleem puudutab haldustĂ€iendavaid kontosid iga puu jaoks.
Ăldine jĂ€reldus: on vĂ€ga kummaline, et turul ei ole sellise funktsionaalsusega utiliite. Tundub, et sellise funktsionaalsuse rakendamine on vĂ”imalik SharePointi portaali baasil.
Samuti on arusaamatu fakt, et PoSH utiliite ei saa kasutada kaustade Ôiguste seadmiseks seadmetel sinology.
Soovi korral olen valmis jagama skripti, luues mingi projekti githubis, kui kellelgi peaks huvi olema.
Allikas: habr.com



