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