المفاتيح الثلاثة التي تحتاجها معظم عمليات النشر
ابدأ هنا. استخدم قائمة الصلاحيات الكاملة أدناه فقط عندما تحتاج إلى مفتاح مخصص أقل نطاقاً. راجع أيضاً تخطيط المفتاح الموصى به وإنشاء المفاتيح.
الصلاحيات
يفرض الخادم قائمة ثابتة من الصلاحيات؛ تتحكم كل واحدة في مسارات HTTP محددة. يحمل مفتاح الإدارة جميعها؛ يحمل المفتاح ذو النطاق المحدد المجموعة الفرعية التي تمنحها عند الإنشاء. يتم رفض سلاسل الصلاحيات غير المعروفة عند إنشاء مفتاح.ملاحظة: صلاحيتان صحيحتان مخصصتان للعاملين البشريين/لوحة التحكم فقط ولا يمكن منحهما لمفتاح API:orgs:admin(إدارة المثيل، وهي حصرية للعاملين) وkeys:update. يتم رفض الطلب إلىPOST /keysأوPATCH /keys/:idالذي يحاول منح أي منهما برمز HTTP 422. راجع صفkeys:updateأدناه لمعرفة السبب في أن مفتاح الحامل قد ينشئ مفاتيح لكن لا يمكنه تعديلها.
بث الأحداث والاستعلام عنها
الجلسات والتقييمات
لوحات التحكم
الاستعلامات المحفوظة (محرر SQL)
مساعد ذكي
مفاتيح API
مستخدمو لوحة التحكم
تدعم هذه الصلاحيات صفحة لوحة التحكم المستخدمون، حيث يتم عرض النطاقات الممنوحة لكل عضو كرقائق:

الإعدادات التشغيلية

