Zammad: تكامل مصادقة LDAP

تم إنشاؤها على ٤ نوفمبر ٢٠١٦  ·  49تعليقات  ·  مصدر: zammad/zammad

أمنية زمد لماركوس فايلر:
"الرجاء تقديم نوع من المكون الإضافي / تكامل مصادقة LDAP وإلا فلن نتمكن من استخدام نظام التذاكر لأي شيء :( outh w / facebook وحسابات google ليست خيارًا في أي شركة بها أكثر من 10 موظفين - من الناحية المثالية ، يتم حظر هذه القنوات في الأول خط الدفاع لسبب وجيه :) "

feature backlog proposal

التعليق الأكثر فائدة

أي أخبار عن هذا؟

ال 49 كومينتر

هل هذه نسخة مكررة من رقم 58؟

wagnst هذا هو الإصدار الجديد ، رقم 58 قديم ومغلق بالفعل.

ملاحظة: نحن نعمل على ميزات "مؤسسة جاهزة" للربع الأول من عام 2017 والتي ستتضمن تكامل LDAP. ابقوا متابعين.

rolfschmidt ربما يكون ADFS مع OAuth2 حلاً قصير المدى

أي أخبار عن هذا؟

سيكون دعم LDAP مذهلاً. أي تحديث يتعلق بالوقت الذي سنرى فيه هذه الميزات ، وما هي ميزات المؤسسة الأخرى التي يتم تنفيذها؟

أى اخبار؟ الربع الأول من عام 2017 في الأيام الأخيرة :)
هل هناك فرصة للحصول على هذا في تحديث أبريل؟

نعم هذه الميزة ستكون رائعة!
نحن منظمة تضم حوالي 4000 مستخدم و 50 وكيلًا ونخطط لاستبدال OTRS بـ Zammad. ولكن بدون مصادقة LDAP لا معنى لذلك.

تحديث صغير ، نحن في حالة الاختبار. على الأقل ، سيكون هناك تكامل LDAP للاختبار التجريبي متاحًا في الإصدار التالي (وبعد هذا الإصدار نسميه مستقرًا).

معاينة صغيرة حول كيفية استخدامه (نرحب بأي ملاحظات - حاولنا أن نجعلها سهلة قدر الإمكان (مع الاكتشاف التلقائي لإعدادات ldap) - طريقة Zammad):
ldap-preview

تضمين التغريدة

سيكون دعم LDAP مذهلاً. أي تحديث يتعلق بالوقت الذي سنرى فيه هذه الميزات ، وما هي ميزات المؤسسة الأخرى التي يتم تنفيذها؟

ميزات المؤسسة: أهمها إدارة الأدوار (وغيرها مثل خارج المكتب والتبادل).

ذلك يبدو جيدا. نتطلع إلى اختبار هذا مع 25 ألف مستخدم لدينا عندما يكون متاحًا.

ذلك يبدو جيدا. نتطلع إلى اختبار هذا مع 25 ألف مستخدم لدينا عندما يكون متاحًا.

🎉

أهلا،

هل هناك ترحيل / دمج لمستخدمي الوكيل الحاليين مع LDAP؟

هل هناك ترحيل / دمج لمستخدمي الوكيل الحاليين مع LDAP؟

لتحديد المستخدمين الموجودين بالفعل ، ابحث عن معلومات تسجيل الدخول وعنوان البريد الإلكتروني في قاعدة المستخدمين الحالية (يجب أن يتطابق أحدهما).

أهلا،

لقد لاحظت للتو أن تكامل ldap موجود الآن في فرع delevop. أنا الآن في وضع الاختبار ويعمل على "تحليل الإدخالات بتكوين معين ..." لحوالي 10 دقائق الآن.

لكن لدينا حوالي 25 ألف مستخدم في إعلاننا. سوف انتظر قليلا

@ Julian0o أنت رجل سريع!

أنا الآن في وضع الاختبار ويعمل على "تحليل الإدخالات بتكوين معين ..." لحوالي 10 دقائق الآن.

هل بدأ المجدول؟ في بيئة الاختبار الخاصة بنا مع 9 آلاف مستخدم ، يستغرق الأمر حوالي 60 ثانية.

ملاحظة: يمكنك بدء وظائف الخلفية في قائمة الانتظار أيضًا يدويًا باستخدام rails r 'Delayed::Worker.new.work_off'

-مارتن

كان علي أن أصوم :) نسيت تحديد دور مشرف وأنا الآن مستخدم عادي :)

