قاعدة المعرفة
الأدوار ومستويات الصلاحيات
الدور يحدّد ما يجوز للشخص فعله؛ ومنح العنوان يحدّد ما يجوز له فعله به.
التفاصيل
- منحان لكل شخص، ولا بدّ من اتفاقهما قبل أن يحدث أي شيء. فالدور، المضبوط في الإعدادات ← الأعضاء، يحدّد ما يجوز له فعله في مساحة العمل: قراءة البريد وإرساله وتحرير القوالب وإضافة نطاق وصكّ مفتاح API. ومنح العنوان، المضبوط من أداة المشاركة على صفّ العنوان، يحدّد أيّ العناوين يجوز له فعل ذلك عليها، بصيغة قراءة فقط أو قراءة وإرسال. فمن يحمل دورًا فيه الإرسال ولا عناوين لديه يستطيع الإرسال من لا شيء؛ ومن يحمل كل عنوان في مساحة العمل بمنح قراءة فقط لا يستطيع الإرسال من أيٍّ منها أيضًا.
- ستة أدوار موجودة دون أن ينشئها أحد، ولكل مساحة عمل الستة نفسها، فـ«Admin» تعني هنا ما تعنيه في التوثيق وفي الـ API. و Owner و Admin و Member و Viewer سُلّم: كل واحد يحمل كل ما يحمله الذي يليه، فخفض رتبة شخص يضيّق ما يبلغه بدل استبداله بشريحة مختلفة. أما Developer و Billing فليسا درجتين على ذلك السلّم. فـ Developer يبني التكاملات، ويحمل مفاتيح API و webhooks والقوالب والإرسال دون أن يقرأ شيئًا من بريد مساحة العمل، و Billing يرى الخطة والفواتير، ويستطيع تغيير الخطة وبيانات الدفع عليها، ويقرأ إعدادات صندوق البريد دون أن يستطيع كتابة أيٍّ منها. وصلاحياتهما قابلة للتحرير: فمساحة عمل تفضّل ألّا يكتب أعضاؤها القوالب تزيل التأشير عنها، ويسري التغيير على الطلب التالي الذي يقدّمه أي شخص يحمل ذلك الدور صراحةً. ومن كان دوره لا يزال ضمنيًّا من منح عنوان صدر قبل وجود الأدوار يبقى على الإعدادات الافتراضية المشحونة حتى يُمنح دورًا صراحةً. وكذلك أسماؤها: فمساحة عمل تعمل بـ Ops و On-call تعيد تسميتها فتصف نفسها، وهذا هو المقصود.
- Owner هو الاستثناء في كل اتجاه: غير قابل للتحرير ولا للحذف ولا للإسناد. فهو يصف الحساب الذي ترتكز عليه مساحة العمل، ويحمل كل صلاحية، بما فيها ما يُضاف في إصدار لاحق، ولهذا تُحسب قائمته بدل تخزينها. وتسليم مساحة العمل إلى شخص آخر نقل ملكية لا تغيير دور، ولا يوجد هنا ما يقوم بذلك.
- وفيما عدا ذلك، تكتب مساحة العمل أدوارها بنفسها، حتى 24 دورًا إجمالًا، بالتأشير على الصلاحيات من المصفوفة المجمَّعة نفسها. والتأشير يستلزم غيره: فـ«تحرير القوالب» يخزّن «قراءة القوالب» معه، لأن دورًا يستطيع تحرير قالب لا يستطيع فتحه هو مربع نسيه أحدهم لا سياسة يقصدها أحد. وحذف دور يحمله أشخاص أو مفاتيح API يسأل إلى أين تنقلهم ويرفض بدل التخمين. فالمفتاح الذي اختفى دوره سيرتدّ إلى بلا سقف إطلاقًا، وهو أوسع من الدور الذي زال للتوّ.
- يمكن إصدار مفتاح API مقابل دور، والدور سقف لا منح ثانٍ: فما يجوز للمفتاح فعله هو تقاطع نطاقاته الخاصة مع صلاحيات الدور، يُحسم في كل طلب. فمفتاح أُنشئ ومعه الإرسال ومسقوف بـ Viewer لا يستطيع الإرسال، وتضييق دور يبطله مباشرةً دون حاجة إلى تدوير المفتاح. والمساعد محكوم بالقائمة نفسها، وخادم MCP يبني أدوات العميل من صلاحيات المستدعي، فعميل الـ Viewer لا توجد فيه أداة إرسال إطلاقًا، وكل أداة مقيّدة تعيد الفحص عند الدخول لأن الجلسة قد تبدّل صناديق البريد بعد بناء القائمة.