> ## 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.

# المعمارية

> مكوّنات ClickHouse Connector والاتصالات ودورة حياة الشهادات وتدفّق البيانات

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>;
};

<div id="components">
  ## المكوّنات
</div>

يشغّل ClickHouse Connector برنامجين خفيين، وكلاهما مضمّن في الملف التنفيذي `clicklink`:

* **الكاشط** تقرأ قائمة سماح لجداول نظام ClickHouse على فترات زمنية ثابتة، وتخزّن النتائج مؤقتًا محليًا، ثم ترسلها إلى نقطة نهاية الموصل لديك، إلى جانب بيانات تعريف البنية التحتية وحالة الصحة.
* **مستكشف الأخطاء ومصلحها** تحافظ على قناة أوامر صادرة إلى نقطة نهاية الموصل لديك، وتنفّذ عمليات تشخيص للقراءة فقط أثناء [جلسة دعم](/docs/ar/products/bring-your-own-cloud/connector/support-sessions) نشطة. ولا تنفّذ أي شيء خارج الجلسة.

في Kubernetes، يعمل كلاهما كأحمال عمل ينشرها مخطط Helm ‏`clicklink-connector` ضمن مساحة أسماء تختارها (القيمة الافتراضية هي `clicklink`). وعلى جهاز Linux افتراضي، يعملان كوحدتي systemd ‏`clicklink-scraper` و`clicklink-troubleshooter` تحت مستخدم النظام غير المميّز `clicklink`.

<Image img="https://mintcdn.com/private-7c7dfe99/TzCcbGCmOA6JQn6p/images/cloud/reference/byoc-connector-architecture.svg?fit=max&auto=format&n=TzCcbGCmOA6JQn6p&q=85&s=692157bad39c82a290001c1ad7c628de" size="lg" alt="معمارية ClickHouse Connector" width="1320" height="790" data-path="images/cloud/reference/byoc-connector-architecture.svg" />

<div id="connections">
  ## الاتصالات
</div>

جميع الاتصالات التي ينشئها الموصل صادرة. وفيما يلي القائمة الكاملة:

| الوجهة                                                                           | الاتجاه          | البروتوكول                 | المصادقة                                                                                    | الغرض                                                                                                                                                                        |
| -------------------------------------------------------------------------------- | ---------------- | -------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| نقطة نهاية الموصل الخاصة بك (واجهة برمجة تطبيقات)                                | صادر             | HTTPS                      | شهادة عميل mTLS بالإضافة إلى طلبات موقّعة بـ HMAC                                           | يرسل المقاييس، والمقاييس الذاتية للموصل، والحالة؛ ويزامن بيانات تعريف المثيل والبنية التحتية والنسخ الاحتياطية؛ ويجدد شهادة العميل                                           |
| نقطة نهاية الموصل الخاصة بك (قناة الأوامر)                                       | صادر             | WebSocket عبر TLS          | شهادة عميل mTLS بالإضافة إلى مصافحة موقّعة بـ HMAC                                          | قناة أوامر مستكشف الأخطاء ومصلحها؛ تنقل الأوامر فقط عندما تكون جلسة الدعم نشطة                                                                                               |
| نقطة نهاية التسجيل الخاصة بك                                                     | صادر             | HTTPS                      | رمز تسجيل مميز أحادي الاستخدام (استرداد) أو HMAC (توقيع الشهادة الأول)؛ دون mTLS            | استرداد الرمز وإصدار الشهادة الأول أثناء الإعداد                                                                                                                             |
| عناقيد ClickHouse الخاصة بك                                                      | صادر، داخل بيئتك | بروتوكول ClickHouse الأصلي | مستخدمان مخصصان للقراءة فقط هما `pcm_scraper` و`pcm_troubleshooter`، محفوظان كتجزئات bcrypt | قراءة جداول النظام للكشط وتشخيص الجلسات، بالإضافة إلى تفريغ جدول السجل الخاص بالكاشط                                                                                         |
| خادم واجهة برمجة تطبيقات لـ Kubernetes (كل عملية نشر مُزوّدة، وكلا هدفي التثبيت) | صادر، داخل بيئتك | HTTPS                      | ServiceAccounts مرتبطة بـ Roles محددة النطاق لمساحة الأسماء                                 | عروض أحمال العمل للقراءة فقط لمستكشف الأخطاء ومصلحها؛ وفي عمليات تثبيت Kubernetes، يحفظ كلا البرنامجين الخدميين أيضًا شهادة العميل المُجددة تلقائيًا في Secret الخاص بـ mTLS |
| نقطة نهاية JWKS لموفر الهوية الخاص بك (فقط عند تمكين البوابة)                    | صادر             | HTTPS                      | لا شيء (مفاتيح توقيع عامة)                                                                  | يتحقق من رموز OIDC المميزة للهوية المقدمة إلى بوابة الجلسة                                                                                                                   |

