Caktimi në masë të drejtimeve për përdoruesit e domaineve nga pyje të ndryshme

Duket se kam një karma të tillë: të realizoj detyra standarde në mënyra gjithnjë e më të pazakonta. Nëse dikush ka një vizion tjetër të problemit - ju lutem, ftoni në diskutim për të shqyrtuar çështjen.

Një mëngjes të bukur u shfaq një detyrë interesante që ishte ndarja e të drejtave për grupet e përdoruesve në ndarjet e ndryshme, të cilat përmbanin nëndërfoldera projektesh me dosje dokumentesh. Të gjitha ishin mirë dhe u shkrua një skenar për të caktuar të drejtat në dosje. Më pas doli se grupet duhej të përfshinin përdorues nga domaine të ndryshme, nga pyje të ndryshme (për ata që e kanë harruar se çfarë është). Le të supozojmë, ndarja vetë, është hostuar në një pajisje Synology, e regjistruar në domainin FB, pylli PSI. Detyra: të lejohet përdoruesve domenëve të pyllit tjetër të kenë akses në përmbajtjen e kësaj ndarjeje, mjaft selektivisht.

Të dhënat e kërkesës për detyra, me kalimin e kohës, po paraqiteshin në formën e mëposhtme:

  • 2 pyje: Pylli PSI, pylli TG.

    Caktimi në masë të drejtimeve për përdoruesit e domaineve nga pyje të ndryshme

  • NĂ« çdo pyll janĂ« 3 domaine: PSI (ZG, PSI, FB); TG (TG, HU, KC).
  • Mes pyjĂ«ve - marrĂ«dhĂ«nie besimi, Synology sheh tĂ« gjitha grupet e SigurisĂ«, nĂ« tĂ« gjitha pyjet.
  • NĂ« ndarjet dhe dosjet/nĂ«ndosjet patjetĂ«r duhet tĂ« jenĂ« llogaritĂ« e administratorĂ«ve tĂ« domainit FB me tĂ« drejta FullControl
  • Emrat e dosjeve tĂ« ndarjeve duhet tĂ« sistematizohen. Miratimi i ID-ve tĂ« projekteve u mor nga drejtuesit, unĂ« vendosa qĂ« emrat e grupeve tĂ« SigurisĂ« t'i lidhja me ID-tĂ« e projekteve.
  • Dosjet e projekteve nĂ« ndarjet sistematike duhet tĂ« pĂ«rmbajnĂ« njĂ« strukturĂ« tĂ« pĂ«rgatitur paraprakisht nĂ« skedarin .xlsx, me privilegjet pĂ«rkatĂ«se tĂ« aksesi (R/RW/NA, ku NA – nuk ka akses)

    Caktimi në masë të drejtimeve për përdoruesit e domaineve 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Ă« katalogĂ«t e caktuar tĂ« kĂ«tij projekti. PĂ«r katalogĂ«/tĂ« tjera projekte, pĂ«rdoruesi mund tĂ« mos ketĂ« akses, sipas anĂ«tarĂ«sisĂ« nĂ« grupe.
  • Kur krijohet dosja e projektit, grupet nĂ« domenet pĂ«rkatĂ«se duhet tĂ« krijohen automatikisht me emra pĂ«rkatĂ«s pĂ«r ID-tĂ« e projekteve.

Shënime për kërkesën e detyrave

  • Konfigurimi i marrĂ«dhĂ«nieve tĂ« besimit nuk bĂ«n pjesĂ« nĂ« kĂ«rkesĂ«n e detyrave
  • ID e projektit pĂ«rmban numra dhe latinisht
  • Rolat e pĂ«rdoruesve tĂ« projekteve pĂ«r tĂ« gjitha domainet kanĂ« emra standard
  • Skedari .xlsx me dosjet dhe tĂ« drejtat e aksesit (matrica e aksesit) pĂ«rgatitet para fillimit tĂ« realizimit tĂ« gjithĂ« projektit
  • NĂ« realizimin e projekteve, mund tĂ« krijohen grupe pĂ«rdoruesish nĂ« domenet pĂ«rkatĂ«se
  • Automatizimi arrihet pĂ«rmes pĂ«rdorimit tĂ« mjeteve tĂ« zakonshme tĂ« administratĂ«s MS Windows

Realizimi i kërkesës për detyra

Pas formalizimit të këtyre kërkesave, u mor një pauzë taktike për të provuar metodat e krijimit të katalogëve dhe caktimit të të drejtave mbi to. Kishim për qëllim të përdornim vetëm PowerShell për të mos e komplikuar projektin. Siç kam shkruar më parë, algoritemi i skenarit dukej mjaft i thjeshtë:

  • regjistrojmĂ« grupet me emra tĂ« nxjerrĂ« nga ID e projektit (p.sh., KC40587) dhe rolat pĂ«rkatĂ«se, tĂ« shĂ«nuara nĂ« matricĂ«n e aksesit: KC40587-EN- pĂ«r inxhinierin; KC40587-PM – pĂ«r menaxherin e produktit etj.
  • marim SID-tĂ« e grupeve tĂ« krijuara
  • regjistrojmĂ« dosjen e projektit dhe setin pĂ«rkatĂ«s tĂ« katalogĂ«ve (lista e nĂ«ndosjeve varet nga ndarja, ku krijohet dhe Ă«shtĂ« pĂ«rcaktuar nĂ« matricĂ«n e aksesit)
  • caktojmĂ« nĂ« nĂ«nkatalogĂ«t e ri tĂ« projektit tĂ« drejtat pĂ«r grupet sipas matricĂ«s sĂ« aksesit.

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

  • mungesa e kuptimit tĂ« mĂ«nyrĂ«s sĂ« caktimit tĂ« matricĂ«s sĂ« aksesit nĂ« skenar (tanĂ« Ă«shtĂ« implementuar njĂ« array shumĂ« dimensional, por po kĂ«rkohet njĂ« mĂ«nyrĂ« pĂ«r ta plotĂ«suar atĂ« nĂ« bazĂ« tĂ« pĂ«rmbajtjes sĂ« skedarit .xlsx/matricĂ«s sĂ« aksesit)

    Caktimi në masë të drejtimeve për përdoruesit e domaineve nga pyje të ndryshme

  • pamundĂ«sia e caktimit tĂ« tĂ« drejtave tĂ« aksesit nĂ« ndarjet SMB nĂ« pajisjet 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 humbĂ«m shumĂ« kohĂ« dhe duhej tĂ« adaptoheshim gjithçka nĂ« skenarĂ«t e pĂ«rdorimit tĂ« utilitarit tĂ« redaktimit tĂ« tĂ« drejtave icacls, qĂ« kĂ«rkonte krijimin e njĂ« magazina mesatare pĂ«r skedarĂ«t dhe dosjet cmd.

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

