انتقل إلى المحتوى الرئيسي انتقل إلى الملاحة انتقل إلى التذييل

تخزين الإعدادات

مزامنة مشفرة بدون معرفة للإعدادات، بمفتاح مرور، أو كلمة مرور رئيسية، أو رمز استرداد لفك القفل

تخزين الإعدادات

يوفر تخزين الإعدادات مزامنة مشفرة بدون معرفة لإعدادات واجهة سطر الأوامر عبر الأجهزة. يُشفَّر إعدادك من جهة العميل بمفتاح تشفير المحتوى (CEK)، ولا يرى الخادم أبداً البيانات بنص واضح.

طرق فك القفل (فتحات المفاتيح)

هناك مفتاح تشفير محتوى (CEK) واحد لكل مخزن، يُغلَّف بشكل مستقل لكل طريقة فك قفل، على غرار فتحات مفاتيح LUKS. أي فتحة واحدة تفتح المفتاح نفسه، ويمكن إضافة الفتحات أو إزالتها دون إعادة تشفير بياناتك:

الطريقةما هيملاحظات
مفتاح المرورمفتاح مرور WebAuthn مع امتداد PRFالخيار الأقوى؛ مدعوم بالعتاد
كلمة المرور الرئيسيةكلمة مرور تختارها، تُقوَّى باستخدام PBKDF2-SHA256 (600,000 تكرار)تعمل بدون عتاد يدعم PRF؛ وتتيح أيضاً التسجيل بدون واجهة في واجهة سطر الأوامر
رمز الاستردادرمز يُنشأ بالصيغة RC1-XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXXيُعرض مرة واحدة فقط عند الإنشاء؛ احفظه في مكان آمن

تغذي كل طريقة المسار نفسه: تُنتج الفتحة سراً يتحد مع سر يحتفظ به الخادم لفك تغليف مفتاح CEK. لا يكفي أي من النصفين بمفرده، لذا تبقى خاصية “بدون معرفة” قائمة في الطرق الثلاث جميعها، ولا يصل سر الفتحة إلى الخادم أبداً.

تُدار الفتحات من البوابة في صفحة تخزين الإعدادات. المؤسسات التي تريد فك قفل بالعتاد فقط يمكنها تفعيل سياسة طلب مفتاح المرور، التي ترفض أي فتحة غير مفتاح مرور وتُلغيها من المخزن بالكامل.

فك القفل مرتبط بالجهاز: تفك القفل مرة واحدة على جهاز جديد، وبعدها تعمل عمليات واجهة سطر الأوامر اليومية (push/pull) دون الحاجة لمفتاح مرور أو كتابة كلمة مرور.

المتطلبات الأساسية

  • المصادقة الثنائية مفعّلة على حسابك
  • لطريقة مفتاح المرور: مزود مفتاح مرور يدعم PRF، مثل مفتاح أمان FIDO2 (كـ YubiKey)، أو iCloud Keychain، أو Google Password Manager، أو 1Password، أو Dashlane
  • المتصفح: Chrome 133+، أو Edge 133+، أو Firefox 130+، أو Safari 17+

ينطبق شرط PRF على فتحة مفتاح المرور فقط. أما طريقتا كلمة المرور الرئيسية ورمز الاسترداد فتعملان مع أي متصفح مدعوم.

الإعداد

  1. انتقل إلى تخزين الإعدادات في الشريط الجانبي، ثم انقر على إعداد تخزين الإعدادات
  2. تتحقق قائمة المتطلبات من متصفحك والمصادقة الثنائية وحالة الجلسة
  3. انقر على بدء الإعداد. لإنشاء فتحة مفتاح مرور، ستحتاج إلى لمس مفتاح الأمان مرتين:
    • اللمسة الأولى: تسجيل مفتاح المرور
    • اللمسة الثانية: اشتقاق مفاتيح التشفير عبر PRF
  4. اكتمل الإعداد — يتم تخزين سر مفتاح المرور في حلقة مفاتيح نظام التشغيل

بعد الإعداد، أضف فتحة كلمة مرور رئيسية أو رمز استرداد من صفحة تخزين الإعدادات، حتى لا يُقفَل عليك بفقدان أداة المصادقة أو عدم دعمها.

توافق مزودي PRF

المزوددعم PRFالمنصات
YubiKey / مفاتيح أمان FIDO2Windows 11، macOS، Linux
iCloud KeychainmacOS 15+، iOS 18+
Google Password ManagerAndroid
1PasswordAndroid، iOS
Dashlaneمتعدد المنصات
إضافة Bitwardenقيد التطوير
Windows Helloغير مدعوم

التسجيل بدون واجهة في واجهة سطر الأوامر

يمكن لجهاز بلا متصفح (خادم، أو عامل CI، أو خدمة تنفيذ) التسجيل في مخزن قائم باستخدام طريقة كلمة المرور الرئيسية:

rdc config remote enable --password

المتطلبات:

  • فتحة كلمة مرور رئيسية مُهيَّأة مسبقاً عبر البوابة (يحتفظ المتصفح بالمفتاح أثناء التهيئة، لذا لا يمكن أن تكون هذه الخطوة نفسها بدون واجهة)
  • رمز وصول API يحمل نطاق config:enroll لمصادقة الطلب