@مارتيني
هل لديك بعض النصائح لإصلاح ذلك؟ أنا فقط أفتقد OTRS Config.pm الآن: د

لاستعادة دور المسؤول ، عليك ما يلي:

rails c
u = User.find_by(email: '[email protected]')
u.roles = Role.where(name: ['Agent', 'Admin'])
u.save!

ثم قم بتسجيل الدخول مرة أخرى وأنت المسؤول.

شكرا! الآن المحاولة الثانية ؛)

ملاحظة: هل هناك طريقة للحصول على هذه الأوامر دون النظر بعمق في الكود؟

ملاحظة: هل هناك طريقة للحصول على هذه الأوامر دون النظر بعمق في الكود؟

معظم القضبان أوامر قياسية. لكن ربما يجب علينا إنشاء ورقة غش ....

image

استغرقت المزامنة الأولية حوالي 10 دقائق.
الآن لدي خطأ:

An error occurred: Can't connect to '' on port '389', Connection refused - connect(2) for 127.0.0.1:389
تم تكوين مضيف LDAP " ldaps: //xxx.lan "

تحرير: القيام بتجربة ثانية مع عنوان IP strickt وليس عنوان DNS حيث يوجد 5 عناوين IP في الخلف.

من الممكن الحصول على log / production.log؟

martini يمكنني إرسال السجل إلى عنوان البريد الخاص بك. أين يجب أن تذهب؟

martini يمكنني إرسال السجل إلى عنوان البريد الخاص بك. أين يجب أن تذهب؟

support في zammad dot com

حسنًا ، الآن تعمل والمزامنة جارية. الآن مزامنة 45 دقيقة مع 6 كيلو / 22 كيلو.
هل يقوم OTRS بمزامنة المستخدمين أيضًا؟

لكن لماذا لا يمكنني تغيير تعيين المعرّف الفريد؟ نستخدم اسم المستخدم الأساسي لتعيين تسجيل دخول الوكيل.

ولماذا يمكنني فقط تعيين المسؤول والوكيل كـ "دور". هل إدارة الدور مفقودة فقط أم أن هذا هو الدور النهائي للإدارة؟

حسنًا ، الآن تعمل والمزامنة جارية. الآن مزامنة 45 دقيقة مع 6 كيلو / 22 كيلو.

مجرد إشعار ، نعمل على تسريع هذا (حوالي 3 مرات أسرع).

هل يقوم OTRS بمزامنة المستخدمين أيضًا؟

تتم مزامنة الوكلاء (وتعيينات الأدوار) في OTRS. لا العملاء ، مما يؤدي إلى مشاكل:

أ) إذا تمت إزالة العميل من ldap (قضايا التاريخ والمراجعة)
ب) تريد البحث عن التذاكر عبر سمات العميل - لا توجد نظرة عامة ، ولا توجد مشغلات ، ولا توجد خدمة sla's مع سمات العميل (غير ممكن ، لأن البيانات موجودة في مصدري بيانات كحد أدنى 2)
ج) مشكلات الأداء لاستعلامات ldap (يمكن أيضًا أن تكون متعلقة بالشبكة)

لكن لماذا لا يمكنني تغيير تعيين المعرّف الفريد؟ نستخدم اسم المستخدم الأساسي لتعيين تسجيل دخول الوكيل.

نحاول حاليًا الكشف التلقائي عن جميع الإعدادات. إذا كانت لديك أفكار حول كيفية تحسين / إثراء إعدادات التكوين.

ولماذا يمكنني فقط تعيين المسؤول والوكيل كـ "دور". هل إدارة الدور مفقودة فقط أم أن هذا هو الدور النهائي للإدارة؟

ستكون إدارة الدور موجودة في الإصدار التالي (هنا يمكنك تحديد الدور بالأذونات). إذا كنت ترغب في اختباره على التثبيت (تثبيت الحزمة) ، فقم بتنزيل https://raw.githubusercontent.com/zammad/zammad/develop/app/assets/javascripts/app/controllers/role.coffee وأعد تجميع الأصول مرة أخرى.

screen shot 2017-04-19 at 16 30 04

حسنًا ، هذا منطقي.

لقد لاحظت للتو أنه يمكنك تسجيل الدخول عبر اسم الحساب والبريد. هذا سلوك جيد! بالنسبة لنا: UPN = Mailadress

لا أعتقد أن وقت المزامنة يمثل مشكلة لأنه فقط المزامنة الأولية التي تستغرق بعض الوقت.

