Demo | Pusat Docker |
---|
Alihkan administrasi beberapa kontainer ke rekan kerja Anda.
CaaSa menyediakan antarmuka web sederhana untuk menangani tugas dasar admin kontainer:
Batasi izin per kontainer dan pengguna
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
️ Untuk produksi adalah proxy terbalik dengan penghentian TLS di depan CaaSa sangat disarankan
Peran ditentukan melalui variabel lingkungan dan mungkin berisi izin berikut:
Ada 3 metode yang tersedia:
Untuk melakukan login, CaaSa mengirimkan permintaan http-post ke URL yang ditentukan dalam variabel lingkungan AUTH_API_URL
. Permintaan berisi badan json dengan nama pengguna dan kata sandi. Nama bidang json ditentukan melalui variabel lingkungan AUTH_API_FIELD_USERNAME
(default: username ) dan AUTH_API_FIELD_PASSWORD
(default: password ). Kode respons 2XX (misalnya 200 OK ) menunjukkan login berhasil.
Setel variabel lingkungan AUTH_API_URL=https://example.org
. Sekarang Anda dapat masuk dengan kombinasi nama pengguna dan kata sandi apa pun.
️ Hanya berguna untuk tes dan demo. Tidak cocok untuk penggunaan produktif.
CaaSa dapat membaca nama pengguna dari header permintaan http. Header ini harus disediakan oleh proxy terbalik di depan CaaSa. Itu dapat ditentukan melalui variabel lingkungan WEBPROXY_AUTH_HEADER
. Nama header yang umum adalah Remote-User .
️ Header harus disediakan oleh proxy terbalik. Nilai yang diberikan oleh klien jahat harus ditimpa.
Jika sebuah container harus terlihat di CaaSa, container tersebut harus dianotasi dengan label yang didefinisikan di atas sebagai ROLES_<labelname>
dan mencantumkan semua nama pengguna (atau ID pengguna) yang diizinkan. Nama pengguna diperlakukan tidak membedakan huruf besar-kecil.
docker run -it --rm --name caasa_demo --label caasa.admin.full=user1,user2 nginx:alpine
Dalam contoh ini pengguna user1
dan user2
diberikan hak peran caasa.admin.full
untuk container caasa_demo
melalui antarmuka web CaaSa.