Le 3 chiavi di cui la maggior parte delle implementazioni ha bisogno
Inizia da qui. Consulta il catalogo completo dei permessi qui sotto solo quando hai bisogno di una chiave più ristretta e personalizzata. Vedi anche Layout di chiave consigliato e Creazione di chiavi.
Permessi
Il server applica un catalogo fisso di permessi; ognuno controlla specifiche rotte HTTP. Una chiave amministratore li contiene tutti; una chiave limitata contiene il sottoinsieme che concedi al momento della creazione. Le stringhe di permesso sconosciute vengono rifiutate quando viene creata una chiave.Nota: Due permessi validi sono solo per umani/dashboard e non possono essere concessi a una chiave API:orgs:admin(amministrazione dell’istanza, solo per operatori) ekeys:update. Una richiesta aPOST /keysoPATCH /keys/:idche tenta di concedere uno di questi viene rifiutata con HTTP 422. Vedi la rigakeys:updatedi seguito per capire perché una chiave bearer può creare chiavi ma mai modificarle.
Ingestione e interrogazione di eventi
Sessioni e valutazioni
Dashboard
Query salvate (compositore SQL)
Assistente AI
Chiavi API
Utenti del dashboard
Questi permessi supportano la pagina Utenti del dashboard, dove gli ambiti concessi di ogni membro sono mostrati come chip:

Impostazioni operative

