3 कुंजियाँ जो अधिकांश परिनियोजन को चाहिए
यहाँ से शुरुआत करें। पूर्ण अनुमति सूची नीचे केवल तभी देखें जब आपको एक संकीर्ण, कस्टम-स्कोप की गई कुंजी चाहिए। अनुशंसित कुंजी लेआउट और कुंजियाँ बनाना भी देखें।
अनुमतियाँ
सर्वर एक निश्चित अनुमतियों की सूची को लागू करता है; प्रत्येक विशिष्ट HTTP रूट को नियंत्रित करता है। एक व्यवस्थापक कुंजी उन सभी को रखती है; एक स्कोप की गई कुंजी उस सबसेट को रखती है जो आप निर्माण पर देते हैं। अज्ञात अनुमति स्ट्रिंग को अस्वीकार कर दिया जाता है जब एक कुंजी बनाई जाती है।नोट: दो वैध अनुमतियाँ मानव/डैशबोर्ड-केवल हैं और एक API कुंजी को नहीं दी जा सकतीं:orgs:admin(उदाहरण प्रशासन, जो केवल ऑपरेटर के लिए है) औरkeys:update।POST /keysयाPATCH /keys/:idके लिए एक अनुरोध जो इनमें से किसी एक को देने का प्रयास करता है HTTP 422 से अस्वीकार कर दिया जाता है।keys:updateपंक्ति देखें कि क्यों एक वाहक कुंजी कुंजियाँ बना सकती है लेकिन कभी संपादित नहीं कर सकती।
ईवेंट अंतर्ग्रहण और क्वेरी
सत्र और मूल्यांकन
डैशबोर्ड
सहेजी गई क्वेरीज़ (SQL संगीतकार)
AI सहायक
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 नीति और ऑनबोर्डिंग में संदर्भित करना सुरक्षित है। एक ऑपरेटर आपके संगठन के लिए विशिष्ट भूमिकाओं को मॉडल करने के लिए अतिरिक्त कस्टम सेट बना सकता है (उदाहरण के लिए, एक “डैशबोर्ड लेखक” भूमिका या एक “कलेक्टर-केवल” भूमिका)।
सेट डैशबोर्ड में सतह पर आते हैं और GET /permission-sets पर API के माध्यम से प्रबंधित होते हैं (सूची, 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 पर्यावरण चर सेट करें। हर स्टार्टअप पर सर्वर इस मान को एक व्यवस्थापक कुंजी के रूप में सभी अनुमतियों के साथ अपसर्ट करता है।
घुमाने के लिए: ADMIN_KEY को एक नई गोपनीयता में बदलें और सर्वर को पुनः आरंभ करें।
संगठन स्कोपिंग
संगठन स्वयं ऑपरेटर द्वारा बैंड से बाहर बनाए और प्रबंधित किए जाते हैं, इस कुंजी API के माध्यम से नहीं। ऑर्ग और सदस्य जीवनचक्र (एक ऑर्ग बनाएँ / नाम दें / हटाएँ / शुद्ध करें; एक सदस्य जोड़ें / अपडेट करें / हटाएँ)agenteye-orgctl CLI के साथ किया जाता है; इसके लिए कोई HTTP API या डैशबोर्ड बटन नहीं है। क्या अपरिवर्तित है: प्रति-ऑर्ग API कुंजियाँ अभी भी डैशबोर्ड में टकसाली होती हैं (या इस कुंजी API के माध्यम से) ऑर्ग सदस्यों द्वारा।
एक मल्टी-ऑर्ग परिनियोजन में, हर कुंजी एक ऑर्ग सदस्य बनाता है (इस कुंजी API या डैशबोर्ड कुंजियाँ पृष्ठ के माध्यम से) एक संगठन के अंतर्गत आता है और केवल कभी भी उस ऑर्ग के डेटा को पढ़ या लिख सकता है; ऑर्ग निर्माण पर कुंजी पर स्टैम्प किया जाता है और हर अनुरोध पर लागू किया जाता है। दो बूटस्ट्रैप कुंजियाँ एकमात्र अपवाद हैं: admin कुंजी (ADMIN_KEY से बीजित) और dashboard-assistant कुंजी (AGENT_API_KEY से बीजित) उदाहरण-स्कोप किए गए हैं (वे कोई ऑर्ग नहीं रखते हैं)। डैशबोर्ड admin कुंजी के साथ प्रमाणीकरण करता है इसलिए यह हस्ताक्षरित सदस्यों की ओर से प्रति-ऑर्ग अनुरोधों को प्रॉक्सी कर सकता है। एकल-किरायेदार परिनियोजन को इसके बारे में सोचना पड़ता है नहीं; सभी कुंजियाँ अंतर्निहित default ऑर्ग के अंतर्गत आती हैं।
कुंजियाँ बनाना
व्यवस्थापक कुंजी (याkeys:create अनुमति रखने वाली किसी भी कुंजी) का उपयोग करके अतिरिक्त स्कोप की गई कुंजियाँ बनाएँ।
कलेक्टर कुंजी (केवल अंतर्ग्रहण)
डैशबोर्ड कुंजी (केवल पढ़ें)
key मान प्रदान करते हैं; एक मजबूत गोपनीयता चुनें और इसे सुरक्षित रूप से स्टोर करें। (डैशबोर्ड दूसरे तरीके से काम करता है: यह आपके लिए एक मजबूत गोपनीयता उत्पन्न करता है और निर्माण पर इसे एक बार दिखाता है; डैशबोर्ड में कुंजी प्रबंधन देखें।) प्रतिक्रिया की पुष्टि करती है कि कुंजी बनाई गई थी:
कुंजियों की सूची बनाना
एक कुंजी को अक्षम करना
अक्षम करना कुंजी रिकॉर्ड को हटाए बिना तुरंत एक्सेस को रद्द करता है।एक कुंजी को पुन: उत्पन्न करना
एक मौजूदा कुंजी के लिए एक नई गोपनीयता उत्पन्न करता है। पुरानी गोपनीयता तुरंत अमान्य कर दी जाती है।डैशबोर्ड में कुंजी प्रबंधन
डैशबोर्ड में कुंजियाँ पृष्ठ उपरोक्त सभी कार्यों के लिए एक UI प्रदान करता है। सूची को देखने के लिए आपकोkeys:read अनुमति के साथ एक कुंजी चाहिए, और क्रमशः निर्माण / संपादन / अक्षम / पुन: उत्पन्न कार्यों के लिए keys:create / keys:update / keys:disable / keys:regenerate। एक कुंजी की अनुमतियों को संपादित करना (keys:update) एक बनाने (keys:create) से अलग है, इसलिए आप एक ऑपरेटर को कुंजियों को टकसाली करने की क्षमता दे सकते हैं बिना मौजूदा कुंजियों को पुन: स्कोप करने की क्षमता के, या इसके विपरीत। व्यवस्थापक कुंजी इन सभी को कवर करती है।
जब आप डैशबोर्ड से एक कुंजी बनाते हैं तो आप गोपनीयता की आपूर्ति नहीं करते हैं; डैशबोर्ड आपके लिए एक मजबूत गोपनीयता उत्पन्न करता है और इसे एक बार निर्माण पर प्रदर्शित करता है। इसे तुरंत कॉपी करें और सुरक्षित रूप से स्टोर करें; यह कभी फिर से दिखाया नहीं जाता है, एक पुन: उत्पन्न के समान ही। आप अभी भी कुंजी की अनुमतियों को सीधे चुन सकते हैं, या एक अनुमति सेट से उन्हें बीजित कर सकते हैं (नीचे देखें)।

अनुशंसित कुंजी लेआउट
नोट: सहायक की कुंजी स्वचालित रूप से बीजित की जाती है सर्वर द्वाराAGENT_API_KEYenv var से (वही गोपनीयता जो एजेंटAGENTEYE_API_KEYके रूप में प्रस्तुत करता है); कोई मैन्युअल कुंजी-मिंटिंग चरण नहीं है और कोई व्यवस्थापक कुंजी शामिल नहीं है। इसकी अनुमतियाँ स्रोत कोड में तय की जाती हैं इसलिए स्कोप को गलतफहमी से व्यापक नहीं किया जा सकता: ईवेंट / मूल्यांकन / डैशबोर्ड में पढ़ें, प्लस डैशबोर्ड-लेखन और क्वेरीज-पढ़ें / लिखें / चलाएँ 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: कैसे आपका एजेंट कोड प्रमाणीकृत होता है जब ईवेंट भेज रहा हो।
- सुरक्षा: साइन-इन, एक्सेस नियंत्रण, और प्रति-संगठन डेटा अलगाव कैसे काम करता है।