التسجيل عملية قراءة: تجلب واجهة سطر الأوامر معاملات KDF العامة للفتحة والمفتاح المُغلَّف، وتشتق سر كلمة المرور محلياً، وتفك تغليف مفتاح CEK على الجهاز نفسه. يمنح ذلك الجهاز القدرة على فك تشفير الإعدادات ومزامنتها؛ ولا يُعدِّل المخزن.

التفعيل والقراءة بلا اتصال

يربط أمر rdc config remote enable الإعداد النشط بالمخزن. عندما يكون المخزن فارغاً، يقوم التفعيل بـتعبئته من إعدادك المحلي الحالي: تُدفع الموارد المحلية كأول إصدار للمخزن، ثم تُسحب مرة أخرى لإثبات صحة الدورة الكاملة. عندما يحتوي المخزن على محتوى بالفعل، فإن التفعيل يوفّق معه بدلاً من الكتابة فوقه (يتوقف عند تباين حقيقي ما لم تمرر --force).

بعد التفعيل، يحتفظ الإعداد بـذاكرة تخزين مؤقت للقراءة كاملة، مشفّرة أثناء التخزين بنفس آلية أي إعداد محلي، بحيث يبقى المخزن قابلاً للاستخدام عندما يتعذر الوصول إلى خادم الحساب:

  • تعمل القراءات دون اتصال. يُقدَّم المحتوى المخزَّن مؤقتاً مع تحذير بعدم الحداثة على stderr، موسوماً بإصدار وطابع زمني للتخزين المؤقت (cachedVersion / cachedAt).
  • تتطلب الكتابة الخادم وتفشل بأمان. لا توجد قائمة انتظار كتابة دون اتصال: أي كتابة لا يمكنها الوصول إلى الخادم تفشل مع ذكر اسم الخادم. إذا نجح أمر كتابة، فإن التغيير موجود على الخادم.
  • تُحل التعديلات المتزامنة من جهازين عبر السحب-إعادة التطبيق-إعادة الدفع على مستوى مجموعة الموارد، بحيث لا يطغى تعديل متزامن في مكان آخر على تعديلك.

تدوير المفتاح

يؤدي تدوير مفتاح CEK الخاص بالمخزن إلى إعادة تغليفه تحت جيل جديد:

  • تُبطَل رموز الاسترداد دائماً عند التدوير، لذا أنشئ رمزاً جديداً واحفظه بعد ذلك
  • تبقى فتحة كلمة المرور الرئيسية صالحة فقط إذا أُعيد إدخال كلمة المرور أثناء معالج التدوير
  • تُبلَّغ أي فتحة متروكة عند جيل أقدم بأنها قديمة بدلاً من أن تفشل بخطأ فك تشفير غامض

إدارة الأعضاء

تخزين الإعدادات محدد لكل مؤسسة. تتم إدارة الأعضاء عبر بوابة الويب:

  • عرض الأعضاء: تخزين الإعدادات ← الأعضاء
  • إضافة عضو: حالياً عبر واجهة سطر الأوامر فقط (واجهة الويب مخططة)
  • إزالة عضو: انقر على زر الإزالة في صفحة الأعضاء (يتطلب المصادقة الثنائية + إعادة المصادقة)

تمنع الحمايات الأمنية إزالة آخر عضو نشط أو إزالة نفسك.

تخضع الإعدادات داخل المخزن أيضاً لنطاق كل فريق، لكن هذا النطاق هو تحكم وصول من جانب الخادم، وليس عزلاً تشفيرياً: يُشفِّر مفتاح CEK واحد على مستوى المؤسسة إعدادات جميع الفرق، ويفرض الخادم أي الفرق يمكن لعضو معين قراءتها.

الأمان

  • بدون معرفة: يخزن الخادم بيانات مشفرة ثلاثياً لا يمكنه فك تشفيرها
  • مفتاح مقسم: يتطلب فك التشفير كلاً من سر الفتحة (العميل) وسر الخادم (الخادم)
  • رموز متجددة: تستخدم كل مكالمة API رمزاً جديداً؛ الرموز القديمة تدمر نفسها ذاتياً
  • ربط IP: ترتبط الرموز بعنوان IP الخاص بك عند أول استخدام
  • إلغاء فوري: يفقد الأعضاء المُزالون الوصول خلال 30 ثانية

استكشاف الأخطاء وإصلاحها

الخطأالسببالحل
PRF not supportedالمصادق يفتقر إلى امتداد PRFاستخدم YubiKey، أو iCloud Keychain، أو 1Password، أو Dashlane، أو أضف فتحة كلمة مرور رئيسية
X25519 not supportedإصدار المتصفح قديم جداًحدّث إلى Chrome 133+، أو Edge 133+، أو Firefox 130+، أو Safari 17+
Already configuredيوجد مخزن لمؤسستك بالفعلقم بزيارة /account/config-storage للإدارة
Config storage not configuredالخادم يفتقر إلى تخزين blobاتصل بمسؤولك لتكوين R2/RustFS
Token expiredلا يوجد نشاط لمدة 24 ساعةشغّل أي أمر تخزين إعدادات للتحديث
Cannot remove last memberسيؤدي إلى قفل المخزن نهائياًأضف عضواً آخر أولاً
Stale slotالفتحة أقدم من آخر عملية تدوير للمفتاحأعد إضافة الفتحة (يجب إعادة إنشاء رموز الاسترداد بعد كل تدوير)

ذو صلة