نصائح للكشف التلقائي عن العلامات. نحن نستخدم العديد من خدمات مايكروسوفت (سكايب للأعمال ، التبادل ، ...). افتراضيًا ، يمكنك استبعاد جميع السمات التي تبدأ بـ "مللي ثانية". لا تحتاج إلى تكوين التبادل أو إعدادات sip للمستخدمين في Zammad (على ما أظن). يمكن أن يسرع كل شيء.
يحتوي حساب المستخدم الخاص بي على سمات 45 مللي ثانية.

بالنسبة إلى ملحق الدور ، أحتاج إلى بعض المعلومات الإضافية أو googleing ؛) لقد قمت بتحميل الملف ولكن لا أعرف كيفية تجميع الأصول مسبقًا.

تحرير: أنا على طريقة جيدة لتثبيت المكون الإضافي للدور!

الآن فجأة توقفت المزامنة ... أعدت بالفعل تشغيل جميع الخدمات والخادم تمامًا. أي نصيحة لإعادة المزامنة؟

فعل بالفعل rails r 'Delayed::Worker.new.work_off'

تحديث: زمّاد صنعه من تلقاء نفسه! 👍
انتظرت للتو وفجأة انتهت المزامنة!

هل تقوم المزامنة بتنزيل الصور vom active directory؟ نقوم بتخزينها في الصورة المصغرة سمة الصورة.

السؤال التالي: كم مرة يتم تشغيل المزامنة؟ الآن مرت 24 ساعة ولم تكن هناك مزامنة جديدة.

هل تقوم المزامنة بتنزيل الصور vom active directory؟ نقوم بتخزينها في الصورة المصغرة سمة الصورة.

ليس الآن. لكن فكرة جيدة!

السؤال التالي: كم مرة يتم تشغيل المزامنة؟ الآن مرت 24 ساعة ولم تكن هناك مزامنة جديدة.

هناك وظيفة في جدول المجدول تبدأ المزامنة كل ساعة (بالطبع يجب تشغيل البرنامج النصي / الجدولة. rb).

تحقق مما إذا كانت الوظائف موجودة عبر وحدة التحكم في القضبان:

Scheduler.where(name: 'Import Jobs')

من أجل (إعادة) إنشاء الوظيفة ، قم بما يلي:

Scheduler.create_or_update(
  name:          'Import Jobs',
  method:       'ImportJob.start_registered',
  period:        1.hour,
  prio:          1,
  active:        true,
  updated_by_id: 1,
  created_by_id: 1
)

=> # <: relationship i = "5">]>

لكن Webinterface يقول:
آخر مزامنة

20.04.2017 09:30 - 20.04.2017 09:51

مرحبًا @ Julian0o - هل يمكنك التحقق من Setting.get('import_backends') ؟ يجب أن يكون هناك إدخال LDAP. إذا كان الأمر كذلك ، يرجى تشغيل الأمر ImportJob.all ونشر النتيجة. يرجى العلم أن المخرجات تحتوي على بيانات سرية مثل PW وتعيينك في السمة payload . محتوى payload غير ملائم ويمكن حذفه تمامًا.

الإخراج كبير للصق من وحدة تحكم الياقوت. هل هناك طريقة للحصول على الإخراج في ملف؟

آسف أنا مجموع روبي مستجد :)

الرجاء المحاولة ImportJob.last.attributes.except('payload').inspect - لأننا مهتمون فقط بالتشغيل الأخير. إذا كان لا يزال كبيرًا ، يمكنك استخدام File.write('/tmp/zammad_ldap.txt', ImportJob.last.attributes.except('payload').inspect) لكتابته في الملف /tmp/zammad_ldap.txt .

irb(main):001:0> ImportJob.last.attributes.except('payload').inspect
=> "{\"id\"=>10, \"name\"=>\"Import::Ldap\", \"dry_run\"=>false, \"result\"=>{\"skipped\"=>122, \"created\"=>10, \"updated\"=>27, \"unchanged\"=>22256, \"failed\"=>0, \"sum\"=>22415, \"role_ids\"=>{3=>{\"created\"=>10, \"updated\"=>25, \"unchanged\"=>22220, \"failed\"=>0}, 2=>{\"created\"=>0, \"updated\"=>2, \"unchanged\"=>36, \"failed\"=>0}, 1=>{\"created\"=>0, \"updated\"=>1, \"unchanged\"=>5, \"failed\"=>0}}}, \"started_at\"=>Fri, 21 Apr 2017 08:32:15 UTC +00:00, \"finished_at\"=>Fri, 21 Apr 2017 08:44:07 UTC +00:00, \"created_at\"=>Fri, 21 Apr 2017 08:32:15 UTC +00:00, \"updated_at\"=>Fri, 21 Apr 2017 08:44:07 UTC +00:00}"