Avvisi e incidenti
Audit
Nota: Per concedere a una chiave la superficie di audit, assegna esplicitamente audits:* a essa. Vedi Note di aggiornamento e compatibilità all’indietro per come i beneficiari esistenti sono stati migrati al rilascio di Audits.
L’endpoint del selettore dei destinatariGET /alerts/recipients(che elenca le email dei membri che un editor di avvisi può notificare) è raggiungibile da un titolare di uno qualsiasi traalerts:readoalerts:write, così gli editor di avvisi possono popolare il selettore senza essere assegnati ausers:read.
Un visualizzatore di dashboard ha bisogno di entrambidashboards:read(per caricare le viste salvate) eevaluations:read(le metriche di salute vengono calcolate dai dati di valutazione). Assegnadashboards:writeper consentire a un utente di creare o modificare dashboard edashboards:deleteper rimuoverli.
/healthe/auth/*(richiesta OTP, verifica OTP, controllo sessione, logout) sono senza autenticazione per progettazione; sono il flusso di accesso e la sonda di vivacità.GET /access-grantersrichiede una chiave valida ma nessun permesso specifico, in modo che qualsiasi utente registrato possa vedere quali amministratori contattare per i cambiamenti di accesso.
Set di permessi
I set di permessi ti permettono di applicare un ruolo denominato invece di selezionare manualmente i token individuali ogni volta. Invece di selezionare una dozzina di permessi uno per uno per ogni nuovo utente del dashboard o chiave API, scegli un set e tutti assegnati a esso portano una concessione coerente e verificabile. La modifica di un set personalizzato riapplica la nuova concessione a ogni utente già assegnato a esso, quindi un cambiamento di ruolo è una modifica piuttosto che un’operazione su ogni membro. Ogni organizzazione è inizializzata con tre set incorporati:
I tre set incorporati sono immutabili; i loro nomi significano sempre la stessa cosa, quindi
read-only, standard e admin sono sicuri da referenziare in policy e onboarding. Un operatore può creare set personalizzati aggiuntivi per modellare ruoli specifici della tua organizzazione (ad esempio, un ruolo di “autore di dashboard” o un ruolo di “solo collector”).
I set sono presentati nel dashboard e gestiti tramite API su GET /permission-sets (elenco, controllato da users:read) e POST /permission-sets / PUT /permission-sets/:name / DELETE /permission-sets/:name (creazione, modifica, eliminazione di un set personalizzato, controllato da settings:write). L’eliminazione o la modifica di un set incorporato viene rifiutata.
L’appartenenza al set è ciò che supporta due altre funzionalità:
DEFAULT_USER_PERMISSIONS(la concessione preselezionata quando un amministratore apre + nuovo utente) per impostazione predefinita è il setstandard.- Il flag
--setsuagenteye-orgctl(gestione dei membri dell’organizzazione) avvia un membro da un set denominato, che quindi affini con--add/--remove.
Nota: Quando un set include un permesso che non è assegnabile a una chiave (ad esempio un set personalizzato con keys:update), l’inizializzazione di una chiave da quel set elimina i token non assegnabili; il server altrimenti rifiuterebbe la chiave con HTTP 422. Gli utenti del dashboard non sono soggetti a quella restrizione.
Chiave amministratore bootstrap
La chiave amministratore è la credenziale radice singola che consente a un operatore di avviare l’accesso da zero: con essa puoi creare ogni altra chiave limitata, invitare i primi utenti del dashboard e configurare l’istanza prima che esista qualsiasi altra chiave. È l’unica chiave che non crei tramite l’API delle chiavi; è fornita dall’ambiente in modo che il server sia raggiungibile al primo avvio. Imposta la variabile d’ambienteADMIN_KEY sul server. Ad ogni avvio il server inserisce/aggiorna questo valore come una chiave amministratore con tutti i permessi.
Per ruotare: cambia ADMIN_KEY con un nuovo segreto e riavvia il server.
Scoping dell’organizzazione
Le organizzazioni stesse sono create e gestite fuori banda da un operatore, non tramite questa API di chiavi. Il ciclo di vita dell’organizzazione e del membro (creazione/ridenominazione/eliminazione/purga di un’organizzazione; aggiunta/aggiornamento/rimozione di un membro) viene eseguito con la CLIagenteye-orgctl; non esiste un’API HTTP o pulsante del dashboard per ciò. Quello che rimane invariato: le chiavi API per organizzazione vengono comunque create nel dashboard (o tramite questa API di chiavi) dai membri dell’organizzazione.
In un’implementazione multi-org, ogni chiave che un membro dell’organizzazione crea (tramite questa API di chiavi o la pagina Chiavi del dashboard) appartiene a un’organizzazione e può solo leggere o scrivere i dati di quell’organizzazione; l’organizzazione viene timbrata sulla chiave al momento della creazione e applicata ad ogni richiesta. Le due chiavi bootstrap sono l’unica eccezione: la chiave admin (fornita da ADMIN_KEY) e la chiave dashboard-assistant (fornita da AGENT_API_KEY) sono con ambito istanza (non portano alcun’organizzazione). Il dashboard si autentica con la chiave admin in modo da poter rappresentare le richieste per organizzazione per conto dei membri registrati. Le implementazioni single-tenant non hanno bisogno di pensare a questo; tutte le chiavi appartengono all’organizzazione default incorporata.
Creazione di chiavi
Usa la chiave amministratore (o qualsiasi chiave con permessokeys:create) per creare ulteriori chiavi limitate.
Chiave collector (solo ingestione)
Chiave dashboard (sola lettura)
key; scegli un segreto forte e conservalo in modo sicuro. (Il dashboard funziona al contrario: genera un segreto forte per te e lo mostra una sola volta al momento della creazione; vedi Gestione delle chiavi nel dashboard.) La risposta conferma che la chiave è stata creata:
Elenco delle chiavi
Disabilitazione di una chiave
La disabilitazione revoca l’accesso immediatamente senza eliminare il record della chiave.Rigenerazione di una chiave
Genera un nuovo segreto per una chiave esistente. Il vecchio segreto viene invalidato immediatamente.Gestione delle chiavi nel dashboard
La pagina Chiavi nel dashboard fornisce un’interfaccia utente per tutte le operazioni di cui sopra. Hai bisogno di una chiave con permessokeys:read per visualizzare l’elenco e keys:create / keys:update / keys:disable / keys:regenerate per le azioni di creazione/modifica/disabilitazione/rigenerazione rispettivamente. La modifica dei permessi di una chiave (keys:update) è separata dalla creazione di una (keys:create), quindi puoi concedere a un operatore la capacità di creare chiavi senza la capacità di riscrivere le esistenti, o viceversa. La chiave amministratore copre tutti questi.
Quando crei una chiave dal dashboard non fornisci il segreto; il dashboard genera un segreto forte per te e lo visualizza una volta al momento della creazione. Copialo immediatamente e conservalo in modo sicuro; non viene mai più mostrato, esattamente come con una rigenerazione. Puoi comunque selezionare i permessi della chiave direttamente o inizializzarli da un set di permessi (vedi di seguito).

Layout di chiave consigliato
Nota: La chiave dell’assistente è inizializzata automaticamente dal server dalla variabile d’ambienteAGENT_API_KEY(lo stesso segreto che l’agente presenta comeAGENTEYE_API_KEY); non c’è un passaggio manuale di creazione della chiave e nessuna chiave amministratore coinvolta. I suoi permessi sono fissi nel codice sorgente quindi l’ambito non può essere ampliato per errore di configurazione: lettura tra eventi/valutazioni/dashboard, più dashboards-write e queries-read/write/run per il flusso di authoring di “Chiedi AI di scrivere una query”. Tutto il SQL passa comunque attraverso lo stesso ruolo di sola lettura e percorso SQL protetto come una query scritta dall’utente, quindi ciò amplia la superficie di authoring, non la superficie dei dati; le operazioni distruttive (queries:delete,dashboards:delete) rimangono deliberatamente fuori dalla chiave dell’assistente. Come la chiaveadmin, è protetta: non può essere disabilitata o rigenerata tramite l’API delle chiavi, solo ruotata cambiandoAGENT_API_KEYe riavviando. Gli utenti del dashboard inoltre hanno bisogno del permessoagent:useper vedere e usare l’assistente. Se abiliti l’auto-strumentazione, dai all’assistente una chiave separata solo perevents:add.
Note di aggiornamento e compatibilità all’indietro
Ne hai bisogno solo se stai aggiornando un’istanza esistente; le nuove implementazioni possono saltarle.Al rilascio di Audits, i beneficiari esistenti sono stati ampliati lungo le stesse forme di ruolo degli avvisi: ogni utente e set di permessi che contienealerts:readha acquisitoaudits:reade ogni titolare dialerts:writeha acquisitoaudits:write. Le chiavi API esistenti non sono state ampliate. Assegnaaudits:*a una chiave esplicitamente se necessita della superficie di audit.
Le concessioni memorizzate del token legacyalerts:ackvengono analizzate comeincidents:ackin modo che gli on-caller mantengano l’accesso senza ricreate le chiavi. Il token non è più assegnabile dall’editor utente del dashboard; la matrice offre inveceincidents:ack.
Prossimi passi
- Python SDK: come il tuo codice agente si autentica quando invia eventi.
- Sicurezza: come funzionano l’accesso, il controllo degli accessi e l’isolamento dei dati per organizzazione.

