> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# إعداد مصادقة JWT

> كيفية تهيئة موفّري مصادقة JWT ‏(JWKS) لكل خدمة ClickHouse Cloud من وحدة التحكم

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <span>Beta</span>
            </a>;
  }
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>ميزة Beta</span>
        </a>;
};

export const VersionBadge = ({minVersion}) => <div className="versionBadge">
    <div className="versionIcon" style={{
  marginRight: "8px",
  marginTop: "4px"
}}>
      <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path d="M5 14C5.82843 14 6.5 13.3284 6.5 12.5C6.5 11.6716 5.82843 11 5 11C4.17157 11 3.5 11.6716 3.5 12.5C3.5 13.3284 4.17157 14 5 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.25" />
        <path d="M5 5C5.82843 5 6.5 4.32843 6.5 3.5C6.5 2.67157 5.82843 2 5 2C4.17157 2 3.5 2.67157 3.5 3.5C3.5 4.32843 4.17157 5 5 5Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.25" />
        <path d="M13 10.5C13.8284 10.5 14.5 9.82843 14.5 9C14.5 8.17157 13.8284 7.5 13 7.5C12.1716 7.5 11.5 8.17157 11.5 9C11.5 9.82843 12.1716 10.5 13 10.5Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.25" />
        <path d="M11.5 9H9.5C9.03426 9 8.57493 8.89157 8.15836 8.68328C7.74179 8.475 7.37944 8.17259 7.1 7.8L5 5V11" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.25" />
      </svg>
    </div>
    متاح في الإصدار {minVersion} والإصدارات الأحدث
  </div>;

export const EnterprisePlanFeatureBadge = ({feature = 'هذه الميزة', support = false, linking_verb_are = false}) => {
  return <div className="enterprisePlanFeatureContainer">
            <div className="enterprisePlanFeatureBadge">
                ميزة في خطة Enterprise
            </div>
            <div>
                <p>{feature} {linking_verb_are ? 'متوفرة' : 'متوفرة'} في خطة Enterprise. {support ? `تواصل مع الدعم لتمكين هذه الميزة.` : 'للترقية، انتقل إلى صفحة الخطط في Cloud Console.'}</p>
            </div>
        </div>;
};

export const Image = ({img, alt, size = "lg", background}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  const backgroundColor = background === "white" ? "white" : background === "black" ? "rgb(31 31 28)" : undefined;
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} style={{
    backgroundColor
  }} />
      </Frame>
    </div>;
};

<BetaBadge />

<VersionBadge minVersion="26.4" />

<EnterprisePlanFeatureBadge feature="مصادقة JWT باستخدام موفر هوية مخصص" />

<Tip>
  يشرح هذا الدليل كيفية تهيئة موفري JWKS في Cloud console. لمعرفة كيفية إنشاء JWT وبنيته — بما في ذلك المطالبات المطلوبة ومطالبات الأدوار والمنح وكيفية عمل المستخدمين المؤقتين — راجع [مصادقة JWT](/docs/ar/concepts/features/security/external-authenticators/jwt).
</Tip>

يتيح لك ClickHouse Cloud مصادقة الاتصالات بخدمة باستخدام JSON Web Tokens ‏(JWTs) التي يتم التحقق من صحتها بالاستناد إلى نقاط نهاية JSON Web Key Set ‏(JWKS) الخاصة بك. وبدلًا من إدارة بيانات اعتماد قاعدة البيانات، يصدر موفر الهوية رموزًا مميزة قصيرة العمر يتحقق ClickHouse من صحتها باستخدام المفاتيح العامة المنشورة على عنوان URL لـ JWKS الذي تهيّئه.

يمكنك تهيئة موفري JWKS بنفسك لكل خدمة من **Settings → Security** في ClickHouse Cloud console.

<div id="before-you-begin">
  ## قبل البدء
</div>

لتهيئة موفّري JWT لخدمة، تحتاج إلى:

* مؤسسة مشمولة بخطة **Enterprise**.
* خدمة تعمل بإصدار **ClickHouse 26.4 أو أحدث**.
* دور يمتلك إذن `control-plane:service:manage` على الخدمة (مثل **Admin** أو **Service admin**). يرى الأعضاء الذين لا يمتلكون هذا الإذن القسم بوضع القراءة فقط.
* عنوان URL علني يمكن الوصول إليه عبر **HTTPS** لـ JWKS ينشر مفتاح **RSA** واحدًا على الأقل (`RS256`) أو، للخدمات التي تعمل بالإصدار 26.8 أو أحدث، مفتاح **EC** (`ES256`، `ES384`، `ES512`).

<Note>
  يقبل الموفّرون المستندون إلى JWKS مفاتيح **RSA**، وبدءًا من الإصدار 26.8، مفاتيح **EC** على المنحنيات P-256 وP-384 وP-521. قد يحتوي مستند JWKS على أنواع مفاتيح أخرى، ولكن يجب أن يحتوي على مفتاح صالح للاستخدام واحد على الأقل.
</Note>

<div id="how-it-works">
  ## آلية العمل
</div>

ينشئ العميل (موفّر الهوية أو تطبيقك) JWT ويوقّعه باستخدام **مفتاحه الخاص**. يجب أن يتبع الرمز المميز [تنسيق الرمز المميز](/docs/ar/concepts/features/security/external-authenticators/jwt#token-claims) المتوقع. ثم يتحقق ClickHouse منه باستخدام المفاتيح **العامة** المنشورة على عنوان URL الخاص بـ JWKS:

1. يقرأ ClickHouse ترويسة `kid` (معرّف المفتاح) للرمز المميز ويختار المفتاح المطابق من مستند JWKS.
2. يتحقق من توقيع الرمز المميز باستخدام ذلك المفتاح العام، ويتحقق من مطالبتي `iss` (المُصدِر) و`aud` (الجمهور) بمقارنتهما مع تهيئة الموفّر.
3. عند نجاح التحقق، يعمل الاتصال كمستخدم مؤقت، وتُستمد حقوق وصوله من مطالبتي `clickhouse:grants` و`clickhouse:roles` في الرمز المميز، ضمن الحد الأقصى للأذونات (المستخدم `default`). راجع [حقوق الوصول](/docs/ar/concepts/features/security/external-authenticators/jwt#access-rights) للتفاصيل.

يتحقق ClickHouse من عنوان URL الخاص بـ JWKS ويجلبه عند إضافة موفّر أو تحديثه، لذا يُرفض مسبقًا أي عنوان URL مُهيأ بشكل خاطئ أو يتعذر الوصول إليه.

<div id="add-a-jwt-provider">
  ## إضافة موفّر JWT
</div>

<Steps>
  <Step title="افتح إعدادات أمان الخدمة" id="open-security-settings">
    انتقل إلى خدمتك، وافتح **Settings**، ثم مرّر إلى قسم **Security**. ابحث عن بطاقة **مصادقة JWT**.

    <Image img="https://mintcdn.com/private-7c7dfe99/-6hzQ2QWO_HW75mL/images/cloud/security/jwt/jwt-section.png?fit=max&auto=format&n=-6hzQ2QWO_HW75mL&q=85&s=79179b401f3a527316bffe67be424977" size="lg" alt="قسم مصادقة JWT في إعدادات أمان الخدمة" force width="1850" height="422" data-path="images/cloud/security/jwt/jwt-section.png" />
  </Step>

  <Step title="افتح اللوحة المنبثقة للموفّرين" id="open-flyout">
    حدّد **إعداد موفّري JWT** (أو **إدارة موفّري JWT** إذا كنت قد أعددت بعضهم بالفعل). ستفتح اللوحة المنبثقة بنموذج موفّر جديد جاهز للتعبئة.
  </Step>

  <Step title="أدخل تفاصيل الموفّر" id="fill-provider-details">
    أكمل نموذج الموفّر ثم حدّد **حفظ**.

    | الحقل                        | الوصف                                                                                                                                                                                          |
    | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **الاسم**                    | اسم فريد لهذا الموفّر ضمن الخدمة. لا يمكن تغييره بعد إنشائه.                                                                                                                                   |
    | **المُصدِر**                 | مطالبة `iss` المتوقعة في الرموز المميزة الواردة.                                                                                                                                               |
    | **الجمهور**                  | مطالبة `aud` المتوقعة في الرموز المميزة الواردة.                                                                                                                                               |
    | **URL لـ JWKS**              | عنوان HTTPS عام ينشر المفاتيح العامة المستخدمة للتحقق من توقيعات الرموز المميزة.                                                                                                               |
    | **مطالبة الأدوار** (اختياري) | مطالبة الرمز المميز التي تُستخرج منها أدوار ClickHouse. اتركها فارغة لاستخدام اسم المطالبة الافتراضي `clickhouse:roles`. يجب أن تكون الأدوار المذكورة في الرمز المميز موجودة مسبقًا في الخدمة. |
  </Step>

  <Step title="أضف موفّرين آخرين عند الحاجة" id="add-more-providers">
    استخدم **إضافة موفّر آخر** لتهيئة موفّرين إضافيين. يمكن أن تضم الخدمة خمسة موفّري JWT كحد أقصى.
  </Step>
</Steps>

<Warning>
  يؤدي حذف موفّر JWT إلى إيقاف قبول الرموز المميزة الصادرة عنه فورًا، وستتوقف أي أعباء عمل لا تزال تُجري المصادقة باستخدام هذه الرموز المميزة عن العمل.
</Warning>

<div id="limits">
  ## القيود
</div>

* الحد الأقصى هو **خمسة** موفري JWT لكل خدمة.
* يقبل موفرو JWKS مفاتيح **RSA** (`RS256`) ومفاتيح **EC** (`ES256`، `ES384`، `ES512`) ابتداءً من الإصدار 26.8.
* يجب أن يكون عنوان URL لـ JWKS نقطة نهاية HTTPS عامة. تُرفض العناوين الخاصة أو الداخلية أو المحلية للارتباط.

<div id="related">
  ## مواضيع ذات صلة
</div>

* [مصادقة JWT](/docs/ar/concepts/features/security/external-authenticators/jwt) — مطالبات الرمز المميز، والمستخدمون المؤقتون، واستخدام العميل.