تحرير: لقد تغيرت

Last sync

21.04.2017 10:32 - 21.04.2017 10:44

شكرا! حسنًا ، هذا غريب 🤔 هل يمكنك تقديم ناتج هذا البيان:
ImportJob.where(name: 'Import::Ldap', dry_run: false).order(created_at: :desc).limit(1).first.attributes.except('payload').inspect

يتم استخدام نفس العبارة بواسطة وحدة تحكم الواجهة الأمامية LDAP المسؤولة عن تقديم النص.

أنا متأكد من أنك فعلت ذلك ولكن فقط لأسباب تتعلق بالعقلانية: هل حاولت إعادة تحميل الصفحة؟

irb(main):001:0> ImportJob.where(name: 'Import::Ldap', dry_run: false).order(created_at: :desc).limit(1).first.attributes.except('payload').inspect
=> "{\"id\"=>12, \"name\"=>\"Import::Ldap\", \"dry_run\"=>false, \"result\"=>{\"skipped\"=>110, \"created\"=>0, \"updated\"=>14, \"unchanged\"=>14176, \"failed\"=>0, \"sum\"=>22415, \"role_ids\"=>{3=>{\"created\"=>0, \"updated\"=>14, \"unchanged\"=>14145, \"failed\"=>0}, 2=>{\"created\"=>0, \"updated\"=>0, \"unchanged\"=>31, \"failed\"=>0}, 1=>{\"created\"=>0, \"updated\"=>0, \"unchanged\"=>5, \"failed\"=>0}}}, \"started_at\"=>Fri, 21 Apr 2017 10:33:07 UTC +00:00, \"finished_at\"=>nil, \"created_at\"=>Fri, 21 Apr 2017 10:33:07 UTC +00:00, \"updated_at\"=>Fri, 21 Apr 2017 10:40:31 UTC +00:00}"

لقد لاحظت ذلك في الصباح بعد تشغيل الكمبيوتر. لذلك قمت بإعادة تحميل صعبة :)
الآن يتم تشغيل المزامنة. ربما كانت مشكلة بمؤقت واحد.

غريب 🤔 هذا يبدو جيدًا بالنسبة لي أيضًا. حسنًا ، فقط أخبرنا إذا كان هناك أي شيء.

أهلا!

