Përcaktimi masiv i të drejtave për përdoruesit e domain-eve nga pyje të ndryshme

Duket se kjo është karma ime: të realizoj detyra standarde në mënyra të pazakonta. Nëse dikush ka një tjetër vizion për problemin, ju lutem diskutoni për të, për të punuar mbi këtë çështje.

Një mëngjes të bukur, u shfaq një detyrë interesante për të dhënë të drejta grupeve të përdoruesve në ndarjet e ndryshme, që përmbajnë nëndokumenet e projekteve me objekte dokumentesh. Gjërat shkuan mirë dhe u shkrua një skript që caktonte të drejtat në dosje. Por më pas doli se grupet duhet të përmbajnë përdorues nga fusha të ndryshme, nga pyje të ndryshme (për ata që e harruan çfarë është kjo). Le të supozojmë se vetë ndarja ndodhet në një pajisje Synology, e regjistruar në domenin FB, pylli PSI. Detyra: të lejojmë përdoruesit të domenëve të një pylli tjetër të kenë qasje në përmbajtjen e kësaj ndarjeje, dhe kjo duhet të jetë shumë selektive.

Specifikimi i detyrës pas një kohe po përfundonte në këtë formë:

  • 2 pyje: Pylli PSI, pylli TG.

    Përcaktimi masiv i të drejtave për përdoruesit e domain-eve nga pyje të ndryshme

  • NĂ« çdo pyll ka 3 domenĂ«: PSI (ZG, PSI, FB); TG (TG, HU, KC).
  • Mes pyjeve ka marrĂ«dhĂ«nie besimi, Synology sheh tĂ« gjitha grupet e SigurisĂ«, nĂ« tĂ« gjitha pyjet.
  • NĂ« ndarjet dhe dosjet/nĂ«ndosjet duhet tĂ« ketĂ« patjetĂ«r llogari tĂ« adminĂ«ve tĂ« domenit FB me tĂ« drejta FullControl.
  • Emrat e dosjeve tĂ« ndarjeve duhet tĂ« jenĂ« tĂ« sistematizuar. Kordinimi i ID e projekteve Ă«shtĂ« bĂ«rĂ« nga drejtoria, unĂ« vendosa tĂ« lidh emrat e grupeve tĂ« SigurisĂ« me ID e projekteve.
  • Dosjet e projekteve nĂ« ndarjet sistemike duhet tĂ« pĂ«rmbajnĂ« njĂ« strukturĂ« tĂ« pĂ«rgatitur paraprakisht nĂ« skedarin .xlsx, me privilegjet pĂ«rkatĂ«se tĂ« aksesit (R/RW/NA, ku NA – akses nuk ekziston)

    Përcaktimi masiv i të drejtave për përdoruesit e domain-eve nga pyje të ndryshme

  • Duhet tĂ« ketĂ« mundĂ«sinĂ« pĂ«r tĂ« kufizuar tĂ« drejtat e pĂ«rdoruesve/anĂ«tarĂ«ve tĂ« grupit tĂ« njĂ« projekti vetĂ«m nĂ« disa katalogĂ« tĂ« kĂ«tij projekti. PĂ«r katalogĂ«/tĂ« tjerĂ« projekte, pĂ«rdoruesi mund tĂ« mos ketĂ« akses, sipas anĂ«tarĂ«sisĂ« nĂ« grupe.
  • Kur krijohet njĂ« dosje projekti, grupe nĂ« domenet pĂ«rkatĂ«se duhet tĂ« krijohen automatikisht me emrat pĂ«rkatĂ«s ID e projekteve.

Shënime për specifikimin e detyrës

  • Konfigurimi i marrĂ«dhĂ«nieve tĂ« besimit nuk Ă«shtĂ« nĂ« kuadĂ«r tĂ« specifikimit tĂ« detyrĂ«s
  • ID e projektit pĂ«rmban numra dhe letra latine
  • Rollet e pĂ«rdoruesve tĂ« projekteve pĂ«r tĂ« gjitha domenet kanĂ« emra standard
  • Skedari .xlsx me dosjet dhe tĂ« drejtat e aksesit (matrica e aksesit) pĂ«rgatitet para fillimit tĂ« implementimit tĂ« tĂ« gjithĂ« projektit
  • GjatĂ« realizimit tĂ« projekteve, Ă«shtĂ« e mundur tĂ« krijohen grupe pĂ«rdoruesish nĂ« domenet pĂ«rkatĂ«se
  • Automatizimi arrihet pĂ«rmes pĂ«rdorimit tĂ« mjeteve standarde tĂ« administrimit tĂ« MS Windows