Caktimi në masë të drejtimeve për përdoruesit e domaineve nga pyje të ndryshme

Gjithashtu, doli që skenari duhet të ekzekutohet gjithashtu edhe për regjistrimin e grupeve në pyje të tjera (përdornim termin Cross-domains), dhe marrëdhënia mund të jetë jo vetëm 1 me 1, por edhe 1 me shumë.

Caktimi në masë të drejtimeve për përdoruesit e domaineve nga pyje të ndryshme

Kjo do të thotë që për aksesin në burimet e ndonjë domaini tani mund të pretendojnë grupe nga pyje të tjera, përfshirë pyllin fqinj. Për të arritur njësi, u mor një vendim për të krijuar një strukturë simetrike në OU të të gjitha domaineve të shërbimeve të të gjitha pyjeve (ovale vertikale të zeza). Siç thotë, në ushtri duhet të ketë gjithçka të çrregullt, por të njëjtë:

Caktimi në masë të drejtimeve për përdoruesit e domaineve nga pyje të ndryshme

Kështu, kur regjistrohet projekti 80XXX në domainin TG, skenari ekzekuton:

1. krijimi i OU përkatëse (ovalet horizontale të kuqe) në këtë domain dhe në cross-domain, dmth ato domain, punonjësit e të cilëve duhet të kenë akses në këtë burim.

2. plotësimi i OU me grupe që kanë emra në formën <SRC_domain><DST_domain><ID_project>-, ku:

  • SRC_domain – cross-domain, punonjĂ«sit e tĂ« cilit do tĂ« kenĂ« akses nĂ« burimet e domain DST
  • DST_domain – domain, nĂ« burimet e tĂ« cilit duhet tĂ« jepet akses, dmth pĂ«r tĂ« cilin Ă«shtĂ« krijuar gjithçka
  • <ID_project> — numri i projektit
  • ROLES – emrat e rolit tĂ« listuar nĂ« matricĂ«n e aksesit.

3. leximi i masës SID të të gjitha grupeve të të gjitha domain të përfshira dhe ruajtja e saj për transfertën e mëvonshme të të dhënave në një skedar, i cili përcakton të drejtat për një nënfolder të caktuar të projektit.

4. gjenerimi i skedarëve burim (parametri /restore) me grupin e të drejtave për t'u përdorur nga utilitarja icacKC në modin e skedarit ekzekutues "icacKC \"as-nasNNKCProjects\" /restore C:TempKCKC40XXKC40XX.txt"

5. krijimi i skedarit CMD, që përfshin të gjitha icacls e ekzekutueshme për të gjitha dosjet e projektit.

Caktimi në masë të drejtimeve për përdoruesit e domaineve nga pyje të ndryshme

Siç është shkruar më parë, ekzekutimi i skedarit bëhet manualisht dhe vlerësimi i rezultateve të ekzekutimit po ashtu kryhet manualisht.

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

  • nĂ«se folderi i projektit ka shumĂ« skedha, rikthimi i komandĂ«s icacls nĂ« volumin ekzistues mund tĂ« marrĂ« shumĂ« kohĂ«, dhe nĂ« disa raste ndihmoi nĂ« refuzimin (pĂ«r shembull kur ka rrugĂ« tĂ« gjata skedhash);
  • pĂ«rveç parametrave /restore, duhej shtuar rreshta me parametrin /reset pĂ«r rastin nĂ«se folderĂ«t nuk ishin krijuar, por ishin transferuar nga dosje ekzistuese, me tĂ« drejtat e trashĂ«guara tĂ« çaktivizuara nga rrĂ«nja;
  • pjesĂ«n e skriptit pĂ«r krijimin e grupeve duhet tĂ« ekzekutohej nĂ« njĂ« dc tĂ« rastĂ«sishĂ«m nga çdo lis, problemi lidhet me llogaritĂ« administrative pĂ«r çdo pemĂ«.

Përfundimi i përgjithshëm: është shumë e çuditshme që në treg ende nuk ka utilitare me funksionim të tillë. Realizimi i një funksionaliteti të tillë duket i mundshëm mbi portalin SharePoint.
Gjithashtu është e paqartë mungesa e mundësisë për të përdorur utilitarët PoSH për të caktuar të drejtat në folder në pajisjet Sinology.

Nëse dikujt i intereson, jam i gatshëm të ndaj skriptin duke krijuar një projekt në github.

Burimi: habr.com

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