لقد جربت أيضًا موصل LDAP وواجهت نفس مشكلة Julian0o ( https://github.com/zammad/zammad/issues/350#issuecomment -295259450) ولم أصرح عن أي مجموعة إدارية. بفضل martini ، استخدمت مقتطف القضبان لاستعادة دور المسؤول.

لم أكمل استيراد LDAP مطلقًا ولكن يبدو أن المجموعات متزامنة بالفعل.
الآن يبدو أن المستخدم الخاص بي لديه دور العميل ولا يمكنني تغيير أي إعدادات.
image

لحسن الحظ ، ما زلت قادرًا على أداء المهام الإدارية ، لذلك قمت بإنشاء مستخدم مسؤول مستقل ولكن ما زلت لا أستطيع تغيير أي شيء لدى المستخدم الأول.

أي أفكار حول هذا؟

تمكنت من حل هذا عن طريق تشغيل أوامر martinis rails مرة أخرى. 👍

ولكن لا يزال لدي سؤال واحد - هل من المقبول مزامنة أذونات المجموعة حتى قبل حدوث المزامنة الأولية؟
في حالتي ، أدركت أنه كان من الممكن مزامنة الكثير من المستخدمين وخرجوا من معالج اتصال LDAP ، لكنني وجدت نفسي مع الموقف الموضح أعلاه.

استيراد LDAP معلق منذ أمس
zammadldap
هل من الممكن إيقاف / إعادة الاستيراد؟

مرحبًا @ SGVubmluZ0cK - هل يمكنك استخدام وحدة تحكم مسؤول القضبان وتزويدني بإخراج كل من الأوامر الثلاثة التالية:

Setting.get('import_backends')

ImportJob.last.attributes.except('payload').inspect

ImportJob.where(name: 'Import::Ldap', dry_run: false).order(created_at: :desc).limit(1).first.attributes.except('payload').inspect

شكرا!

هذا ما تقوله وحدة تحكم المشرف في القضبان:

irb(main):004:0> Setting.get('import_backends')
=> ["Import::Ldap"]
irb(main):005:0> ImportJob.last.attributes.except('payload').inspect
=> "{\"id\"=>55, \"name\"=>\"Import::Ldap\", \"dry_run\"=>false, \"result\"=>{\"skipped\"=>2, \"created\"=>2, \"updated\"=>0, \"unchanged\"=>496, \"failed\"=>0, \"sum\"=>2403, \"role_ids\"=>{3=>{\"created\"=>2, \"updated\"=>0, \"unchanged\"=>493, \"failed\"=>0}, 2=>{\"created\"=>0, \"updated\"=>0, \"unchanged\"=>3, \"failed\"=>0}, 1=>{\"created\"=>0, \"updated\"=>0, \"unchanged\"=>1, \"failed\"=>0}}}, \"started_at\"=>Wed, 26 Apr 2017 09:57:42 UTC +00:00, \"finished_at\"=>nil, \"created_at\"=>Wed, 26 Apr 2017 09:57:42 UTC +00:00, \"updated_at\"=>Wed, 26 Apr 2017 10:00:11 UTC +00:00}"
irb(main):006:0> ImportJob.where(name: 'Import::Ldap', dry_run: false).order(created_at: :desc).limit(1).first.attributes.except('payload').inspect
=> "{\"id\"=>55, \"name\"=>\"Import::Ldap\", \"dry_run\"=>false, \"result\"=>{\"skipped\"=>2, \"created\"=>2, \"updated\"=>0, \"unchanged\"=>496, \"failed\"=>0, \"sum\"=>2403, \"role_ids\"=>{3=>{\"created\"=>2, \"updated\"=>0, \"unchanged\"=>493, \"failed\"=>0}, 2=>{\"created\"=>0, \"updated\"=>0, \"unchanged\"=>3, \"failed\"=>0}, 1=>{\"created\"=>0, \"updated\"=>0, \"unchanged\"=>1, \"failed\"=>0}}}, \"started_at\"=>Wed, 26 Apr 2017 09:57:42 UTC +00:00, \"finished_at\"=>nil, \"created_at\"=>Wed, 26 Apr 2017 09:57:42 UTC +00:00, \"updated_at\"=>Wed, 26 Apr 2017 10:00:11 UTC +00:00}"

شكرا جزيلا!

مرحبًا @ SGVubmluZ0cK - للوهلة الأولى يبدو كل شيء جيدًا بالنسبة لي. بالتأكيد ليس كذلك. هل يمكنك إنشاء عدد جديد من فضلك؟ هناك بعض الأسئلة حول نظامك / الإعداد الذي أحتاج إلى معرفته للتعمق أكثر. هناك أيضًا طلب لملفك production.log والذي سيكون رائعًا إذا كان بإمكانك توفيره.
يرجى أيضًا نسخ - لصق إخراج الأوامر من أعلى في مشكلتك الجديدة حتى يكون لدينا كل شيء في مكانه. شكرا!

مرحبًا @ Julian0o - تم إصلاح المشكلة حيث قام Zammad بإزالة تعيينات الأدوار الخاصة بك بسبب فقدان مجموعة LDAP لتعيين دور Zammad من خلال الالتزام أعلاه. سيحتفظ المستخدمون الآن بتعيين الدور المحلي الخاص بهم إذا لم يتم تحديد تعيين. ولكن إذا تم تحديد تعيين ، فإن LDAP هو المصدر الرئيسي لتعيينات الأدوار. نقدر التعليقات 🤓

اهلا ياجماعة. هل المصادقة عبر ADFS ممكنة أم على البطاقات للإصدارات المستقبلية؟ 😃

مرحبًا @ kmclea16!

نعم ، ADFS ممكن لأن Zammad يستخدم جوهرة omniauth العظيمة لمصادقة ومزامنة المستخدمين عبر مزودي الطرف الثالث. يوجد بالفعل جوهرة توفر ADFS لـ omniauth.

ومع ذلك ، لا توجد خطة لتنفيذ ذلك في المستقبل القريب ، لكن لا ينبغي أن يكون الأمر بهذه الصعوبة . من يدري ، ربما يمكن لشخص ما تقديم طلب سحب؟ سيكون رائعًا إذا كان بإمكانك إنشاء عدد جديد لذلك.

مصادقة LDAP جاهزة الآن للإصدار 1.6 القادم من Zammad لا تتردد في فتح مشكلات جديدة إذا كنت تواجه مشكلة في هذه الوظيفة.

@ kmclea16 - سيكون من الرائع رؤية مشكلة ADFS أو حتى طلب سحب 👀

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات