การโอนสิทธิในวงกว้างให้กับผู้ใช้โดเมนจากฟอเรสต์ต่างๆ

เห็นได้ชัดว่ากรรมของฉันคือ: ดำเนินงานมาตรฐานในทุกรูปแบบที่ไม่สำคัญ หากใครมีวิสัยทัศน์ที่แตกต่างของปัญหา โปรดหารือเกี่ยวกับปัญหานั้นเพื่อจะได้แก้ไขปัญหาได้

เช้าวันหนึ่งที่ดี มีงานที่น่าสนใจเกิดขึ้นเพื่อแจกจ่ายสิทธิ์ให้กับกลุ่มผู้ใช้สำหรับการแชร์ที่แตกต่างกันซึ่งมีโฟลเดอร์ย่อยของโครงการที่มีโฟลเดอร์เอกสาร ทุกอย่างเรียบร้อยดีและมีการเขียนสคริปต์เพื่อกำหนดสิทธิ์ให้กับโฟลเดอร์ แล้วปรากฎว่ากลุ่มควรมีผู้ใช้จากโดเมนที่แตกต่างกัน จากฟอเรสต์ที่แตกต่างกัน (สำหรับผู้ที่ลืมว่ามันคืออะไร). สมมติว่าการแชร์นั้นอยู่บนสื่อ Synology ซึ่งลงทะเบียนในโดเมน FB ของฟอเรสต์ PSI ภารกิจ: เพื่อให้ผู้ใช้โดเมนในฟอเรสต์อื่นสามารถเข้าถึงเนื้อหาของการแบ่งปันนี้ และเลือกอย่างมาก

หลังจากผ่านไประยะหนึ่งข้อกำหนดทางเทคนิคก็อยู่ในรูปแบบต่อไปนี้:

  • 2 ป่า ได้แก่ ป่า PSI ป่า TG

    การโอนสิทธิในวงกว้างให้กับผู้ใช้โดเมนจากฟอเรสต์ต่างๆ

  • แต่ละฟอเรสต์มี 3 โดเมน: PSI (ZG, PSI, FB); ทีจี (TG, HU, KC)
  • มีความสัมพันธ์ที่เชื่อถือได้ระหว่างฟอเรสต์ Synology มองเห็นกลุ่มความปลอดภัยทั้งหมดในฟอเรสต์ทั้งหมด
  • การแชร์และโฟลเดอร์/โฟลเดอร์ย่อยต้องมีบัญชีผู้ดูแลระบบโดเมน FB ที่มีสิทธิ์ FullControl
  • ชื่อของโฟลเดอร์ควรได้รับการจัดระบบ ฝ่ายบริหารประสานงานรหัสโครงการ ฉันตัดสินใจเชื่อมโยงชื่อกลุ่มความปลอดภัยกับรหัสโครงการ
  • โฟลเดอร์โปรเจ็กต์ในการแชร์ระบบจะต้องมีโครงสร้างที่เตรียมไว้ล่วงหน้าในไฟล์ .xlsx พร้อมสิทธิ์การเข้าถึงที่เหมาะสม (R/RW/NA โดยที่ NA – ไม่มีการเข้าถึง)

    การโอนสิทธิในวงกว้างให้กับผู้ใช้โดเมนจากฟอเรสต์ต่างๆ

  • ควรเป็นไปได้ที่จะจำกัดสิทธิ์ของผู้ใช้/สมาชิกกลุ่มของโปรเจ็กต์หนึ่งไว้เฉพาะบางไดเร็กทอรีของโปรเจ็กต์นั้น ผู้ใช้อาจไม่สามารถเข้าถึงไดเร็กทอรี/โปรเจ็กต์อื่น ขึ้นอยู่กับการเป็นสมาชิกกลุ่ม
  • เมื่อสร้างโฟลเดอร์โปรเจ็กต์ ควรสร้างกลุ่มโดยอัตโนมัติที่สุดเท่าที่จะเป็นไปได้ในโดเมนที่เหมาะสมพร้อมกับชื่อที่สอดคล้องกับรหัสโปรเจ็กต์

หมายเหตุเกี่ยวกับข้อกำหนดทางเทคนิค

  • การตั้งค่าความสัมพันธ์ที่เชื่อถือได้ไม่รวมอยู่ในขอบเขตของข้อกำหนดทางเทคนิค
  • รหัสโครงการประกอบด้วยตัวเลขและอักขระละติน
  • บทบาทผู้ใช้โครงการสำหรับโดเมนทั้งหมดมีชื่อมาตรฐาน
  • ไฟล์ .xlsx พร้อมโฟลเดอร์และสิทธิ์การเข้าถึง (เมทริกซ์การเข้าถึง) ได้รับการจัดเตรียมก่อนเริ่มโครงการทั้งหมด
  • เมื่อดำเนินโครงการ คุณสามารถสร้างกลุ่มผู้ใช้ในโดเมนที่เกี่ยวข้องได้
  • ระบบอัตโนมัติทำได้โดยใช้เครื่องมือการดูแลระบบ MS Windows มาตรฐาน