التنبيهات والحوادث
التدقيقات
ملاحظة: لإعطاء مفتاح سطح التدقيق، امنح audits:* بشكل صريح. راجع ملاحظات الترقية والتوافق للخلف لمعرفة كيف تمت ترقية المستفيدين الموجودين عند شحن التدقيقات.
نقطة نهاية منتقي المستقبلGET /alerts/recipients(التي تسرد رسائل بريد الأعضاء التي يمكن لمحرر التنبيهات إخطارهم) قابلة للوصول من قبل صاحب إماalerts:readأوalerts:write، لذا يمكن لمحررات التنبيهات ملء المنتقي دون منحusers:read.
مشاهد لوحة التحكم يحتاج كل منdashboards:read(لتحميل العروض المحفوظة) وevaluations:read(يتم حساب مقاييس الصحة من بيانات التقييم). امنحdashboards:writeللسماح للمستخدم بإنشاء أو تعديل لوحات التحكم، وdashboards:deleteلإزالتها.
/healthو/auth/*(طلب OTP، التحقق من OTP، فحص الجلسة، تسجيل الخروج) غير معاثة بالتصميم؛ إنها تدفق تسجيل الدخول واختبار الحيوية.GET /access-grantersيتطلب مفتاحاً صحيحاً لكن لا توجد صلاحية محددة، بحيث يمكن لأي مستخدم مسجل دخول أن يرى الإداريين الذين يجب الاتصال بهم بخصوص تغييرات الوصول.
مجموعات الصلاحيات
تتيح لك مجموعات الصلاحيات تطبيق دور محدد اسم بدلاً من انتقاء رموز فردية يدوياً في كل مرة. بدلاً من تحديد عشرات الصلاحيات واحدة تلو الأخرى لكل مستخدم جديد لوحة تحكم أو مفتاح API، تختار مجموعة، ويحمل كل شخص معين لها منحة متسقة وقابلة للمراجعة. يؤدي تعديل مجموعة مخصصة إلى إعادة تطبيق المنحة الجديدة على كل مستخدم معين لها بالفعل، بحيث يكون تغيير الدور تعديلاً واحداً بدلاً من مسح عبر كل عضو. يتم تغذية كل منظمة بثلاث مجموعات مدمجة:
المجموعات المدمجة الثلاث غير قابلة للتغيير؛ أسماؤها تعني دائماً نفس الشيء، لذا فإن
read-only وstandard وadmin آمنة للرجوع إليها في السياسة والتمهيد. يمكن لعامل التشغيل إنشاء مجموعات مخصصة إضافية لنمذجة أدوار محددة لمنظمتك (على سبيل المثال، دور “مؤلف لوحة التحكم” أو دور “جامع البيانات فقط”).
يتم عرض المجموعات في لوحة التحكم وإدارتها عبر API في GET /permission-sets (الإدراج، المحدود بـ users:read) وPOST /permission-sets / PUT /permission-sets/:name / DELETE /permission-sets/:name (إنشاء وتعديل وحذف مجموعة مخصصة، المحدودة بـ settings:write). يتم رفض حذف أو تعديل مجموعة مدمجة.
عضوية المجموعة هي ما يدعم ميزتين أخريين:
DEFAULT_USER_PERMISSIONS(المنحة المحددة مسبقاً عندما يفتح المسؤول + مستخدم جديد) تقتصر على مجموعةstandard.- الحد
--setعلىagenteye-orgctl(إدارة أعضاء المشغل) يبدأ عضواً من مجموعة محددة، والتي يمكنك بعد ذلك ضبطها بدقة باستخدام--add/--remove.
ملاحظة: عندما تتضمن مجموعة صلاحية غير قابلة لتعيين المفاتيح (على سبيل المثال مجموعة مخصصة تحمل keys:update)، يسقط تغذية مفتاح من تلك المجموعة الرموز غير القابلة للتعيين؛ سيتم رفض الخادم المفتاح برمز HTTP 422. مستخدمو لوحة التحكم ليسوا خاضعين لهذا القيد.
مفتاح إدارة التمهيد
مفتاح الإدارة هو بيانات اعتماد جذر واحدة تسمح لعامل التشغيل بإحضار الوصول من لا شيء: باستخدامه يمكنك صك كل مفتاح محدود النطاق آخر، ودعوة أول مستخدمي لوحة تحكم، وتكوين المثيل قبل وجود أي مفتاح آخر. إنه المفتاح الوحيد الذي لا تقوم بإنشاؤه من خلال مفاتيح API؛ يتم توفيره من البيئة بحيث يكون الخادم قابلاً للوصول عند بدء التشغيل الأول. اضبط متغير البيئةADMIN_KEY على الخادم. في كل بدء تشغيل، يقوم الخادم بـ upsert هذه القيمة كمفتاح إدارة مع جميع الصلاحيات.
للتدوير: غيّر ADMIN_KEY إلى سر جديد وأعد تشغيل الخادم.
نطاق المنظمة
يتم إنشاء المنظمات وإدارتها خارج النطاق من قبل عامل التشغيل، وليس من خلال API المفاتيح هذا. دورة حياة المنظمة والعضو (إنشاء / إعادة تسمية / حذف / تنظيف منظمة؛ إضافة / تحديث / إزالة عضو) يتم بـagenteye-orgctl CLI؛ لا توجد واجهة HTTP API أو زر لوحة تحكم لذلك. ما لم يتغير: يتم سك مفاتيح API لكل منظمة في لوحة التحكم (أو عبر API المفاتيح هذا) من قبل أعضاء المنظمة.
في نشر متعدد المنظمات، يملك كل مفتاح ينشئه عضو المنظمة (من خلال API المفاتيح هذا أو صفحة لوحة التحكم المفاتيح) منظمة واحدة ولا يمكنه أبداً قراءة أو كتابة بيانات تلك المنظمة فقط؛ يتم وضع الختم على المنظمة على المفتاح عند الإنشاء وتطبيقه على كل طلب. الاستثناء الوحيد هو المفاتيح الاستهلاكية الاثنان: مفتاح admin (المحدثة من ADMIN_KEY) ومفتاح dashboard-assistant (المحدثة من AGENT_API_KEY) هما نطاق المثيل (لا يحملان أي منظمة). تتحقق لوحة التحكم مع مفتاح admin بحيث يمكنها توكيل الطلبات لكل منظمة نيابة عن الأعضاء المسجلين. لا تحتاج عمليات النشر للتأجير الواحد إلى التفكير في هذا؛ جميع المفاتيح تابعة للمنظمة المدمجة default.
إنشاء المفاتيح
استخدم مفتاح الإدارة (أو أي مفتاح به صلاحيةkeys:create) لإنشاء مفاتيح محدودة النطاق إضافية.
مفتاح جامع البيانات (البث فقط)
مفتاح لوحة التحكم (قراءة فقط)
key بنفسك؛ اختر سراً قوياً وخزّنه بأمان. (لوحة التحكم تعمل بالطريقة الأخرى: فهي تنتج سراً قوياً لك وتعرضه مرة واحدة عند الإنشاء؛ انظر إدارة المفاتيح في لوحة التحكم.) يؤكد الرد أنه تم إنشاء المفتاح:
إدراج المفاتيح
تعطيل مفتاح
يؤدي التعطيل إلى إلغاء الوصول على الفور دون حذف سجل المفتاح.إعادة إنشاء مفتاح
ينتج سراً جديداً لمفتاح موجود. يتم إلغاء السر القديم على الفور.إدارة المفاتيح في لوحة التحكم
توفر صفحة المفاتيح في لوحة التحكم واجهة مستخدم لجميع العمليات المذكورة أعلاه. تحتاج مفتاح به صلاحيةkeys:read لعرض القائمة، وkeys:create / keys:update / keys:disable / keys:regenerate لإجراءات الإنشاء / التعديل / التعطيل / إعادة الإنشاء على التوالي. يختلف تعديل صلاحيات المفتاح (keys:update) عن إنشاء واحد (keys:create)، بحيث يمكنك منح عامل تشغيل القدرة على سك مفاتيح دون القدرة على إعادة تحديد نطاق الموجودة، أو العكس. يغطي مفتاح الإدارة كل هذه.
عند إنشاء مفتاح من لوحة التحكم لا تقدم السر؛ تنتج لوحة التحكم سراً قوياً لك وتعرضه مرة واحدة عند الإنشاء. انسخه فوراً وخزّنه بأمان؛ لا يتم عرضه أبداً مرة أخرى، تماماً كما هو الحال مع إعادة الإنشاء. لا يزال بإمكانك انتقاء صلاحيات المفتاح مباشرة، أو تغذيتها من مجموعة صلاحيات (انظر أدناه).

تخطيط المفتاح الموصى به
ملاحظة: يتم تغذية مفتاح المساعد تلقائياً من قبل الخادم من متغير بيئةAGENT_API_KEY(نفس السر الذي يقدمه الوكيل باسمAGENTEYE_API_KEY); لا يوجد خطوة سك مفاتيح يدويّة ولا مفتاح إدارة متورط. تم إصلاح صلاحياته في كود المصدر بحيث لا يمكن توسيع النطاق من خلال سوء التكوين: قراءة عبر الأحداث / التقييمات / لوحات التحكم، بالإضافة إلى dashboards-write و queries-read / write / run لتدفق الإنشاء من قبل استخدام “اطلب من AI كتابة استعلام”. لا يزال كل SQL يمر عبر نفس الدور المقروء فقط والمسار SQL المحمي كما هو الحال مع الاستعلام المكتوب من قبل المستخدم، لذا فإن هذا يوسع سطح الإنشاء، وليس سطح البيانات؛ تبقى العمليات المدمّرة (queries:delete,dashboards:delete) عن قصد بعيداً عن مفتاح المساعد. مثل مفتاحadmin، فهو محمي: لا يمكن تعطيله أو إعادة إنشاؤه من خلال API المفاتيح، فقط تدويره بتغييرAGENT_API_KEYوإعادة تشغيل. مستخدمو لوحة التحكم بالإضافة إلى يحتاجون إلى صلاحيةagent:useلرؤية واستخدام المساعد. إذا قمت بتفعيل قياس ذاتي، امنح المساعد مفتاحاً منفصلاًevents:addفقط.
ملاحظات الترقية والتوافق للخلف
أنت بحاجة فقط إلى هذه إذا كنت ترقي مثيلاً موجوداً؛ يمكن لعمليات النشر الجديدة تخطيها.عند شحن التدقيقات، تمت توسيع المستفيدين الموجودين على طول نفس أشكال الأدوار مثل التنبيهات: اكتسب كل مستخدم ومجموعة صلاحيات تحملalerts:readعلىaudits:read، واكتسب كل صاحبalerts:writeعلىaudits:write. لم يتم توسيع مفاتيح API الموجودة. امنحaudits:*لمفتاح بشكل صريح إذا كان يحتاج إلى سطح التدقيق.
يتم تحليل مانحات الرموز الموروثة لـalerts:ackكـincidents:ackبحيث يحتفظ في الوقت المناسب بالوصول دون إعادة صك. لم يعد الرمز قابلاً للتعيين من محرر مستخدمي لوحة التحكم؛ تقدم المصفوفةincidents:ackبدلاً من ذلك.
الخطوات التالية
- Python SDK: كيفية مصادقة كود الوكيل عند إرسال الأحداث.
- الأمان: كيف يعمل تسجيل الدخول والتحكم في الوصول وعزل البيانات لكل منظمة.

