قبل البدء
- مؤسسة مشمولة بخطة Enterprise.
- خدمة تعمل بإصدار ClickHouse 26.4 أو أحدث.
- دور يمتلك إذن
control-plane:service:manageعلى الخدمة (مثل Admin أو Service admin). يرى الأعضاء الذين لا يمتلكون هذا الإذن القسم بوضع القراءة فقط. - عنوان URL علني يمكن الوصول إليه عبر HTTPS لـ JWKS ينشر مفتاح RSA واحدًا على الأقل (
RS256) أو، للخدمات التي تعمل بالإصدار 26.8 أو أحدث، مفتاح EC (ES256،ES384،ES512).
يقبل الموفّرون المستندون إلى JWKS مفاتيح RSA، وبدءًا من الإصدار 26.8، مفاتيح EC على المنحنيات P-256 وP-384 وP-521. قد يحتوي مستند JWKS على أنواع مفاتيح أخرى، ولكن يجب أن يحتوي على مفتاح صالح للاستخدام واحد على الأقل.
آلية العمل
ينشئ العميل (موفّر الهوية أو تطبيقك) JWT ويوقّعه باستخدام مفتاحه الخاص. يجب أن يتبع الرمز المميز تنسيق الرمز المميز المتوقع. ثم يتحقق ClickHouse منه باستخدام المفاتيح العامة المنشورة على عنوان URL الخاص بـ JWKS:- يقرأ ClickHouse ترويسة
kid(معرّف المفتاح) للرمز المميز ويختار المفتاح المطابق من مستند JWKS. - يتحقق من توقيع الرمز المميز باستخدام ذلك المفتاح العام، ويتحقق من مطالبتي
iss(المُصدِر) وaud(الجمهور) بمقارنتهما مع تهيئة الموفّر. - عند نجاح التحقق، يعمل الاتصال كمستخدم مؤقت، وتُستمد حقوق وصوله من مطالبتي
clickhouse:grantsوclickhouse:rolesفي الرمز المميز، ضمن الحد الأقصى للأذونات (المستخدمdefault). راجع حقوق الوصول للتفاصيل.
إضافة موفّر JWT
1
افتح إعدادات أمان الخدمة
انتقل إلى خدمتك، وافتح Settings، ثم مرّر إلى قسم Security. ابحث عن بطاقة مصادقة JWT.
2
افتح اللوحة المنبثقة للموفّرين
حدّد إعداد موفّري JWT (أو إدارة موفّري JWT إذا كنت قد أعددت بعضهم بالفعل). ستفتح اللوحة المنبثقة بنموذج موفّر جديد جاهز للتعبئة.
3
أدخل تفاصيل الموفّر
أكمل نموذج الموفّر ثم حدّد حفظ.
4
أضف موفّرين آخرين عند الحاجة
استخدم إضافة موفّر آخر لتهيئة موفّرين إضافيين. يمكن أن تضم الخدمة خمسة موفّري JWT كحد أقصى.
القيود
- الحد الأقصى هو خمسة موفري JWT لكل خدمة.
- يقبل موفرو JWKS مفاتيح RSA (
RS256) ومفاتيح EC (ES256،ES384،ES512) ابتداءً من الإصدار 26.8. - يجب أن يكون عنوان URL لـ JWKS نقطة نهاية HTTPS عامة. تُرفض العناوين الخاصة أو الداخلية أو المحلية للارتباط.
- مصادقة JWT — مطالبات الرمز المميز، والمستخدمون المؤقتون، واستخدام العميل.