الأذونات وأوضاع الأذونات
- ما الذي تعنيه أحكام الأذونات الثلاثة (السماح / السؤال / الرفض)
- كيف تطابق قاعدة الأذونات أداةً مع نمط
- أوضاع الأذونات الستة ومتى تستخدم كلًّا منها
- كيف يستبدل وضع auto المطالبات بمصنّف أمان
- كيف تبني قائمة سماح مبدئية معقولة تقلّل المطالبات دون أن تفقد الأمان
- أين تخزّن قواعد أذونات المشروع مقابل القواعد الشخصية
تقرر الأذونات ما الذي يستطيع Claude Code فعله دون أن يتوقف ليسألك. اضبطها جيدًا فتحصل على انسيابية دون فقدان التحكم؛ واضبطها بشكل سيئ فإما أن تختم على كل شيء دون تفكير أو تغرق في المطالبات.
الأحكام الثلاثة
كل إجراء محتمل يؤول إلى أحد التالي:
تطابق القواعد عادةً أداةً مع نمط، مثلًا السماح بـ Bash(npm run test:*) أو رفض Read(./.env).
السماح بأداة + نمط
Bash(npm run test:*)
رفض أداة + نمط
Read(./.env)
أوضاع الأذونات
يحدد الوضع الموقف العام للجلسة. هناك ستة أوضاع. تنقّل بين الشائعة منها بـ Shift+Tab، أو اضبط permissions.defaultMode في الإعدادات.
| الوضع | ما يعمل دون سؤال | استخدمه عندما |
|---|---|---|
default (يظهر باسم Manual) | القراءة فقط | العمل اليومي، التغييرات الحساسة |
acceptEdits | القراءة، تعديلات الملفات، أوامر نظام الملفات الشائعة | جلسة تحرير موثوقة ومحددة النطاق جيدًا |
plan | القراءة فقط؛ يقترح ولا يعدّل أبدًا | المهام الكبيرة/المحفوفة بالمخاطر — راجع وضع التخطيط |
auto | كل شيء، مع فحصه بواسطة مصنّف أمان | المهام الطويلة حيث يكون إرهاق المطالبات هو الخطر الحقيقي |
dontAsk | الأدوات المعتمدة مسبقًا فقط؛ وكل ما عداها مرفوض | بيئات CI والسكربتات المقيّدة |
bypassPermissions | كل شيء، بلا أي فحوص | الصناديق الرملية/الحاويات فقط — أبدًا على جهاز يحوي أسرارًا |
وضع auto
auto هو الحل الوسط بين المطالبة بكل شيء وإيقاف الأمان تمامًا. فبدلًا من سؤالك، يراجع نموذج مصنِّف منفصل كل إجراء قبل تنفيذه ويحظر أي شيء يتصاعد إلى ما هو أبعد مما طلبته، أو يمسّ بنية تحتية لا يعرفها، أو يبدو مدفوعًا بمحتوى عدائي قرأه Claude للتو. أما قواعد ask الصريحة فما زالت تتوقف وتسألك.
يحظر أشياء مثل curl | bash، والدفع القسري، وعمليات النشر والترحيلات في بيئة الإنتاج، وإرسال الأسرار إلى نقاط نهاية خارجية — بينما يترك العمل الروتيني (التعديلات المحلية، تثبيت الاعتماديات المعلنة، طلبات HTTP للقراءة فقط، الدفع إلى فرعك الخاص) يمرّ مباشرةً. وإذا حظر الإجراء نفسه مرارًا، يتوقف وضع auto مؤقتًا ويعيد المطالبة إليك.
وضع auto ليس ضمانًا للأمان — فهو يقلّل المطالبات، لكنه لا يلغي الحاجة إلى مراجعة العمليات الحساسة. ويعتمد توفّره على خطتك ونموذجك، و(في Team/Enterprise) على مفتاح تفعيل من المسؤول.
- bypassPermissions ينتمي إلى الصندوق الرملي. التشغيل مع إيقاف كل المطالبات على جهازك الحقيقي هو الطريقة التي ينتهي بها الوكيل إلى لمس شيء لا ينبغي له. احتفظ به للبيئات القابلة للتخلص منها — وإذا كان ما تريده فعلًا هو تقليل المطالبات، فاستخدم وضع auto بدلًا منه. راجع تحصين عمليات التشغيل المستقلة في /docs/security/hardening-autonomous-runs.
قائمة سماح مبدئية معقولة
الهدف: اسمح مسبقًا بالأشياء الآمنة والمتكررة؛ وأبقِ الأشياء المدمّرة على السؤال أو الرفض.
- قراءة الملفات، تشغيل أوامر الاختبار/الفحص/البناء، git status/diff.
- تثبيت الاعتماديات، كتابة ملفات خارج المشروع، نداءات الشبكة.
- قراءة ملفات الأسرار (.env، ملفات المفاتيح)، الدفع القسري (force-push)، rm -rf.
خزّن قواعد المشروع في settings.json (المشتركة) والتجاوزات الشخصية في settings.local.json.
- دعه يتعلم من مطالباتك: وافق على الأمر الآمن نفسه بضع مرات وستعرف بالضبط ما يجب إضافته إلى قائمة السماح لديك — محوّلًا المطالبات المتكررة إلى قاعدة لمرة واحدة.
- ثلاثة أحكام: السماح (بلا مطالبة)، السؤال (الافتراضي — توقّف وأكّد)، الرفض (أبدًا).
- تطابق القواعد أداةً مع نمط، مثل Bash(npm run test:*) أو Read(./.env).
- ستة أوضاع تحدد موقف الجلسة: default (Manual)، acceptEdits، plan، auto، dontAsk، bypassPermissions.
- يفحص وضع auto كل إجراء عبر مصنّف أمان بدلًا من مطالبتك — وهو الأداة المناسبة لإرهاق المطالبات، لا bypassPermissions.
- ابنِ قائمة سماح: اسمح بالآمن + المتكرر، اسأل عن متوسط المخاطر، ارفض المدمّر.
- تذهب القواعد المشتركة إلى settings.json؛ والتجاوزات الشخصية إلى settings.local.json.
اختبر نفسك
0/5التالي
- settings.json: نظام الإعداد
- الخطافات — افرض القواعد بشكل حتمي، أبعد من السماح/الرفض
- الأمان والاستخدام المسؤول