Codex: إعدادات أذونات Codex

آخر تحديث: 2026-08-31

يتمتع Codex بقدرات تشغيلية قوية، لكنها تجلب أيضًا مخاطر أمنية. يغطي هذا الدرس إعدادات الأذونات بالتفصيل، لضمان بقاء عمليات الذكاء الاصطناعي تحت سيطرتك.

📋 المتطلبات المسبقة: معرفة أساسية بإعداد Codex (راجع الدرس 6)

1. ما ستتعلمه


2. نموذج الأذونات

(1) هرمية أذونات العمليات

مستوى الإذن النطاق السلوك الافتراضي
قراءة قراءة ملفات المشروع مسموح تلقائيًا
كتابة تعديل/إنشاء ملفات المشروع يتطلب تأكيدًا (قابل للإعداد)
تنفيذ تشغيل أوامر shell يتطلب تأكيدًا
شبكة تثبيت حزم، الوصول إلى APIs يتطلب تأكيدًا
نظام الوصول إلى أدلة حساسة يتطلب تأكيدًا

(2) مستويات المخاطر

المستوى أمثلة العمليات الحماية
🟢 منخفض قراءة ملفات الكود المصدري مسموح تلقائيًا
🟡 متوسط تعديل ملفات الكود المصدري يتطلب تأكيدًا
🟠 عالي تنفيذ أوامر shell يتطلب تأكيدًا + عرض الأمر
🔴 حرج حذف ملفات، الوصول إلى مفاتيح يتطلب تأكيدًا + تحذير إضافي

3. أوضاع Sandbox بالتفصيل

(1) للقراءة فقط

BASH
codex --sandbox readonly
القدرة الحالة
قراءة الملفات
تعديل الملفات
تنفيذ الأوامر
الوصول للشبكة

يُستخدم لـ: مراجعة الكود، تحليل البنية، توليد التوثيق

(2) كتابة مساحة العمل

BASH
codex --sandbox workspace-write
القدرة الحالة
قراءة الملفات
تعديل ملفات مساحة العمل
تنفيذ الأوامر ⚠️ يتطلب تأكيدًا
الوصول للشبكة

يُستخدم لـ: التطوير اليومي (الوضع الافتراضي)

(3) وصول كامل

BASH
codex --sandbox full-access
القدرة الحالة
قراءة الملفات
تعديل أي ملف
تنفيذ الأوامر
الوصول للشبكة

يُستخدم لـ: سيناريوهات الأتمتة الموثوقة بالكامل (استخدم بحذر)

▶ مثال 1: أليس تختار الوضع حسب السيناريو

PYTHON
def choose_sandbox(task_type):
    modes = {
        "code_review": "readonly",
        "daily_dev": "workspace-write",
        "full_migrate": "full-access",
    }
    return modes.get(task_type, "workspace-write")

# Alice's work today
print(choose_sandbox("code_review"))    # readonly
print(choose_sandbox("daily_dev"))      # workspace-write
print(choose_sandbox("full_migrate"))   # full-access

4. سياسات الموافقة

(1) السياسات الثلاث

السياسة السلوك المخاطر
ask سؤال المستخدم كل مرة الأكثر أمانًا
approve موافقة تلقائية مخاطر متوسطة
deny رفض تلقائي الأكثر تحفظًا

(2) إعداد حسب نوع العملية

TOML
# ~/.codex/config.toml

[approval]
# Shell command approval
shell_commands = "ask"

# File write approval
file_writes = "ask"

# Network access approval
network_access = "deny"

# Sensitive path approval
sensitive_paths = "ask"

(3) قائمة الأوامر المسموحة

TOML
[approval]
shell_commands = "ask"

# Auto-approved safe commands
auto_approve_commands = [
    "git status",
    "git diff",
    "npm test",
    "pytest",
    "ls",
    "cat",
]

