การสาธิต | นักเทียบท่าฮับ |
---|
จ้างบุคคลภายนอกในการดูแลจัดการคอนเทนเนอร์จำนวนหนึ่งให้กับเพื่อนร่วมงานของคุณ
CaaSa มีเว็บอินเตอร์เฟสที่เรียบง่ายเพื่อจัดการงานผู้ดูแลระบบคอนเทนเนอร์ขั้นพื้นฐาน:
จำกัดสิทธิ์ต่อคอนเทนเนอร์และผู้ใช้
version : ' 2.4 '
services :
caasa :
image : knrdl/caasa
restart : always
environment :
ROLES_caasa_admin_basic : info, state, logs, procs, files, files-read
ROLES_caasa_admin_full : info, info-annotations, state, logs, term, procs, files, files-read, files-write
AUTH_API_URL : https://identity.mycompany.com/login
AUTH_API_FIELD_USERNAME : username
AUTH_API_FIELD_PASSWORD : password
ports :
- " 8080:8080 "
volumes :
- /var/run/docker.sock:/var/run/docker.sock
mem_limit : 150m
cpu_count : 1
สำหรับการผลิต ขอแนะนำให้ใช้ Reverse-proxy ที่มีการยกเลิก TLS ที่ด้านหน้า CaaSa
บทบาทถูกกำหนดผ่านตัวแปรสภาพแวดล้อมและอาจมีสิทธิ์เหล่านี้:
มี 3 วิธีให้เลือก:
ในการเข้าสู่ระบบ CaaSa จะส่งคำขอ http-post ไปยัง URL ที่กำหนดไว้ในตัวแปรสภาพแวดล้อม AUTH_API_URL
คำขอประกอบด้วยเนื้อหา json พร้อมชื่อผู้ใช้และรหัสผ่าน ชื่อฟิลด์ json ถูกกำหนดผ่านตัวแปรสภาพแวดล้อม AUTH_API_FIELD_USERNAME
(ค่าเริ่มต้น: ชื่อผู้ใช้ ) และ AUTH_API_FIELD_PASSWORD
(ค่าเริ่มต้น: รหัสผ่าน ) รหัสตอบกลับ 2XX (เช่น 200 OK ) แสดงถึงการเข้าสู่ระบบที่สำเร็จ
ตั้งค่าตัวแปรสภาพแวดล้อม AUTH_API_URL=https://example.org
ตอนนี้คุณสามารถเข้าสู่ระบบด้วยชื่อผู้ใช้และรหัสผ่านผสมกัน
มีประโยชน์สำหรับการทดสอบและการสาธิตเท่านั้น ไม่เหมาะกับการใช้งานอย่างมีประสิทธิผล
CaaSa สามารถอ่านชื่อผู้ใช้จากส่วนหัวคำขอ http ส่วนหัวนี้จะต้องจัดทำโดยพร็อกซีย้อนกลับที่ด้านหน้า CaaSa สามารถระบุได้ผ่านตัวแปรสภาพแวดล้อม WEBPROXY_AUTH_HEADER
ชื่อส่วนหัวทั่วไปคือ Remote-User
ส่วนหัวจะต้องได้รับการจัดเตรียมโดยพร็อกซีย้อนกลับ ค่าที่ไคลเอ็นต์ที่เป็นอันตรายให้มาจะต้องถูกเขียนทับ
หากมองเห็นคอนเทนเนอร์ได้ใน CaaSa จะต้องใส่คำอธิบายประกอบด้วยป้ายกำกับที่กำหนดไว้ด้านบนเป็น ROLES_<labelname>
และแสดงรายการชื่อผู้ใช้ที่ได้รับอนุญาตทั้งหมด (หรือ ID ผู้ใช้) ชื่อผู้ใช้จะถือว่าไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
docker run -it --rm --name caasa_demo --label caasa.admin.full=user1,user2 nginx:alpine
ในตัวอย่างนี้ ผู้ใช้ user1
และ user2
ได้รับสิทธิ์ของบทบาท caasa.admin.full
สำหรับคอนเทนเนอร์ caasa_demo
ผ่านทางเว็บอินเตอร์เฟส CaaSa