Ilmselt on mul selline karma: ellu viia tavapĂ€raseid ĂŒlesandeid erinevate mittetavaliste meetoditega. Kui kellelgi on probleemile teine nĂ€gemus, palun liitu aruteluga, et probleemi arutada.
Ăhel kaunil hommikul tekkis huvitav ĂŒlesanne jagada Ă”igusi kasutajagruppidele erinevatele jagamisele, mis sisaldavad projektikaustade alakaustu koos dokumentidega. KĂ”ik lĂ€ks hĂ€sti ja kirjutati skript kaustade Ă”iguste seadmiseks. Siis selgus, et grupid peavad sisaldama erinevate domeenide kasutajaid, erinevatest metsadest (). Oletame, et jagamine end ise asub Synology seadmel, mis on registreeritud domeenis FB, metsas PSI. Ălesanne: lubada teiste metsade kasutajatel pÀÀseda sellele jagamisele, ja seda vĂ€ga valikuliselt. domeenide Tehniline ĂŒlesanne (TĂ) hakkas paistma jĂ€rgmises vormis:
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Ôikides metsades.
- Jagamistel ja kaustadel/alakaustadel peavad olema domeeni FB administraatorite kontod, kellel on tÀiskontrolli Ôigused.
- Jagamise kaustade nimed peavad olema sistematiseeritud. Projektide ID-de kooskÔlastamist tegi juhtkond, otsustasin seondada Security gruppide nimed projektide ID-dega.
- Projektikaustad sĂŒsteemsetes jagamistes peavad sisaldama eelnevalt ettevalmistatud struktuuri .xlsx failis, koos vastavate juurdepÀÀsu privileegidega (R/RW/NA, kus NA â juurdepÀÀs puudub).
- Peab olema vĂ”imalik piirata ĂŒhe projekti kasutajate/rĂŒhma liikmete Ă”igusi ainult konkreetsete kataloogidega antud projektis. Teiste kataloogide/projektide osas ei pruugi kasutajal olla juurdepÀÀsu, vastavalt rĂŒhmade liikmelisusele.

- Projektikausta loomisel peavad maksimaalselt automaatselt looma vastavates domeenides grupid, mille nimed vastavad projektide ID-dele.
- MĂ€rkused TĂ-le
Usalduslike suhete seadmine ei kuulu TĂ raamidesse.
- Projektide ID sisaldab numbreid ja ladina tÀhti.
- Projektide kasutajate rollidel kĂ”igis domeenides on tĂŒĂŒpilised nimed.
- .xlsx fail kaustade ja juurdepÀÀsu Ôiguste (juurdepÀÀsumatriis) osas valmistatakse enne kogu projekti elluviimist.
- Projektide rakendamisel on vÔimalik luua kasutajagruppide vastavates domeenides.
- Projektide elluviimisel vÔib luua kasutajagruppe vastavates domeenides.
- Automatiseerimine saavutatakse MS Windowsi haldamise natiivsete tööriistade kasutamise teel.
Tehnilise spetsifikatsiooni tÀitmine.
PÀrast nende nÔuete formaliseerimist tehti taktikaline paus, et katsetada kataloogide loomise meetodeid ja Ôiguste mÀÀramist. EesmÀrgiks oli kasutada ainult PowerShelli, et projekti keerukust mitte suurendada. Nagu ma varem mainisin, tundus skripti algoritm piisavalt lihtne:
- registreerime rĂŒhmad, mille nimed on tuletatud projekti ID-st (nĂ€iteks KC40587) ja vastavad Ă”igused, mis on toodud juurdepÀÀsu matris: KC40587-EN - insenerile; KC40587-PM - tootemanajerile jne.
- saame loodud rĂŒhmade SID-id.
- registreerime projekti kausta ja vastava kataloogide komplekti (alampdst sÔltub jagamisest, milles see luuakse ja on mÀÀratud juurdepÀÀsu matris).
- mÀÀrame uutele projekti alakaustadele Ă”igused rĂŒhmadele vastavalt juurdepÀÀsu matris.
Esimese etapi raskused, millega tuli silmitsi seista:
- juurdepÀÀsu matriisi mÀÀratlemise viisi arusaamatus skripti sees (praegu on rakendatud mitmemÔÔtmeline massiiv, kuid otsitakse teed selle tÀitmiseks .xlsx faili/juurdepÀÀsu matriisi sisu pÔhjal).

- Rikkalike of SMB jagatud Ôiguste seadmine Synology salvestites PowerShelli vahenditega ei ole vÔimalik (https://social.technet.microsoft.com/Forums/en-US/3f1a949f-0919-46f1-9e10-89256cf07e65/error-using-setacl-on-nas-share?forum=winserverpowershell), mistÔttu kulus palju aega ja tuli kohandada kÔike skriptide kasutamiseks Ôiguste redigeerimise utiliidi icacls abil, mis nÔudis vahepealse tekstifailide ja cmd-failide loomist.
Praeguses reĆŸiimis kontrollitakse cmd-faile kĂ€sitsi vastavalt vajadusele registreerida projekti kausta.

Samuti selgus, et skripti peab kĂ€ivitama 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 juurdepÀÀsutele, mis kuuluvad mĂ”nda domeeni, vĂ”ivad nĂŒĂŒd pretendeeida ka rĂŒhmad teistest ristdomeenidest, sealhulgas naabermetsast. Ăhtsuse saavutamiseks otsustati luua sĂŒmmeetriline struktuur kĂ”igis hallatavate domeenide OU-des (mustad vertikaalsed ovoid). Nagu öeldakse, peab armees olema kĂ”ik kohutav, aga ĂŒhtne:

Seega, registreerides projekti 80XXX domeenis TG, tÀidab skript:
1. vastava OU (punased horisontaalset ovaalid) loomine antud domeenis ja ristdomeenides, st nendes domeenides, mille töötajatel peab olema ligipÀÀs sellele ressursile.
2. OU tÀitmine gruppidega, mille nimed on kujul -, kus:
- SRC_domain â ristdomeen, mille töötajatel on juurdepÀÀs DST domeeni ressurssidele
- DST_domain â domeen, mille ressurssidele tuleb juurdepÀÀs anda, st mille jaoks see kĂ”ik algatati
- â projekti number
- ROLES â rollide nimed, mis on loetletud ligipÀÀsumatriisis.
3. kĂ”igi seotud domeenide rĂŒhmade SID-massiivi lugemine ja selle salvestamine edasiseks andmete edastamiseks failile, mis mÀÀratleb Ă”igused konkreetsele projekti alamkaustale
4. allikafailide genereerimine (parameeter /restore) koos Ă”iguste komplektiga, et kasutada utiliiti icacKC kĂ€itatava faili reĆŸiimis «icacKC "as-nasNNKCProjects" /restore C:TempKCKC40XXKC40XX.txt»
5. CMD-faili loomine, mis ĂŒhendab kĂ”ik kĂ€ivitatavad icacls kĂ”ikide projekti kaustade jaoks

Nagu varasemas mainitud, kÀivitatakse kÀitav fail kÀsitsi ja tulemuste hindamine toimub samuti kÀsitsi.
Koonduvad raskused, millega tuli kokku puutuda:
- kui projekti kaust on juba suurte failide kogumiga tÀidetud, vÔib icacls-i kÀsu töötlemine olemasolevate mahtude puhul vÔtta mÀrkimisvÀÀrselt aega, ning mÔnel juhul viia keeldumiseni (nÀiteks pikade failiteede olemasolul);
- lisaks parameetrile /restore tuli lisada read parameetriga /reset juhuks, kui kaustad ei olnud loodud, vaid viidud varasemate olemasolevate kaustadest, millel oli juurdepÀÀsu pĂ€rimise Ă”igus vĂ€lja lĂŒlitatud;
- osaliselt tuli skripti gruppide loomise osa kÀivitada iga metsakontori juhuslikul dc-l, probleem puudutab halduskontode olemasolu iga puu jaoks.
Ăldine jĂ€reldus: on vĂ€ga kummaline, et turul pole veel utiliite sellise funktsionaalsusega. Tundub, et sellise funktsionaalsuse rakendamine portaalil Sharepoint on vĂ”imalik.
Samuti on arusaamatu, et sinology seadmetes ei ole vÔimalik kasutada PoSH utiliite kausta Ôiguste mÀÀramiseks.
Soovi korral olen valmis jagama skripti, luues mingi projekti githubis, kui see kellelegi huvi pakub.
Allikas: habr.com



