Skip to main content
API कुंजियाँ नियंत्रित करती हैं कि कौन और क्या आपके Failproof AI Observability सर्वर तक पहुँच सकता है, जिससे एक कलेक्टर कभी भी पढ़ने या व्यवस्थापक शक्तियों को प्राप्त किए बिना ईवेंट भेज सकता है। प्रत्येक कुंजी एक या अधिक अनुमतियाँ रखती है, और प्रत्येक अनुमति विशिष्ट सर्वर रूट को नियंत्रित करती है; आप केवल वह अनुमतियाँ देते हैं जो एक कार्य को चाहिए। अधिकांश परिनियोजन केवल तीन प्रकार की कुंजियाँ बनाते हैं।

3 कुंजियाँ जो अधिकांश परिनियोजन को चाहिए

यहाँ से शुरुआत करें। पूर्ण अनुमति सूची नीचे केवल तभी देखें जब आपको एक संकीर्ण, कस्टम-स्कोप की गई कुंजी चाहिए। अनुशंसित कुंजी लेआउट और कुंजियाँ बनाना भी देखें।

अनुमतियाँ

सर्वर एक निश्चित अनुमतियों की सूची को लागू करता है; प्रत्येक विशिष्ट HTTP रूट को नियंत्रित करता है। एक व्यवस्थापक कुंजी उन सभी को रखती है; एक स्कोप की गई कुंजी उस सबसेट को रखती है जो आप निर्माण पर देते हैं। अज्ञात अनुमति स्ट्रिंग को अस्वीकार कर दिया जाता है जब एक कुंजी बनाई जाती है।
नोट: दो वैध अनुमतियाँ मानव/डैशबोर्ड-केवल हैं और एक API कुंजी को नहीं दी जा सकतीं: orgs:admin (उदाहरण प्रशासन, जो केवल ऑपरेटर के लिए है) और keys:updatePOST /keys या PATCH /keys/:id के लिए एक अनुरोध जो इनमें से किसी एक को देने का प्रयास करता है HTTP 422 से अस्वीकार कर दिया जाता है। keys:update पंक्ति देखें कि क्यों एक वाहक कुंजी कुंजियाँ बना सकती है लेकिन कभी संपादित नहीं कर सकती।

ईवेंट अंतर्ग्रहण और क्वेरी

सत्र और मूल्यांकन

डैशबोर्ड

सहेजी गई क्वेरीज़ (SQL संगीतकार)

AI सहायक

API कुंजियाँ

डैशबोर्ड उपयोगकर्ता

ये अनुमतियाँ डैशबोर्ड के उपयोगकर्ता पृष्ठ को समर्थन देती हैं, जहाँ प्रत्येक सदस्य के दिए गए दायरे चिप्स के रूप में दिखाए जाते हैं: उपयोगकर्ता पृष्ठ: प्रत्येक डैशबोर्ड उपयोगकर्ता के लिए एक कार्ड उनके ईमेल, दी गई अनुमतियों, और संपादन/अक्षम नियंत्रण के साथ

परिचालन सेटिंग्स

सेटिंग्स पृष्ठ: डैशबोर्ड-प्रबंधित परिचालन सेटिंग्स जैसे अनुमति दी गई साइन-इन और सत्र/OTP जीवनकाल, पुनः आरंभ के बिना संपादन योग्य

अलर्ट और घटनाएँ

ऑडिट

नोट: एक कुंजी को ऑडिट सतह देने के लिए, इसे 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 अनुमति रखने वाली किसी भी कुंजी) का उपयोग करके अतिरिक्त स्कोप की गई कुंजियाँ बनाएँ।

कलेक्टर कुंजी (केवल अंतर्ग्रहण)

डैशबोर्ड कुंजी (केवल पढ़ें)

जब आप HTTP API पर एक कुंजी बनाते हैं, तो आप स्वयं key मान प्रदान करते हैं; एक मजबूत गोपनीयता चुनें और इसे सुरक्षित रूप से स्टोर करें। (डैशबोर्ड दूसरे तरीके से काम करता है: यह आपके लिए एक मजबूत गोपनीयता उत्पन्न करता है और निर्माण पर इसे एक बार दिखाता है; डैशबोर्ड में कुंजी प्रबंधन देखें।) प्रतिक्रिया की पुष्टि करती है कि कुंजी बनाई गई थी:

कुंजियों की सूची बनाना

कुंजी गोपनीयताएँ सूची प्रतिक्रिया में नहीं लौटाई जाती हैं, केवल IDs, नाम, और अनुमतियाँ।

एक कुंजी को अक्षम करना

अक्षम करना कुंजी रिकॉर्ड को हटाए बिना तुरंत एक्सेस को रद्द करता है।

एक कुंजी को पुन: उत्पन्न करना

एक मौजूदा कुंजी के लिए एक नई गोपनीयता उत्पन्न करता है। पुरानी गोपनीयता तुरंत अमान्य कर दी जाती है।
प्रतिक्रिया में नई सादा पाठ गोपनीयता शामिल है, केवल एक बार दिखाई दी

डैशबोर्ड में कुंजी प्रबंधन

डैशबोर्ड में कुंजियाँ पृष्ठ उपरोक्त सभी कार्यों के लिए एक UI प्रदान करता है। सूची को देखने के लिए आपको keys:read अनुमति के साथ एक कुंजी चाहिए, और क्रमशः निर्माण / संपादन / अक्षम / पुन: उत्पन्न कार्यों के लिए keys:create / keys:update / keys:disable / keys:regenerate। एक कुंजी की अनुमतियों को संपादित करना (keys:update) एक बनाने (keys:create) से अलग है, इसलिए आप एक ऑपरेटर को कुंजियों को टकसाली करने की क्षमता दे सकते हैं बिना मौजूदा कुंजियों को पुन: स्कोप करने की क्षमता के, या इसके विपरीत। व्यवस्थापक कुंजी इन सभी को कवर करती है। जब आप डैशबोर्ड से एक कुंजी बनाते हैं तो आप गोपनीयता की आपूर्ति नहीं करते हैं; डैशबोर्ड आपके लिए एक मजबूत गोपनीयता उत्पन्न करता है और इसे एक बार निर्माण पर प्रदर्शित करता है। इसे तुरंत कॉपी करें और सुरक्षित रूप से स्टोर करें; यह कभी फिर से दिखाया नहीं जाता है, एक पुन: उत्पन्न के समान ही। आप अभी भी कुंजी की अनुमतियों को सीधे चुन सकते हैं, या एक अनुमति सेट से उन्हें बीजित कर सकते हैं (नीचे देखें)। API कुंजियाँ पृष्ठ: प्रत्येक कुंजी के लिए एक कार्ड इसके नाम, दी गई अनुमतियों, और निर्माण समय के साथ, पुन: उत्पन्न और अक्षम कार्य; admin जैसी संरक्षित कुंजियाँ चिह्नित हैं

अनुशंसित कुंजी लेआउट

नोट: सहायक की कुंजी स्वचालित रूप से बीजित की जाती है सर्वर द्वारा AGENT_API_KEY env 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: कैसे आपका एजेंट कोड प्रमाणीकृत होता है जब ईवेंट भेज रहा हो।
  • सुरक्षा: साइन-इन, एक्सेस नियंत्रण, और प्रति-संगठन डेटा अलगाव कैसे काम करता है।