SaltStack - ระบบควบคุมการเข้าถึง

ระบบควบคุมการเข้าถึงมีตัวเลือกสำหรับผู้ใช้สำหรับกลุ่มในการดำเนินงานด้วยสิทธิ์ ระบบควบคุมการเข้าถึง Salt ใช้เพื่อกำหนดค่าการเข้าถึงอินเทอร์เฟซการควบคุมที่ไม่ใช่การดูแลระบบ คุณสามารถใช้กระบวนการนี้กับระบบทั้งหมด การควบคุมนี้ช่วยให้ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบสามารถดำเนินการคำสั่ง Salt

อินเทอร์เฟซ Salt มีสามประเภทต่อไปนี้ -

  • ระบบ ACL ของผู้เผยแพร่
  • ระบบรับรองความถูกต้องภายนอก
  • ระบบเพียร์

ให้เราเข้าใจรายละเอียดผ่านอินเทอร์เฟซเหล่านี้แต่ละรายการ

ระบบ ACL ของผู้เผยแพร่

ระบบ ACL ของผู้เผยแพร่อนุญาตให้เข้าถึงผู้ใช้อื่นที่ไม่ใช่รูทเพื่อดำเนินการคำสั่ง Salt กับมินเนี่ยนจากมาสเตอร์ ระบบ ACL ของผู้เผยแพร่ถูกกำหนดค่าในไฟล์คอนฟิกูเรชันหลักผ่านไฟล์publisher_aclตัวเลือกการกำหนดค่า มีกำหนดดังนี้ -

publisher_acl:
   user1:
      - .*

   user2:
      - web*:
         - test.*
         - pkg.*

ที่นี่

  • user1 ได้รับอนุญาตให้ดำเนินการอะไรก็ได้

  • user2 ได้รับอนุญาตให้ใช้ test และ pkgแต่ในมินเนี่ยน“ เว็บ *” เท่านั้น

ระบบรับรองความถูกต้องภายนอก

external auth system ใช้เพื่อให้เข้าถึงเพื่อดำเนินการคำสั่ง salt กับมินเนี่ยนเฉพาะผ่านระบบการอนุญาตภายนอกเช่น PAM, LDAPฯลฯ ไฟล์คอนฟิกูเรชันนี้ถูกกำหนดไว้ในไฟล์ต้นแบบตามที่อธิบายไว้ด้านล่าง

external_auth:
   pam:
      user1:
         - 'web*':
            - test.*
            - network.*
      user2:
         - .*

ที่นี่

  • user1 ได้รับอนุญาตให้เรียกใช้ฟังก์ชันในไฟล์ test และ network modules เกี่ยวกับมินเนี่ยนที่ตรงกับ web* เป้าหมาย

  • user2 ได้รับอนุญาตให้เรียกใช้ฟังก์ชันทั้งหมด

เปิดใช้งานระบบรับรองความถูกต้องภายนอกในคำสั่ง

Salt Server มีตัวเลือก "–a" เพื่อเปิดใช้งานการตรวจสอบสิทธิ์ภายนอก

salt -a pam web\* test.ping

ที่นี่ -a pamใช้เพื่อเปิดใช้งานการตรวจสอบสิทธิ์ภายนอกของ PAM Salt Server จะขอรายละเอียดการพิสูจน์ตัวตนเมื่อใดก็ตามที่เราดำเนินการคำสั่ง ในการ จำกัด ไม่ให้ Salt Server ถามรายละเอียดการพิสูจน์ตัวตนในครั้งแรกเท่านั้นเราสามารถใช้ตัวเลือก T นี้-T option เก็บรายละเอียดการรับรองความถูกต้องสำหรับ 12 ชั่วโมงถัดไป (การตั้งค่าเริ่มต้น) และใช้เพื่อพิสูจน์ตัวตนผู้ใช้

salt -T -a pam web\* test.ping

ระบบเพียร์

มินเนี่ยนเกลือสามารถส่งคำสั่งโดยใช้ส่วนต่อประสานเพียร์ อินเตอร์เฟสเพียร์ถูกกำหนดค่าผ่านไฟล์คอนฟิกูเรชันหลักเพื่ออนุญาตให้มินเนี่ยนส่งคำสั่งจากมาสเตอร์โดยใช้peer ส่วนการกำหนดค่าหรือเพื่ออนุญาตให้มินเนี่ยนเรียกใช้งานนักวิ่งจากต้นแบบโดยใช้ peer_run การกำหนดค่า

ให้เราเข้าใจการกำหนดค่าทั้งสองนี้โดยละเอียด

การกำหนดค่า Peer

การกำหนดค่าอย่างง่ายที่จะกำหนดในไฟล์หลักมีดังต่อไปนี้ -

peer:
   .*:
      - .*

ที่นี่ช่วยให้สามารถสื่อสารกับมินเนี่ยนทั้งหมดได้ แต่ขอแนะนำสำหรับสภาพแวดล้อมที่ปลอดภัยมากเท่านั้น

ในการกำหนดมินเนี่ยนให้กับ ID เฉพาะจำเป็นต้องกำหนดคอนฟิกตามที่แสดงด้านล่าง: เพียร์ -

.*domain.com:
   - test.*

การกำหนดค่า peer_run

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

peer_run:
   .*:
      - .*

ในการกำหนดมินเนี่ยนให้กับ ID เฉพาะจำเป็นต้องกำหนดคอนฟิกตามที่ระบุด้านล่าง -

peer_run:
   .*domain.com:
      - test.*

วิธีดำเนินการคำสั่ง

เพื่อดำเนินการ test.ping กับมินเนี่ยนทั้งหมดให้ใช้ไฟล์ salt-call พร้อมกับคำสั่ง publish.publish โมดูล.

salt-call publish.publish \* test.ping

เพื่อดำเนินการ runnerใช้คำสั่ง salt-call พร้อมกับ publish.runner โมดูล.

salt-call publish.runner manage.up