يحمل كل طلب واجهة برمجة تطبيقات ترويسة `Authorization` تتضمن توقيع HMAC-SHA256 محسوبًا على الطريقة والمسار والطابع الزمني وتجزئة الجسم، بحيث لا يمكن إعادة إرسال الطلبات أو تعديلها أثناء نقلها، حتى داخل قناة TLS.

ومن جهة الاتصالات الواردة، لا يوفّر الموصل سوى منافذ الصحة والمقاييس المحلية، بالإضافة إلى بوابة الجلسة الاختيارية الموصوفة في صفحة [جلسات الدعم](/docs/ar/products/bring-your-own-cloud/connector/support-sessions). ولا تتصل طبقة التحكم في ClickHouse بأيٍّ منها مطلقًا.

<div id="certificate-lifecycle">
  ## دورة حياة الشهادة
</div>

يُجري الموصل المصادقة مع نقطة النهاية لديك باستخدام شهادة عميل يستحصل عليها ويتولى إدارتها بنفسه:

* **التسجيل.** ينشئ `clicklink clctl init` مفتاحًا خاصًا محليًا وطلب توقيع شهادة يتضمن معرّف مؤسستك بوصفه الاسم الشائع، ومضيف نقطة النهاية لديك بوصفه DNS SAN الوحيد. لا يغادر المفتاح الخاص بيئتك مطلقًا.
* **الإصدار الأول.** يُرسَل طلب توقيع الشهادة إلى نقطة نهاية توقيع التسجيل على `/v1/pcm/cert/sign`، مع المصادقة باستخدام HMAC. إذا كانت هناك شهادة غير منتهية الصلاحية لمؤسستك بالفعل، ترفض نقطة النهاية الطلب بالرمز 409، وتعرض واجهة CLI كيفية المتابعة باستخدام الشهادة الحالية أو استبدالها عمدًا باستخدام `--force`.
* **التجديد التلقائي.** يتحقق كل برنامج خفي من مدة صلاحية الشهادة كل 12 ساعة، ويطلب شهادة مجددة لمدة 30 يومًا عبر `/v1/pcm/cert/renew` ‏(mTLS بالإضافة إلى HMAC) عند تبقي 10 أيام. في Kubernetes، يكتب كل برنامج خفي الشهادة المجددة مجددًا إلى الـ Secret `clicklink-mtls` عبر منح RBAC باسم مطابق تمامًا؛ وعلى جهاز VM، يكون دليل TLS قابلاً للكتابة بواسطة مستخدم البرنامج الخفي. لا يلزم اتخاذ أي إجراء من المشغّل للتجديد.

يتحقق الموصل من شهادة خادم نقطة النهاية لديك بالرجوع إلى مخزن الثقة الخاص بالنظام، أو إلى حزمة CA التي تم تسليمها عند التسجيل إذا كانت نقطة النهاية لديك تستخدم CA خاصة.

<div id="data-flow">
  ## تدفق البيانات
</div>

<Image img="https://mintcdn.com/private-7c7dfe99/TzCcbGCmOA6JQn6p/images/cloud/reference/byoc-connector-data-flow.svg?fit=max&auto=format&n=TzCcbGCmOA6JQn6p&q=85&s=3048be0bd806fad82b68119939c0614c" size="lg" alt="تدفق البيانات في ClickHouse Connector" width="1320" height="760" data-path="images/cloud/reference/byoc-connector-data-flow.svg" />

<div id="what-leaves">
  ### ما الذي يغادر بيئتك
</div>

* **المقاييس من جداول النظام المدرجة في قائمة السماح.** تتضمن المجموعة الافتراضية للكاشط `metric_log` و`asynchronous_metric_log` و`tables` و`warnings` و`server_settings`. وقائمة السماح إعداد صريح؛ ولا يقرأ الكاشط أي شيء خارجها.
* **بيانات تعريف البنية التحتية.** جرد المثيلات والبنية التحتية والنسخ الاحتياطية المتزامن عبر واجهة برمجة التطبيقات.
* **مقاييس الصحة والمقاييس الذاتية.** حالة المكوّن والمقاييس التشغيلية الخاصة بالموصل.
* **مخرجات جلسة الدعم.** نتائج عمليات التشخيص للقراءة فقط التي تُجرى خلال جلسة فعّلتها، بعد التنقيح.