# Always-denied dangerous commands
always_deny_commands = [
    "rm -rf",
    "sudo",
    "chmod 777",
    "curl * | sh",
]

5. حماية المسارات الحساسة

(1) المسارات المحمية افتراضيًا

TEXT 📖 للعرض فقط
~/.ssh/
~/.gnupg/
/etc/
.env
.env.*
secrets/
credentials/
*.key
*.pem

(2) مسارات محمية مخصصة

TOML
[sandbox]
blocked_paths = [
    ".env",
    ".env.production",
    "secrets/",
    "credentials/",
    "config/production.yml",
    "*.key",
    "*.pem",
]

▶ مثال 2: بوب يحمي إعداد الإنتاج

TOML
# Bob's project sandbox config
[sandbox]
mode = "workspace-write"
allowed_paths = ["src/", "tests/", "docs/"]
blocked_paths = [
    ".env.production",
    "config/prod/",
    "secrets/",
    "deploy/",
]

6. تدقيق الأذونات

(1) عرض سجل العمليات

BASH
# View all operations in the current session
codex --audit-log

# Output example
[10:30:15] READ   src/auth.ts          (auto-approved)
[10:30:18] WRITE  src/auth.ts          (approved by user)
[10:30:22] SHELL  npm test             (approved by user)
[10:30:25] WRITE  test/auth.test.ts    (approved by user)

(2) إعداد التدقيق

TOML
[audit]
log_all_operations = true
log_file = "~/.codex/audit.log"
include_shell_output = true

7. أفضل الممارسات

الممارسة الوصف
الافتراضي لسياسة ask لا تتحول إلى approve بسهولة
تقييد نطاق sandbox افتح فقط المسارات الضرورية
حماية الملفات الرئيسية أضف .env والمفاتيح إلى blocked_paths
مراجعة السجلات بانتظام تحقق مما نفذه Codex
استخدام git كشبكة أمان التزم قبل السماح لـ Codex بالتعديل — سهل التراجع
استخدام deny في CI ارفض جميع عمليات الكتابة في التكامل المستمر

❓ أسئلة شائعة

س ما مخاطر وضع Full-access؟
ج يمكن لـ Codex تنفيذ أي أمر، تعديل أي ملف، والوصول إلى الشبكة. إذا أخطأ Codex في التقدير، قد يحذف ملفات مهمة أو ينفذ أوامر خطرة. استخدمه فقط في سيناريوهات موثوقة بالكامل.
س هل يمكنني تبديل سياسات الموافقة أثناء التشغيل؟
ج نعم. خلال جلسة Codex، أدخل /mode لتبديل الأوضاع، أو أخبر Codex "من الآن فصاعدًا، جميع العمليات تحتاج تأكيدي."
س كيف أمنع Codex من الوصول إلى ملفات .env؟
ج أضف .env و .env.* إلى blocked_paths في إعدادك، واستخدم وضع workspace-write.
س هل سينفذ Codex أوامر سرًا؟
ج ليس في وضع ask — جميع العمليات الحساسة تتطلب تأكيدًا أولًا. لكن في وضع approve أو Full Auto، سينفذ Codex تلقائيًا.
س كيف أعرف ما فعله Codex؟
ج فعّل تسجيل التدقيق، أو استخدم git diff لعرض تغييرات الكود. يعرض Codex أيضًا جميع العمليات في الوقت الفعلي في نافذة المحادثة.

📖 ملخص


📝 تمارين

  1. أساسي (⭐): إعداد وضع sandbox لكتابة مساحة العمل وحماية ملفات .env.
  2. متوسط (⭐⭐): إعداد قائمة أوامر مسموحة — موافقة تلقائية على أوامر الاختبار، رفض الأوامر الخطرة.
  3. متقدم (⭐⭐⭐): تصميم مخطط أذونات على مستوى المؤسسة — أدوار مختلفة بأذونات مختلفة — واكتب مستند مصفوفة أذونات.
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%