Skip to main content
As chaves de API controlam quem e o que pode acessar seu servidor de Observabilidade do Failproof AI, permitindo que um coletor envie eventos sem nunca obter poderes de leitura ou administração. Cada chave carrega uma ou mais permissões, e cada permissão controla rotas específicas do servidor; você concede apenas as que uma tarefa precisa. A maioria das implantações cria apenas três tipos de chave.

Os 3 tipos de chaves que a maioria das implantações precisa

Comece por aqui. Consulte o catálogo completo de permissões abaixo somente quando precisar de uma chave mais restrita com escopo personalizado. Veja também Layout recomendado de chaves e Criando chaves.

Permissões

O servidor aplica um catálogo fixo de permissões; cada uma controla rotas HTTP específicas. Uma chave admin possui todas elas; uma chave com escopo possui o subconjunto que você concede na criação. Strings de permissão desconhecidas são rejeitadas ao criar uma chave.
Nota: Duas permissões válidas são exclusivas para humanos/painel e não podem ser concedidas a uma chave de API: orgs:admin (administração da instância, que é exclusiva do operador) e keys:update. Uma requisição a POST /keys ou PATCH /keys/:id que tente conceder qualquer uma delas é rejeitada com HTTP 422. Veja a linha keys:update abaixo para entender por que uma chave bearer pode criar chaves, mas nunca editá-las.

Ingestão e consulta de eventos

Sessões e avaliações

Painéis

Consultas salvas (compositor SQL)

Assistente de IA

Chaves de API

Usuários do painel

Essas permissões sustentam a página Usuários do painel, onde os escopos concedidos a cada membro são exibidos como chips: A página Usuários: um card por usuário do painel com seu e-mail, permissões concedidas e controles de edição/desativação

Configurações operacionais

A página Configurações: configurações operacionais gerenciadas pelo painel, como logins permitidos e tempos de vida de sessão/OTP, editáveis sem reinicialização

Alertas e incidentes

Auditorias