<div id="what-never-leaves">
  ### ما لا يغادر افتراضياً
</div>

* **نص الاستعلام الخام على مسار الجمع.** يُستبعد `system.query_log` عمداً من مجموعة الجمع الافتراضية، لأن أعمدة الاستعلام فيه قد تتضمن قيماً حرفية، بما في ذلك معلومات تحديد الهوية الشخصية أو الأسرار؛ وإعادة إضافته تجاوز خاص بكل عملية نشر تُجريه عن قصد ودراية. أثناء جلسة دعم، تتضمن قائمة السماح الافتراضية للجداول `system.processes`، الذي يعرض نص الاستعلامات الجارية؛ راجع [جلسات الدعم](/docs/ar/products/bring-your-own-cloud/connector/support-sessions) لمعرفة كيفية إزالة أجزاء منه.
* **بيانات الاعتماد.** لا تحتوي ملفات التكوين على بيانات اعتماد، ولا يخزن ClickHouse سوى تجزئات bcrypt لكلمات مرور مستخدمي الموصل، وتبقى الأسرار في Kubernetes Secrets أو في ملفات على المضيف لا يقرأها إلا الجذر. ولا ينقلها أي شيء في مسارات الجمع أو المزامنة.
* **مخرجات مستكشف الأخطاء ومصلحها غير المنقحة.** يمر كل ما يعيده مستكشف الأخطاء ومصلحها عبر أنماط التنقيح، سواء المضمنة أو التي تضيفها أنت، قبل أن يغادر. راجع [جلسات الدعم](/docs/ar/products/bring-your-own-cloud/connector/support-sessions).

<div id="trust-boundaries">
  ## حدود الثقة
</div>

* **بيئتك هي الحد الفاصل.** لا يتلقى ClickHouse Cloud إلا ما يرسله الكاشط وما تُعيده جلسة دعم نشطة. ولا يبادر مطلقًا بإنشاء اتصال وارد.
* **بوابة الجلسة ملكك.** لا يمكن الوصول إليها إلا من داخل بيئتك (عبر `kubectl port-forward` على Kubernetes، أو محليًا على جهاز افتراضي) ما لم تختر كشفها عبر مورد Ingress. ولا تتصل بها طبقة التحكم في ClickHouse مطلقًا.
* **الوصول إلى ClickHouse للقراءة فقط.** يمتلك المستخدمان `pcm_scraper` و`pcm_troubleshooter` امتيازات `SELECT` لكل جدول، بالإضافة إلى امتياز نظام واحد خاص بالكاشط يفرغ جداول السجل إلى القرص، ولا يتيح أي شيء آخر؛ ولا توجد امتيازات `INSERT` أو DDL أو إدارة المستخدمين. ترد القائمة الدقيقة في [نموذج الامتيازات](/docs/ar/products/bring-your-own-cloud/connector/reference/privilege-model).
* **الوصول إلى Kubernetes مقيّد بمساحة أسماء.** تُمنح جميع صلاحيات RBAC عبر Roles في مساحات الأسماء للموصل والمثيل، مع أذونات للقراءة فقط على موارد أعباء العمل ووصول بالاسم المطابق تمامًا إلى Secrets الخاصة بالموصل. ولا توجد صلاحيات `exec` أو `delete` أو `patch`.
* **سياسة الشبكة.** على Kubernetes، يمكن للمخطط إنشاء NetworkPolicy تمنع كل حركة المرور الصادرة من الموصل باستثناء نطاقات CIDR التي تحددها. يعتمد الإنفاذ على تشغيل مجموعتك لمكوّن CNI يفرض السياسات؛ ومن دونه تكون السياسة غير فعّالة. راجع [الإعدادات](/docs/ar/products/bring-your-own-cloud/connector/configuration).
* **تحصين المضيف على الأجهزة الافتراضية.** تعمل الوحدات كمستخدم نظام لا يمكنه تسجيل الدخول، مع تفعيل `ProtectSystem=strict` و`NoNewPrivileges`، ومسارات إعدادات للقراءة فقط، ووضع FIPS.

للاطلاع على الامتيازات الدقيقة للموصل وقواعد RBAC، راجع مرجع [نموذج الامتيازات](/docs/ar/products/bring-your-own-cloud/connector/reference/privilege-model). أما إذا كان ClickHouse يدير المجموعات نيابةً عنك، فإن نموذج الثقة يختلف؛ راجع صفحتي [معمارية BYOC](/docs/ar/products/bring-your-own-cloud/overview/architecture) و[امتيازات BYOC](/docs/ar/products/bring-your-own-cloud/reference/privilege).