Zbatimi i kërkesave

Pas formalizimit të këtyre kërkesave, u mor një pauzë taktike për të provuar metodat e krijimit të katalogëve dhe ndarjen e të drejtave mbi ta. Shtë e parashikuar që të përdoret vetëm PowerShell, për të mos e komplikua projektin. Siç e kam shkruar më parë, algoritmi i skriptit duket mjaft i thjeshtë:

  • regjistrojmĂ« grupe me emra tĂ« pĂ«rftuar nga ID e projektit (pĂ«r shembull KC40587) dhe me rolet pĂ«rkatĂ«se tĂ« caktuara nĂ« matricĂ«n e qasjes: KC40587-EN - pĂ«r inxhinierin; KC40587-PM - pĂ«r menaxherin e produktit etj.
  • marrim SID-tĂ« e grupeve tĂ« krijuara
  • regjistrojmĂ« dosjen e projektit dhe setin pĂ«rkatĂ«s tĂ« katalogĂ«ve (lista e nĂ«nkatalogĂ«ve varet nga ndarja, nĂ« tĂ« cilĂ«n krijohet dhe pĂ«rcaktohet nĂ« matricĂ«n e qasjes)
  • i caktojmĂ« grupet tĂ« drejtat mbi nĂ«nkatalogĂ«t e rinj tĂ« projektit sipas matricĂ«s sĂ« qasjes.

