# التزويد عبر SCIM

> دع موفّر الهوية لديك يدعو أعضاء المؤسسة ويوزّعهم على المجموعات ويزيلهم عبر SCIM 2.0. يدير من ينبغي أن يكون في مؤسستك، ولا يستطيع فتح أي خزنة أبدًا.

Source: https://octap.app/ar/docs/features/scim/
Status: in-progress
Project: Octa Pass

:::note[قيد العمل]
يعمل SCIM في الخادم، ويدير المالكون رموزه من خزنة الويب وتطبيق Windows وLinux وسطر الأوامر. جُرِّب بطلبات بصيغة طلبات Microsoft Entra ID وOkta، ولم يُجرَّب بعد مع هذه الخدمات نفسها.
:::

يمكن [للمؤسسة](https://octap.app/ar/docs/features/organisations/) أن تدع موفّر الهوية لديها يُبقي أعضاءها ومجموعاتها متوافقين مع دليل الشركة عبر SCIM 2.0. يدعمه Microsoft Entra ID وOkta وOneLogin وJumpCloud وغيرها كثير.

## ما الذي يستطيعه وما الذي لا يستطيعه

يغيّر SCIM من **ينبغي** أن يكون في مؤسستك. ولا ينقل أي مفتاح أبدًا.

| حين يقوم الموفّر بـ… | ما يحدث في Octa Pass |
|---|---|
| إضافة شخص | تصله دعوة بالبريد. يرى قواعد مؤسستك ويقبل من جهازه هو، كأي دعوة. وإن كان عضوًا من قبل، يُربط بالموفّر فورًا. |
| وضع شخص في مجموعة | حين يصبح عضوًا، يدخل تلك المجموعة. ويحصل على خزائنها حين يراجع حامل مفتاح الخزنة الأمر ويمنحه الوصول، كالمعتاد دائمًا. |
| إخراج شخص من مجموعة | يفقد فورًا الخزائن التي لم تمنحه إياها إلا تلك المجموعة، وتُعلَّم تلك الخزائن لتغيير مفتاحها. |
| تعطيل شخص أو حذفه | تُلغى دعوته، أو يُزال من المؤسسة فورًا ويفقد خزائنها. ويبقى حسابه وخزنته الشخصية له. |
| حذف مجموعة | تذهب المجموعة، ومعها الخزائن التي منحتها. |

لا يستطيع:

- **إزالة مالك.** يغادر المالك بنفسه، كي لا يستطيع موفّر معطّل أو رمز مسروق إغلاق مؤسستك في وجهك. ويسجّل سجل النشاط المحاولة.
- **فتح خزنة أو مشاركتها.** يقرر الموفّر من في القائمة؛ ويظل حامل المفتاح يتحقق من بصمة كل شخص ويمنح الوصول من جهازه.
- **جعل أحد عضوًا، أو تغيير الأدوار.** لا يقبل الدعوة إلا الشخص نفسه، ولا يحدد الأدوار إلا مالك.
- **رؤية المجموعات التي أنشأتها في Octa Pass أو تغييرها.** لا يدير إلا المجموعات التي أنشأها هو.

تمضي الإزالة عبر SCIM حتى لو تركت خزنة بلا أحد يستطيع إدارتها: يجب أن يتوقف الوصول. يسجّل Octa Pass ذلك في سجل النشاط، ويستطيع المالك بعدها حذف الخزنة.

## الإعداد

يجب أن تكون مالكًا.

1. في Octa Pass، افتح **المؤسسة ← التزويد**. وانسخ **عنوان SCIM الأساسي**.
2. أنشئ رمزًا وأعطه اسمًا، مثل اسم الموفّر. انسخه الآن: لن يظهر إلا مرة واحدة.
3. عند موفّرك، أضف التزويد عبر SCIM إلى تطبيق Octa Pass بذلك العنوان، والرمز رمزًا لحامله (يسميه Entra ID الرمز السري). اربط اسم المستخدم وبريد العمل؛ يدعو Octa Pass البريد الأساسي أو بريد العمل، وإلا فاسم المستخدم إن كان عنوان بريد.
4. عيّن الأشخاص والمجموعات الذين ينبغي أن يكونوا في Octa Pass، وابدأ التزويد.

من سطر الأوامر:

```sh
octapass org scim token create "Entra ID"
octapass org scim show
octapass org scim token revoke <id>
```

ألغِ الرمز الذي لم تعد تستخدمه. يمكن أن يكون للمؤسسة 10 رموز على الأكثر.

## المستخدمون الذين لديهم حساب

يطابق التزويد الأشخاص بالبريد. من يستخدم حسابه في Octa Pass عنوانًا آخر تصله دعوة على العنوان الذي أرسله الموفّر؛ ويستطيع قبولها بعد تغيير بريد حسابه، أو يرسل الموفّر العنوان الذي يستخدمه. ومن كان في مؤسسة أخرى لا يستطيع القبول حتى يغادرها، لأن الحساب يكون في مؤسسة واحدة في كل مرة.

## لمسؤول الموفّر

- النقاط الطرفية: `/Users` و`/Groups` مع `GET` و`POST` و`PUT` و`PATCH` و`DELETE`، إضافة إلى `/ServiceProviderConfig` و`/ResourceTypes` و`/Schemas`.
- المرشّحات: `userName` و`externalId` و`emails` و`displayName` و`id`، مع `eq` فقط. صفحات حتى 200.
- يقبل `PATCH` العمليات `add` و`replace` و`remove`، مع `path` أو بدونه، بما في ذلك `members[value eq "…"]`. وتُفهم القيم المنطقية المرسلة نصوصًا (`"False"`).
- لا عمليات مجمّعة ولا ترتيب ولا ETag ولا تغيير كلمات مرور. والسمات التي لا يحفظها Octa Pass، كالمسميات الوظيفية وأرقام الهواتف، تُقبل وتُهمل.
- تستخدم الأخطاء صيغة أخطاء SCIM، مع `scimType` حيث ينطبق (`uniqueness` و`invalidFilter` و`invalidValue`).

## ما يحفظه الخادم

لكل شخص مُزوَّد: اسم المستخدم والبريد والاسم المعروض و`externalId` لدى الموفّر. ولكل مجموعة مُزوَّدة: اسمها و`externalId`. ولا تُحفظ الرموز إلا مُجزّأة. هذه بيانات وصفية للمؤسسة، كأسماء المجموعات من قبل. انظر [ما يراه الخادم](https://octap.app/ar/docs/security/what-the-server-sees/).