การดำเนินการตามข้อกำหนดทางเทคนิค

หลังจากทำให้ข้อกำหนดเหล่านี้เป็นทางการแล้ว จะมีการหยุดชั่วคราวทางยุทธวิธีเพื่อทดสอบวิธีการสร้างไดเร็กทอรีและการกำหนดสิทธิ์ให้กับสิ่งเหล่านั้น มีวัตถุประสงค์เพื่อใช้เฉพาะ PowerShell เท่านั้นเพื่อไม่ให้โครงการซับซ้อน อย่างที่ฉันเขียนไว้ก่อนหน้านี้ อัลกอริธึมสคริปต์ดูเหมือนค่อนข้างง่าย:

  • เราลงทะเบียนกลุ่มด้วยชื่อที่ได้มาจากรหัสโครงการ (เช่น KC40587) และบทบาทที่เกี่ยวข้องที่ระบุในเมทริกซ์การเข้าถึง: KC40587-EN- สำหรับวิศวกร KC40587-PM – สำหรับผู้จัดการผลิตภัณฑ์ ฯลฯ
  • เราได้รับ SID ของกลุ่มที่สร้างขึ้น
  • ลงทะเบียนโฟลเดอร์โครงการและชุดไดเรกทอรีที่เกี่ยวข้อง (รายการโฟลเดอร์ย่อยขึ้นอยู่กับการแชร์ที่สร้างและกำหนดไว้ในเมทริกซ์การเข้าถึง)
  • กำหนดสิทธิ์ให้กับกลุ่มสำหรับไดเรกทอรีย่อยใหม่ของโครงการตามเมทริกซ์การเข้าถึง