Vështirësitë me të cilat u përballëm në fazën e parë:

  • pĂ«rplasja nĂ« mĂ«nyrĂ«n e caktimit tĂ« matricĂ«s sĂ« qasjes nĂ« skript (aktualisht Ă«shtĂ« realizuar njĂ« masiv shumĂ«-dimensionale, por po kĂ«rkohet njĂ« mĂ«nyrĂ« pĂ«r ta mbushur atĂ« mbi bazĂ«n e pĂ«rmbajtjes sĂ« skedarit .xlsx/ matricĂ«s sĂ« qasjes)

    Përcaktimi masiv i të drejtave për përdoruesit e domain-eve nga pyje të ndryshme

  • pamundĂ«sia pĂ«r tĂ« caktuar tĂ« drejtat e qasjes nĂ« ndarjet SMB nĂ« ruajtĂ«sit e synology pĂ«rmes mjeteve PoSH (https://social.technet.microsoft.com/Forums/en-US/3f1a949f-0919-46f1-9e10-89256cf07e65/error-using-setacl-on-nas-share?forum=winserverpowershell), pĂ«r shkak tĂ« sĂ« cilĂ«s u humb shumĂ« kohĂ« dhe u desh tĂ« adaptohet gjithçka me skriptet qĂ« pĂ«rdorin utilitarin e redaktimit tĂ« tĂ« drejtave tĂ« qasjes icacls, qĂ« kĂ«rkoi krijimin e njĂ« depoje ndĂ«rmjetĂ«se pĂ«r skedarĂ«t tekst dhe cmd.

Në mënyrën aktuale, ekzekutimi i skedarëve cmd kontrollohet manualisht, në rastin e nevojës për regjistrimin e dosjes për projektin.

Përcaktimi masiv i të drejtave për përdoruesit e domain-eve nga pyje të ndryshme

Gjithashtu doli se skripti duhet të ekzekutohet gjithashtu për regjistrimin e grupeve në pyje të tjera (përdorëm termin Cross-domains), përveçse marrëdhënia mund të jetë jo vetëm 1 për 1, por edhe 1 për shumë.

Përcaktimi masiv i të drejtave për përdoruesit e domain-eve nga pyje të ndryshme

Kjo do të thotë që grupet nga kros-domen të tjera, përfshirë pyllin fqinj, tani mund të pretendonin për qasje në burimet e një domeni. Për të realizuar njësi, u mor vendimi për të krijuar një strukturë simetrike në OU të të gjithë domaineve që shërbehen nga të gjitha pyjet (ovale vertikale të zeza). Siç thotë, në ushtri gjithcka duhet të jetë mëkaresh, por njësi:

Përcaktimi masiv i të drejtave për përdoruesit e domain-eve nga pyje të ndryshme

Në këtë mënyrë, kur regjistrohet projekti 80XXX në domenin TG, skripti ekzekuton:

1. krijimin e OU përkatëse (eline horizontale të kuqe) në këtë domain dhe cross-domena, do të thotë që në ato domaine, punonjësit e të cilëve duhet të kenë qasje në këtë burim.

2. mbushjen e OU me grupe me emra si -, ku:

  • SRC_domain – cross-domen, punonjĂ«sit e tĂ« cilit do tĂ« kenĂ« qasje nĂ« burimet e domenit DST
  • DST_domain – domeni, nĂ« burimet e tĂ« cilit duhet tĂ« jepet qasje, do tĂ« thotĂ« pĂ«r çfarĂ« Ă«shtĂ« nĂ« realizim e gjithĂ« kjo
  • — numri i projektit
  • ROLES – emrat e roleve tĂ« listuara nĂ« matricĂ«n e aksesit.

3. leximi i masës SID të të gjitha grupeve të të gjithë domainve të angazhuar dhe ruajtja e saj për transferimin e të dhënave në një skedar, që përcakton të drejtat për një nënfolder të veçantë të projektit

4. gjenerimi i skedarëve burimorë (parametri /restore) me një grup të drejtash për të përdorur utilitarin icacKC në modus e skedarit ekzekutiv «icacKC "as-nasNNKCProjects" /restore C:TempKCKC40XXKC40XX.txt»

5. krijimi i skedarit CMD, që bashkon të gjitha icacls e nisura për të gjitha folderat e projektit

Përcaktimi masiv i të drejtave për përdoruesit e domain-eve nga pyje të ndryshme

Siç u shkrua mĂ« parĂ«, ekzekutimi i skedarit bĂ«het manualisht dhe vlerĂ«simi i rezultateve tĂ« ekzekutimit – po ashtu bĂ«het manualisht.

Vështirësitë me të cilat u përballëm në fund:

  • nĂ«se folderi i projektit Ă«shtĂ« mbushur tashmĂ« me njĂ« numĂ«r tĂ« madh skedash, ekzekutimi i komandĂ«s icacls mbi volume ekzistuese mund tĂ« marrĂ« kohĂ« tĂ« konsiderueshme, dhe nĂ« disa raste ka sjellĂ« refuzimin (pĂ«r shembull, nĂ« rast se ekzistojnĂ« rrugĂ« tĂ« gjata skedash);
  • pĂ«rveç parametrave /restore, duhej tĂ« shtojmĂ« rreshta me parametrin /reset nĂ« rast se folderat nuk janĂ« krijuar, por janĂ« transferuar nga folderat qĂ« ekzistonin mĂ« parĂ«, me tĂ« drejtat e trashĂ«gimit tĂ« fikura nga rrĂ«njĂ«t;
  • duhej tĂ« ekzekutohej njĂ« pjesĂ« e skriptit pĂ«r krijimin e grupeve nĂ« njĂ« dc tĂ« rastĂ«sishĂ«m tĂ« çdo pylli, problemi ka tĂ« bĂ«jĂ« me llogaritĂ« administrative pĂ«r çdo pemĂ«.

Përfundimi i përgjithshëm: është shumë e çuditshme që në treg nuk ka ende utilita me funksionalitet të tillë. Realizimi i këtij funksionaliteti duket i mundur mbi bazën e portalit Sharepoint.
Gjithashtu ofrohet një fakt i paqartë rreth mungesës së mundësisë për të përdorur utilitat PoSH për caktimin e të drejtave në një folder në pajisjet sinology.

Nëse dëshirohet, jam i gatshëm të ndaj skriptin, duke krijuar ndonjë projekt në github, nëse dikujt do t'i interesojë.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster