mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-07-02 13:48:09 +00:00
* feat: adopt directory-based docs versioning with Edge channel Switch docs.crewai.com from navigation-only versioning (every version selector entry rendered the same docs/<lang>/* source files) to Mintlify's directory-based versioning so each version selector entry renders its own snapshot. Add an "Edge" channel under docs/edge/<lang>/* that always reflects main HEAD for unreleased work, eliminating pre-release leakage onto frozen release labels. External links to canonical /<lang>/* URLs are preserved via wildcard redirects that always land on the current default version. Layout: - docs/edge/<lang>/* rolling source (you edit here) - docs/edge/enterprise-api.*.yaml - docs/v<X.Y.Z>/<lang>/* frozen, immutable snapshots - docs/v<X.Y.Z>/enterprise-api.*.yaml - docs/images/ shared, append-only - docs/docs.json nav + redirects URLs follow the Mintlify-idiomatic shape: /edge/<lang>/<page> for Edge, /v<X.Y.Z>/<lang>/<page> for every frozen snapshot. The wildcard redirects /<lang>/:slug* -> /<default>/<lang>/:slug* keep stale links working, and every freeze rewrites them (plus all per-section/per-page redirects) so destinations always resolve to the current default without depending on a second redirect hop. Release flow integration (devtools release): - New module crewai_devtools.docs_versioning.freeze() materialises docs/v<X.Y.Z>/ from docs/edge/, rewrites openapi: refs inside the snapshot, inserts the version into every language block in docs.json, and refreshes all redirect destinations. - _update_docs_and_create_pr() in cli.py now calls that freeze during Phase 2 of devtools release. Edge changelogs are updated first (so the snapshot freeze picks them up), then the snapshot is staged alongside docs.json, branched as docs/freeze-v<X.Y.Z>, and the PR is titled [docs-freeze] docs: snapshot and changelog for v<X.Y.Z> — the title prefix the new CI guard reads. - The PR still gates tag, GitHub release, PyPI publish, and the enterprise release as before; no new PRs are added. - Pre-releases (1.X.YaN, 1.X.YbN, ...) skip the snapshot — they ride Edge — and the docs PR title omits the [docs-freeze] prefix. - docs_check (AI-generated docs scaffolding) writes to docs/edge/<lang>/* so newly-generated unreleased docs land in Edge and never accidentally touch a frozen snapshot. Migration scripts (one-shot): - scripts/docs/freeze_historical_versions.py reconstructs all 16 historical snapshots (v1.10.0 .. v1.14.7) from git tags via git archive | tar, rewriting openapi: MDX refs so each snapshot reads its own enterprise-api YAML rather than the live one. - scripts/docs/prefix_version_paths.py one-shot-migrates docs.json: rewrites every page path in 16 versioned blocks to point under docs/v<X.Y.Z>/, inserts a new Edge entry per language, tags v1.14.7 as Latest (default), prunes pages whose target file doesn't exist in the snapshot (e.g. docs/ar/ didn't exist before v1.12.0), and writes the wildcard + per-section redirects. - scripts/docs/freeze_current_edge.py is now a thin CLI wrapper around docs_versioning.freeze for manual one-off freezes (e.g. retroactively snapshotting a forgotten release). CI guards (.github/workflows/docs-snapshots.yml): - Frozen snapshots under docs/v[0-9]*/ are immutable; only PRs whose title contains [docs-freeze] (i.e. release-cut PRs generated by devtools release or the manual wrapper) may modify them. - Images under docs/images/ are append-only since snapshots share a single image directory. Deleting or renaming an image breaks every historical snapshot that still references it. Restored docs/images/crewai-otel-export.png from PR #3673; it was deleted in PR #4908 but v1.10.0 / v1.10.1 snapshots still reference it. Restoring instead of editing the snapshots preserves historical rendering fidelity and validates the new append-only rule retroactively. Tests: - lib/devtools/tests/test_docs_versioning.py covers the freeze: file copy, openapi rewrite, version insertion, default demotion, redirect upserts, per-section redirect rewriting, idempotency, and invalid inputs. Verified locally with mintlify broken-links: 0 broken links across the full site (Edge + 16 frozen versions, 4 locales). AGENTS.md (repo root) is the contributor guide for the new model; RELEASING.md is the release-cut runbook; README's Contribution section links to both. Co-authored-by: Cursor <cursoragent@cursor.com> * style: resolve linter issues --------- Co-authored-by: Cursor <cursoragent@cursor.com>
257 lines
16 KiB
Plaintext
257 lines
16 KiB
Plaintext
---
|
|
title: "التحكم في الوصول القائم على الأدوار (RBAC)"
|
|
description: "تحكم في الوصول إلى الطواقم والأدوات والبيانات باستخدام الأدوار والنطاقات والصلاحيات الدقيقة."
|
|
icon: "shield"
|
|
mode: "wide"
|
|
---
|
|
|
|
## نظرة عامة
|
|
|
|
يتيح RBAC في CrewAI AMP إدارة وصول آمنة وقابلة للتوسع من خلال طبقتين:
|
|
|
|
1. **صلاحيات الميزات** — تتحكم في ما يمكن لكل دور القيام به عبر المنصة (إدارة، قراءة، أو بدون وصول)
|
|
2. **صلاحيات على مستوى الكيان** — وصول دقيق للأتمتات الفردية ومتغيرات البيئة واتصالات LLM ومستودعات Git
|
|
|
|
<Frame>
|
|
<img src="/images/enterprise/users_and_roles.png" alt="نظرة عامة على RBAC في CrewAI AMP" />
|
|
</Frame>
|
|
|
|
## المستخدمون والأدوار
|
|
|
|
يُعيَّن لكل عضو في مساحة عمل CrewAI دور يحدد صلاحيات الوصول عبر الميزات المختلفة.
|
|
|
|
يمكنك:
|
|
|
|
- استخدام الأدوار المحددة مسبقاً (Owner، Member)
|
|
- إنشاء أدوار مخصصة مصممة لصلاحيات محددة
|
|
- تعيين الأدوار في أي وقت عبر لوحة الإعدادات
|
|
|
|
يمكنك تهيئة المستخدمين والأدوار في Settings → Roles.
|
|
|
|
<Steps>
|
|
<Step title="فتح إعدادات الأدوار">
|
|
انتقل إلى <b>Settings → Roles</b> في CrewAI AMP.
|
|
</Step>
|
|
<Step title="اختيار نوع الدور">
|
|
استخدم دوراً محدداً مسبقاً (<b>Owner</b>، <b>Member</b>) أو انقر على{" "}
|
|
<b>Create role</b> لتحديد دور مخصص.
|
|
</Step>
|
|
<Step title="التعيين للأعضاء">
|
|
اختر المستخدمين وعيّن لهم الدور. يمكنك تغيير ذلك في أي وقت.
|
|
</Step>
|
|
</Steps>
|
|
|
|
### الأدوار المحددة مسبقاً
|
|
|
|
| الدور | الوصف |
|
|
| :---------- | :-------------------------------------------------------------------- |
|
|
| **Owner** | وصول كامل لجميع الميزات والإعدادات. لا يمكن تقييده. |
|
|
| **Member** | وصول للقراءة لمعظم الميزات، وصول إدارة لمتغيرات البيئة واتصالات LLM ومشاريع Studio. لا يمكنه تعديل إعدادات المؤسسة أو الإعدادات الافتراضية. |
|
|
|
|
### ملخص التهيئة
|
|
|
|
| المجال | مكان التهيئة | الخيارات |
|
|
| :-------------------- | :--------------------------------- | :-------------------------------------- |
|
|
| المستخدمون والأدوار | Settings → Roles | محددة مسبقاً: Owner، Member؛ أدوار مخصصة |
|
|
| رؤية الأتمتة | Automation → Settings → Visibility | خاص؛ قائمة بيضاء للمستخدمين/الأدوار |
|
|
|
|
---
|
|
|
|
## مصفوفة صلاحيات الميزات
|
|
|
|
لكل دور مستوى صلاحية لكل منطقة ميزة. المستويات الثلاثة هي:
|
|
|
|
- **إدارة (Manage)** — وصول كامل للقراءة/الكتابة (إنشاء، تعديل، حذف)
|
|
- **قراءة (Read)** — وصول للعرض فقط
|
|
- **بدون وصول (No access)** — الميزة مخفية/غير قابلة للوصول
|
|
|
|
| الميزة | Owner | Member (افتراضي) | المستويات المتاحة | الوصف |
|
|
| :------------------------ | :------ | :--------------- | :--------------------------------- | :-------------------------------------------------------------- |
|
|
| `usage_dashboards` | Manage | Read | Manage / Read / No access | عرض مقاييس وتحليلات الاستخدام |
|
|
| `crews_dashboards` | Manage | Read | Manage / Read / No access | عرض لوحات النشر والوصول إلى تفاصيل الأتمتة |
|
|
| `invitations` | Manage | Read | Manage / Read / No access | دعوة أعضاء جدد إلى المؤسسة |
|
|
| `training_ui` | Manage | Read | Manage / Read / No access | الوصول إلى واجهات التدريب/الضبط الدقيق |
|
|
| `tools` | Manage | Read | Manage / Read / No access | إنشاء وإدارة الأدوات |
|
|
| `agents` | Manage | Read | Manage / Read / No access | إنشاء وإدارة الوكلاء |
|
|
| `environment_variables` | Manage | Manage | Manage / No access | إنشاء وإدارة متغيرات البيئة |
|
|
| `llm_connections` | Manage | Manage | Manage / No access | تهيئة اتصالات مزودي LLM |
|
|
| `default_settings` | Manage | No access | Manage / No access | تعديل الإعدادات الافتراضية على مستوى المؤسسة |
|
|
| `organization_settings` | Manage | No access | Manage / No access | إدارة الفوترة والخطط وتهيئة المؤسسة |
|
|
| `studio_projects` | Manage | Manage | Manage / No access | إنشاء وتعديل المشاريع في Studio |
|
|
|
|
<Tip>
|
|
عند إنشاء دور مخصص، يمكن ضبط معظم الميزات على **Manage** أو **Read** أو **No access**. ومع ذلك، فإن `environment_variables` و`llm_connections` و`default_settings` و`organization_settings` و`studio_projects` تدعم فقط **Manage** أو **No access** — لا يوجد خيار للقراءة فقط لهذه الميزات.
|
|
</Tip>
|
|
|
|
---
|
|
|
|
## النشر من GitHub أو Zip
|
|
|
|
من أكثر أسئلة RBAC شيوعاً: _"ما الصلاحيات التي يحتاجها عضو الفريق للنشر؟"_
|
|
|
|
### النشر من GitHub
|
|
|
|
لنشر أتمتة من مستودع GitHub، يحتاج المستخدم إلى:
|
|
|
|
1. **`crews_dashboards`**: على الأقل `Read` — مطلوب للوصول إلى لوحة الأتمتات حيث يتم إنشاء عمليات النشر
|
|
2. **الوصول إلى مستودع Git** (إذا كان RBAC على مستوى الكيان لمستودعات Git مفعلاً): يجب منح دور المستخدم الوصول إلى مستودع Git المحدد عبر صلاحيات مستوى الكيان
|
|
3. **`studio_projects`: `Manage`** — إذا كان يبني الطاقم في Studio قبل النشر
|
|
|
|
### النشر من Zip
|
|
|
|
لنشر أتمتة من ملف Zip، يحتاج المستخدم إلى:
|
|
|
|
1. **`crews_dashboards`**: على الأقل `Read` — مطلوب للوصول إلى لوحة الأتمتات
|
|
2. **تفعيل نشر Zip**: يجب ألا تكون المؤسسة قد عطلت نشر Zip في إعدادات المؤسسة
|
|
|
|
### مرجع سريع: الحد الأدنى من الصلاحيات للنشر
|
|
|
|
| الإجراء | صلاحيات الميزات المطلوبة | متطلبات إضافية |
|
|
| :------------------- | :----------------------------------- | :----------------------------------------------- |
|
|
| النشر من GitHub | `crews_dashboards: Read` | وصول كيان مستودع Git (إذا كان Git RBAC مفعلاً) |
|
|
| النشر من Zip | `crews_dashboards: Read` | يجب تفعيل نشر Zip على مستوى المؤسسة |
|
|
| البناء في Studio | `studio_projects: Manage` | — |
|
|
| تهيئة مفاتيح LLM | `llm_connections: Manage` | — |
|
|
| ضبط متغيرات البيئة | `environment_variables: Manage` | وصول مستوى الكيان (إذا كان RBAC الكيان مفعلاً) |
|
|
|
|
---
|
|
|
|
## التحكم في الوصول على مستوى الأتمتة (صلاحيات الكيان)
|
|
|
|
بالإضافة إلى الأدوار على مستوى المؤسسة، يدعم CrewAI صلاحيات دقيقة على مستوى الكيان تقيد الوصول إلى موارد فردية.
|
|
|
|
### رؤية الأتمتة
|
|
|
|
تدعم الأتمتات إعدادات رؤية تقيد الوصول حسب المستخدم أو الدور. هذا مفيد لـ:
|
|
|
|
- الحفاظ على خصوصية الأتمتات الحساسة أو التجريبية
|
|
- إدارة الرؤية عبر الفرق الكبيرة أو المتعاونين الخارجيين
|
|
- اختبار الأتمتات في سياقات معزولة
|
|
|
|
يمكن تهيئة عمليات النشر كخاصة، مما يعني أن المستخدمين والأدوار المدرجين في القائمة البيضاء فقط سيتمكنون من التفاعل معها.
|
|
|
|
يمكنك تهيئة التحكم في الوصول على مستوى الأتمتة في Automation → Settings → علامة تبويب Visibility.
|
|
|
|
<Steps>
|
|
<Step title="فتح علامة تبويب الرؤية">
|
|
انتقل إلى <b>Automation → Settings → Visibility</b>.
|
|
</Step>
|
|
<Step title="ضبط الرؤية">
|
|
اختر <b>Private</b> لتقييد الوصول. يحتفظ مالك المؤسسة دائماً
|
|
بالوصول.
|
|
</Step>
|
|
<Step title="القائمة البيضاء للوصول">
|
|
أضف مستخدمين وأدواراً محددة مسموح لهم بالعرض والتشغيل والوصول
|
|
إلى السجلات/المقاييس/الإعدادات.
|
|
</Step>
|
|
<Step title="الحفظ والتحقق">
|
|
احفظ التغييرات، ثم تأكد من أن المستخدمين غير المدرجين في القائمة البيضاء لا يمكنهم عرض أو تشغيل
|
|
الأتمتة.
|
|
</Step>
|
|
</Steps>
|
|
|
|
### الرؤية الخاصة: نتائج الوصول
|
|
|
|
| الإجراء | المالك | مستخدم/دور في القائمة البيضاء | غير مدرج في القائمة البيضاء |
|
|
| :--------------------------- | :---- | :---------------------------- | :-------------------------- |
|
|
| عرض الأتمتة | ✓ | ✓ | ✗ |
|
|
| تشغيل الأتمتة/API | ✓ | ✓ | ✗ |
|
|
| الوصول إلى السجلات/المقاييس/الإعدادات | ✓ | ✓ | ✗ |
|
|
|
|
<Tip>
|
|
يتمتع مالك المؤسسة دائماً بالوصول. في الوضع الخاص، يمكن فقط للمستخدمين
|
|
والأدوار المدرجين في القائمة البيضاء العرض والتشغيل والوصول إلى السجلات/المقاييس/الإعدادات.
|
|
</Tip>
|
|
|
|
<Frame>
|
|
<img src="/images/enterprise/visibility.png" alt="إعدادات رؤية الأتمتة في CrewAI AMP" />
|
|
</Frame>
|
|
|
|
### أنواع صلاحيات النشر
|
|
|
|
عند منح وصول على مستوى الكيان لأتمتة محددة، يمكنك تعيين أنواع الصلاحيات التالية:
|
|
|
|
| الصلاحية | ما تسمح به |
|
|
| :------------------- | :-------------------------------------------------- |
|
|
| `run` | تنفيذ الأتمتة واستخدام API الخاص بها |
|
|
| `traces` | عرض تتبعات التنفيذ والسجلات |
|
|
| `manage_settings` | تعديل، إعادة نشر، استرجاع، أو حذف الأتمتة |
|
|
| `human_in_the_loop` | الرد على طلبات الإنسان في الحلقة (HITL) |
|
|
| `full_access` | جميع ما سبق |
|
|
|
|
### RBAC على مستوى الكيان لموارد أخرى
|
|
|
|
عند تفعيل RBAC على مستوى الكيان، يمكن أيضاً التحكم في الوصول لهذه الموارد حسب المستخدم أو الدور:
|
|
|
|
| المورد | يتم التحكم فيه بواسطة | الوصف |
|
|
| :-------------------- | :--------------------------------- | :------------------------------------------------------------- |
|
|
| متغيرات البيئة | علامة ميزة RBAC الكيان | تقييد أي الأدوار/المستخدمين يمكنهم عرض أو إدارة متغيرات بيئة محددة |
|
|
| اتصالات LLM | علامة ميزة RBAC الكيان | تقييد الوصول لتهيئات مزودي LLM محددة |
|
|
| مستودعات Git | إعداد RBAC لمستودعات Git بالمؤسسة | تقييد أي الأدوار/المستخدمين يمكنهم الوصول لمستودعات متصلة محددة |
|
|
|
|
---
|
|
|
|
## أنماط الأدوار الشائعة
|
|
|
|
بينما يأتي CrewAI بدوري Owner وMember، تستفيد معظم الفرق من إنشاء أدوار مخصصة. إليك الأنماط الشائعة:
|
|
|
|
### دور المطور
|
|
|
|
دور لأعضاء الفريق الذين يبنون وينشرون الأتمتات لكن لا يديرون إعدادات المؤسسة.
|
|
|
|
| الميزة | الصلاحية |
|
|
| :------------------------ | :---------- |
|
|
| `usage_dashboards` | Read |
|
|
| `crews_dashboards` | Manage |
|
|
| `invitations` | Read |
|
|
| `training_ui` | Read |
|
|
| `tools` | Manage |
|
|
| `agents` | Manage |
|
|
| `environment_variables` | Manage |
|
|
| `llm_connections` | Manage |
|
|
| `default_settings` | No access |
|
|
| `organization_settings` | No access |
|
|
| `studio_projects` | Manage |
|
|
|
|
### دور المشاهد / أصحاب المصلحة
|
|
|
|
دور للمعنيين غير التقنيين الذين يحتاجون لمراقبة الأتمتات وعرض النتائج.
|
|
|
|
| الميزة | الصلاحية |
|
|
| :------------------------ | :---------- |
|
|
| `usage_dashboards` | Read |
|
|
| `crews_dashboards` | Read |
|
|
| `invitations` | No access |
|
|
| `training_ui` | Read |
|
|
| `tools` | Read |
|
|
| `agents` | Read |
|
|
| `environment_variables` | No access |
|
|
| `llm_connections` | No access |
|
|
| `default_settings` | No access |
|
|
| `organization_settings` | No access |
|
|
| `studio_projects` | No access |
|
|
|
|
### دور مسؤول العمليات / المنصة
|
|
|
|
دور لمشغلي المنصة الذين يديرون إعدادات البنية التحتية لكن قد لا يبنون الوكلاء.
|
|
|
|
| الميزة | الصلاحية |
|
|
| :------------------------ | :---------- |
|
|
| `usage_dashboards` | Manage |
|
|
| `crews_dashboards` | Manage |
|
|
| `invitations` | Manage |
|
|
| `training_ui` | Read |
|
|
| `tools` | Read |
|
|
| `agents` | Read |
|
|
| `environment_variables` | Manage |
|
|
| `llm_connections` | Manage |
|
|
| `default_settings` | Manage |
|
|
| `organization_settings` | Read |
|
|
| `studio_projects` | No access |
|
|
|
|
---
|
|
|
|
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
|
تواصل مع فريق الدعم للمساعدة في أسئلة RBAC.
|
|
</Card>
|