Nota: Para conceder a uma chave acesso à superfície de auditorias, conceda audits:* explicitamente. Veja Notas de atualização e compatibilidade retroativa para saber como os detentores existentes foram migrados quando as Auditorias foram lançadas.
O endpoint seletor de destinatários GET /alerts/recipients (que lista os e-mails de membros que um editor de alertas pode notificar) é acessível por um detentor de either alerts:read or alerts:write, para que editores de alertas possam popular o seletor sem precisar de users:read.
Um visualizador de painéis precisa de ambos dashboards:read (para carregar as visualizações salvas) e evaluations:read (as métricas de saúde são calculadas a partir de dados de avaliação). Conceda dashboards:write para permitir que um usuário crie ou edite painéis, e dashboards:delete para removê-los.
/health e /auth/* (requisição OTP, verificação OTP, verificação de sessão, logout) são sem autenticação por design; são o fluxo de login e a sonda de disponibilidade. GET /access-granters requer uma chave válida, mas nenhuma permissão específica, para que qualquer usuário conectado possa ver quais admins contatar sobre alterações de acesso.

Conjuntos de Permissões

Os conjuntos de permissões permitem aplicar um papel nomeado em vez de selecionar tokens individuais a cada vez. Em vez de selecionar uma dúzia de permissões uma a uma para cada novo usuário do painel ou chave de API, você escolhe um conjunto, e todos os atribuídos a ele carregam uma concessão consistente e revisável. Editar um conjunto personalizado reaaplica a nova concessão a todos os usuários já atribuídos a ele, portanto uma alteração de papel é uma única edição em vez de uma varredura por todos os membros. Cada organização é inicializada com três conjuntos embutidos: Os três conjuntos embutidos são imutáveis; seus nomes sempre significam a mesma coisa, portanto read-only, standard e admin são seguros para referenciar em políticas e onboarding. Um operador pode criar conjuntos personalizados adicionais para modelar papéis específicos da sua organização (por exemplo, um papel de “autor de painel” ou um papel de “somente coletor”). Os conjuntos são exibidos no painel e gerenciados pela API em GET /permission-sets (listar, protegido por users:read) e POST /permission-sets / PUT /permission-sets/:name / DELETE /permission-sets/:name (criar, editar, excluir um conjunto personalizado, protegido por settings:write). Excluir ou editar um conjunto embutido é recusado. A associação a conjuntos sustenta dois outros recursos:
  • DEFAULT_USER_PERMISSIONS (a concessão pré-selecionada quando um admin abre + novo usuário) usa como padrão o conjunto standard.
  • A flag --set no agenteye-orgctl (gerenciamento de membros pelo operador) inicia um membro a partir de um conjunto nomeado, que você então ajusta com --add / --remove.
Nota: Quando um conjunto inclui uma permissão que não é atribuível a chaves (por exemplo, um conjunto personalizado contendo keys:update), ao criar uma chave a partir desse conjunto, os tokens não atribuíveis são descartados; caso contrário, o servidor rejeitaria a chave com HTTP 422. Usuários do painel não estão sujeitos a essa restrição.

Chave Admin de Bootstrap

A chave admin é a credencial raiz única que permite a um operador inicializar o acesso do zero: com ela você pode criar todas as outras chaves com escopo, convidar os primeiros usuários do painel e configurar a instância antes de qualquer outra chave existir. É a única chave que você não cria pela API de chaves; ela é provisionada a partir do ambiente para que o servidor seja acessível na primeira inicialização. Defina a variável de ambiente ADMIN_KEY no servidor. A cada inicialização, o servidor faz um upsert desse valor como uma chave admin com todas as permissões. Para rotacionar: altere ADMIN_KEY para um novo segredo e reinicie o servidor.

Escopo de organização

As organizações em si são criadas e gerenciadas fora de banda por um operador, não por esta API de chaves. O ciclo de vida de organizações e membros (criar / renomear / excluir / purgar uma organização; adicionar / atualizar / remover um membro) é feito com o CLI agenteye-orgctl; não há API HTTP ou botão no painel para isso. O que permanece inalterado: chaves de API por organização ainda são criadas no painel (ou via esta API de chaves) por membros da organização. Em uma implantação multi-organização, toda chave criada por um membro da organização (por esta API de chaves ou pela página Keys do painel) pertence a uma organização e só pode ler ou escrever os dados daquela organização; a organização é carimbada na chave na criação e aplicada em cada requisição. As duas chaves de bootstrap são a única exceção: a chave admin (originada do ADMIN_KEY) e a chave dashboard-assistant (originada do AGENT_API_KEY) têm escopo de instância (não carregam organização). O painel se autentica com a chave admin para poder fazer proxy de requisições por organização em nome dos membros conectados. Implantações de locatário único não precisam se preocupar com isso; todas as chaves pertencem à organização default embutida.

Criando Chaves

Use a chave admin (ou qualquer chave com permissão keys:create) para criar chaves com escopo adicionais.

Chave de coletor (somente ingestão)

Chave de painel (somente leitura)

Ao criar uma chave pela API HTTP, você fornece o valor de key você mesmo; escolha um segredo forte e armazene-o com segurança. (O painel funciona de forma diferente: ele gera um segredo forte para você e o exibe uma vez na criação; veja Gerenciamento de Chaves no Painel.) A resposta confirma que a chave foi criada:

Listando Chaves

Os segredos das chaves não são retornados nas respostas de listagem, apenas IDs, nomes e permissões.

Desativando uma Chave

Desativar revoga o acesso imediatamente sem excluir o registro da chave.

Regenerando uma Chave

Gera um novo segredo para uma chave existente. O segredo antigo é invalidado imediatamente.
A resposta inclui o novo segredo em texto simples, exibido apenas uma vez.

Gerenciamento de Chaves no Painel

A página Keys no painel fornece uma interface para todas as operações acima. Você precisa de uma chave com permissão keys:read para visualizar a lista, e keys:create / keys:update / keys:disable / keys:regenerate para as ações de criar / editar / desativar / regenerar, respectivamente. Editar as permissões de uma chave (keys:update) é separado de criá-la (keys:create), portanto você pode conceder a um operador a capacidade de criar chaves sem a capacidade de reconfigurar as existentes, ou vice-versa. A chave admin cobre todas essas operações. Ao criar uma chave pelo painel, você não fornece o segredo; o painel gera um segredo forte para você e o exibe uma vez na criação. Copie-o imediatamente e armazene-o com segurança; ele nunca será exibido novamente, exatamente como em uma regeneração. Você ainda pode escolher as permissões da chave diretamente, ou inicializá-las a partir de um conjunto de permissões (veja abaixo). A página Chaves de API: um card por chave mostrando seu nome, permissões concedidas e hora de criação, com ações de regenerar e desativar; chaves protegidas como admin são marcadas

Layout Recomendado de Chaves

Nota: A chave do assistente é inicializada automaticamente pelo servidor a partir da variável de ambiente AGENT_API_KEY (o mesmo segredo que o agente apresenta como AGENTEYE_API_KEY); não há etapa manual de criação de chave nem envolvimento da chave admin. Suas permissões são fixas no código-fonte para que o escopo não possa ser ampliado por má configuração: leitura de eventos / avaliações / painéis, mais gravação em painéis e leitura / escrita / execução de consultas para o fluxo de criação de “Pedir à IA para escrever uma consulta”. Todo SQL ainda passa pelo mesmo papel somente leitura e caminho SQL protegido de uma consulta escrita pelo usuário, portanto isso amplia a superfície de autoria, não a superfície de dados; operações destrutivas (queries:delete, dashboards:delete) são deliberadamente mantidas fora da chave do assistente. Como a chave admin, ela é protegida: não pode ser desativada ou regenerada pela API de chaves, apenas rotacionada alterando AGENT_API_KEY e reiniciando. Os usuários do painel adicionalmente precisam da permissão agent:use para ver e usar o assistente. Se você habilitar a auto-instrumentação, dê ao assistente uma chave separada somente com events:add.

Notas de atualização e compatibilidade retroativa

Você só precisa dessas informações se estiver atualizando uma instância existente; novas implantações podem ignorá-las.
Quando as Auditorias foram lançadas, os detentores existentes tiveram seus acessos ampliados seguindo os mesmos formatos de papel dos alertas: todo usuário e conjunto de permissões com alerts:read ganhou audits:read, e todo detentor de alerts:write ganhou audits:write. As chaves de API existentes não foram ampliadas. Conceda audits:* a uma chave explicitamente se ela precisar da superfície de auditorias.
Concessões armazenadas do token legado alerts:ack são interpretadas como incidents:ack para que os plantões mantenham o acesso sem precisar trocar as chaves. O token não é mais atribuível pelo editor de usuários do painel; a matriz oferece incidents:ack em seu lugar.

Próximos passos

  • Python SDK: como o código do seu agente se autentica ao enviar eventos.
  • Segurança: como o login, controle de acesso e isolamento de dados por organização funcionam.