ความยากลำบากที่พบในระยะที่ 1:

  • ความเข้าใจผิดเกี่ยวกับวิธีการระบุเมทริกซ์การเข้าถึงในสคริปต์ (ขณะนี้มีการใช้อาร์เรย์หลายมิติ แต่เส้นทางในการเติมนั้นกำลังค้นหาตามเนื้อหาของไฟล์ .xlsx/เมทริกซ์การเข้าถึง)

    การโอนสิทธิในวงกว้างให้กับผู้ใช้โดเมนจากฟอเรสต์ต่างๆ

  • ความเป็นไปไม่ได้ของการตั้งค่าสิทธิ์การเข้าถึงในการแชร์ SMB บนไดรฟ์ synology โดยใช้ PoSH (https://social.technet.microsoft.com/Forums/en-US/3f1a949f-0919-46f1-9e10-89256cf07e65/error-using-setacl-on- nas -share?forum=winserverpowershell) เนื่องจากเสียเวลาไปมากและทุกอย่างต้องปรับให้เข้ากับสคริปต์โดยใช้ยูทิลิตี้แก้ไขสิทธิ์การเข้าถึง icacls ซึ่งจำเป็นต้องสร้างพื้นที่เก็บข้อมูลระดับกลางของข้อความและไฟล์ cmd

ในโหมดปัจจุบัน การดำเนินการของไฟล์ cmd จะถูกควบคุมด้วยตนเอง ขึ้นอยู่กับความจำเป็นในการลงทะเบียนโฟลเดอร์สำหรับโปรเจ็กต์

การโอนสิทธิในวงกว้างให้กับผู้ใช้โดเมนจากฟอเรสต์ต่างๆ

ปรากฎว่าควรดำเนินการสคริปต์เพื่อลงทะเบียนกลุ่มในฟอเรสต์อื่น (ใช้คำว่า ข้ามโดเมน) และอัตราส่วนไม่เพียงเป็น 1 ต่อหนึ่งเท่านั้น แต่ยังรวมถึง 1 ต่อหลาย ๆ ด้วย

การโอนสิทธิในวงกว้างให้กับผู้ใช้โดเมนจากฟอเรสต์ต่างๆ

ซึ่งหมายความว่ากลุ่มจากข้ามโดเมนอื่นๆ รวมถึงฟอเรสต์ใกล้เคียง สามารถอ้างสิทธิ์ในการเข้าถึงทรัพยากรของโดเมนใดก็ได้แล้ว เพื่อให้เกิดความสม่ำเสมอ จึงตัดสินใจสร้างโครงสร้างสมมาตรใน OU ของโดเมนที่ให้บริการทั้งหมดของฟอเรสต์ทั้งหมด (วงรีแนวตั้งสีดำ) อย่างที่พวกเขาพูดกันว่าในกองทัพทุกอย่างควรจะน่าเกลียด แต่ก็เหมือนกัน:

การโอนสิทธิในวงกว้างให้กับผู้ใช้โดเมนจากฟอเรสต์ต่างๆ

ดังนั้น เมื่อลงทะเบียนโปรเจ็กต์ 80XXX ในโดเมน TG สคริปต์จะดำเนินการ:

1. การสร้าง OU ที่เกี่ยวข้อง (วงรีแนวนอนสีแดง) ในโดเมนนี้และข้ามโดเมน นั่นคือ โดเมนที่พนักงานต้องมีสิทธิ์เข้าถึงทรัพยากรนี้

2. กรอก OU ด้วยกลุ่มที่มีชื่อเช่น - โดยที่:

  • โดเมน SRC_ – ข้ามโดเมนที่พนักงานจะสามารถเข้าถึงทรัพยากรโดเมน DST
  • DST_domain – โดเมนที่ควรจัดให้มีการเข้าถึงทรัพยากรซึ่งก็คือเพื่อประโยชน์ในการเริ่มต้นทุกอย่าง
  • — หมายเลขโครงการ
  • ROLES – ชื่อของบทบาทที่แสดงอยู่ในเมทริกซ์การเข้าถึง

3. อ่านอาร์เรย์ของ SID ของทุกกลุ่มของโดเมนที่เกี่ยวข้องทั้งหมด และบันทึกไว้สำหรับการถ่ายโอนข้อมูลในภายหลังไปยังไฟล์ที่กำหนดสิทธิ์ในโฟลเดอร์ย่อยของโครงการเฉพาะ

4. การสร้างไฟล์ต้นฉบับ (พารามิเตอร์ /กู้คืน) พร้อมชุดสิทธิ์สำหรับการใช้งานโดยยูทิลิตี้ icacKC ในโหมดไฟล์ปฏิบัติการ “icacKC "as-nasNNKCProjects" /restore C:TempKCKC40XXKC40XX.txt"

5. การสร้างไฟล์ CMD ที่รวม icacls ที่เปิดใช้งานทั้งหมดสำหรับโฟลเดอร์โครงการทั้งหมด

การโอนสิทธิในวงกว้างให้กับผู้ใช้โดเมนจากฟอเรสต์ต่างๆ

ตามที่เขียนไว้ก่อนหน้านี้ การเรียกใช้ไฟล์ปฏิบัติการนั้นทำได้ด้วยตนเอง และการประเมินผลผลการดำเนินการก็กระทำด้วยตนเองเช่นกัน

ความยากลำบากที่เราต้องเผชิญในท้ายที่สุด:

  • หากโฟลเดอร์โปรเจ็กต์เต็มไปด้วยไฟล์จำนวนมากอยู่แล้ว การรันคำสั่ง icacls บนโวลุ่มที่มีอยู่อาจใช้เวลานานพอสมควร และในบางกรณีก็นำไปสู่ความล้มเหลว (เช่น เมื่อมีพาธของไฟล์ยาว)
  • นอกเหนือจากพารามิเตอร์ /restore แล้ว เรายังต้องเพิ่มบรรทัดด้วยพารามิเตอร์ /reset ในกรณีที่ไม่ได้สร้างโฟลเดอร์ แต่ถูกถ่ายโอนจากโฟลเดอร์ที่มีอยู่ก่อนหน้านี้ โดยปิดใช้งานสิทธิ์การสืบทอดจากรูท
  • ส่วนหนึ่งของสคริปต์สำหรับการสร้างกลุ่มจะต้องดำเนินการบน dc ที่กำหนดเองของแต่ละฟอเรสต์ ปัญหาเกี่ยวข้องกับบัญชีผู้ดูแลระบบสำหรับแต่ละแผนผัง

ข้อสรุปทั่วไป: เป็นเรื่องแปลกมากที่ยังไม่มีระบบสาธารณูปโภคที่มีฟังก์ชันการทำงานคล้ายกันในตลาด ดูเหมือนว่าเป็นไปได้ที่จะใช้ฟังก์ชันการทำงานที่คล้ายกันโดยอิงจากพอร์ทัล Sharepoint
นอกจากนี้ยังไม่สามารถเข้าใจได้ว่าไม่สามารถใช้ยูทิลิตี้ PoSH เพื่อตั้งค่าสิทธิ์โฟลเดอร์บนอุปกรณ์ sinology ได้

หากต้องการ ฉันพร้อมที่จะแชร์สคริปต์โดยสร้างโปรเจ็กต์บน GitHub หากใครสนใจ

ที่มา: will.com

เพิ่มความคิดเห็น