تجريبي | مركز عامل الميناء |
---|
الاستعانة بمصادر خارجية لإدارة مجموعة من الحاويات لزملائك في العمل.
توفر 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
️ بالنسبة للإنتاج ، يوصى بشدة باستخدام وكيل عكسي مع إنهاء 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>
وسرد جميع أسماء المستخدمين المسموح بها (أو معرفات المستخدمين). يتم التعامل مع أسماء المستخدمين على أنها غير حساسة لحالة الأحرف.
docker run -it --rm --name caasa_demo --label caasa.admin.full=user1,user2 nginx:alpine
في هذا المثال، تم منح المستخدمين user1
و user2
حقوق دور caasa.admin.full
للحاوية caasa_demo
عبر واجهة ويب CaaSa.