Skip to main content
API keys는 Failproof AI Observability 서버에 접근할 수 있는 대상을 제어하므로, 컬렉터는 읽기 또는 관리자 권한 없이도 이벤트를 전송할 수 있습니다. 각 키는 하나 이상의 권한을 가지며, 각 권한은 특정 서버 라우트를 제어합니다. 작업에 필요한 최소한의 권한만 부여하세요. 대부분의 배포 환경에서는 세 가지 종류의 키만 생성합니다.

대부분의 배포 환경에서 필요한 3가지 키

여기서 시작하세요. 더 세분화된 커스텀 스코프 키가 필요한 경우에만 아래의 전체 권한 목록을 참조하세요. 권장 키 구성키 생성도 참조하세요.

권한

서버는 고정된 권한 목록을 적용하며, 각 권한은 특정 HTTP 라우트를 제어합니다. 관리자 키는 모든 권한을 보유하며, 스코프 키는 생성 시 부여한 권한의 하위 집합을 보유합니다. 알 수 없는 권한 문자열은 키 생성 시 거부됩니다.
참고: 사람/대시보드 전용으로 유효하여 API key에는 부여할 수 없는 권한이 두 가지 있습니다: orgs:admin(인스턴스 관리, 운영자 전용)과 keys:update. 이 두 권한 중 하나를 부여하려는 POST /keys 또는 PATCH /keys/:id 요청은 HTTP 422로 거부됩니다. bearer 키가 키를 생성할 수 있지만 편집은 불가능한 이유에 대해서는 아래 keys:update 항목을 참조하세요.

이벤트 수집 및 조회

세션 및 평가

대시보드

저장된 쿼리 (SQL 컴포저)

AI 어시스턴트

API Keys

대시보드 사용자

이 권한들은 대시보드의 Users 페이지를 지원하며, 각 멤버의 부여된 스코프가 칩으로 표시됩니다: Users 페이지: 각 대시보드 사용자의 이메일, 부여된 권한, 편집/비활성화 컨트롤이 포함된 카드

운영 설정

Settings 페이지: 허용 로그인 방법, 세션/OTP 유효기간 등 대시보드 관리 운영 설정을 재시작 없이 편집 가능

알림 및 인시던트

감사

참고: 키에 감사 기능을 부여하려면 audits:*를 명시적으로 부여하세요. 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 key마다 수십 개의 권한을 일일이 선택하는 대신 집합을 선택하면, 해당 집합에 할당된 모든 사람이 일관되고 검토 가능한 권한을 보유합니다. 커스텀 집합을 편집하면 이미 할당된 모든 사용자에게 새 권한이 재적용되므로, 역할 변경이 모든 멤버를 일일이 수정하는 대신 한 번의 편집으로 완료됩니다. 모든 조직에는 세 가지 기본 집합이 시드됩니다: 세 가지 기본 집합은 변경 불가합니다. 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 집합으로 설정됩니다.
  • agenteye-orgctl--set 플래그(운영자 멤버 관리)는 명명된 집합에서 멤버를 시작하며, 이후 --add / --remove로 세부 조정할 수 있습니다.
참고: 집합에 키 할당 불가능한 권한이 포함된 경우(예: keys:update를 포함하는 커스텀 집합), 해당 집합에서 키를 시드할 때 할당 불가능한 토큰은 제외됩니다. 그렇지 않으면 서버가 HTTP 422로 키를 거부합니다. 대시보드 사용자에게는 이 제한이 적용되지 않습니다.

부트스트랩 관리자 키

관리자 키는 운영자가 아무것도 없는 상태에서 액세스를 구축할 수 있게 해주는 단일 루트 자격 증명입니다. 이를 통해 다른 모든 스코프 키를 생성하고, 첫 번째 대시보드 사용자를 초대하고, 다른 키가 존재하기 전에 인스턴스를 구성할 수 있습니다. 이 키는 keys API를 통해 생성하지 않는 유일한 키이며, 서버가 처음 부팅 시 접근 가능하도록 환경에서 프로비저닝됩니다. 서버의 ADMIN_KEY 환경 변수를 설정하세요. 모든 시작 시 서버는 이 값을 모든 권한을 가진 관리자 키로 upsert합니다. 교체하려면: ADMIN_KEY를 새 시크릿으로 변경하고 서버를 재시작하세요.

조직 스코핑

조직 자체는 이 keys API가 아닌 운영자가 대역 외에서 생성하고 관리합니다. 조직 및 멤버 생명주기(조직 생성/이름 변경/삭제/제거, 멤버 추가/업데이트/제거)는 agenteye-orgctl CLI로 수행하며, HTTP API나 대시보드 버튼이 없습니다. 변경되지 않는 것은: per-org API keys는 여전히 조직 멤버가 대시보드(또는 이 keys API를 통해) 발행합니다. 멀티 조직 배포에서 조직 멤버가 생성하는 모든 키(이 keys API 또는 대시보드 Keys 페이지를 통해)는 하나의 조직에 속하며 해당 조직의 데이터만 읽거나 쓸 수 있습니다. 조직은 키 생성 시 스탬프되어 모든 요청에서 적용됩니다. 두 가지 부트스트랩 키만 예외입니다: admin 키(ADMIN_KEY에서 시드)와 dashboard-assistant 키(AGENT_API_KEY에서 시드)는 인스턴스 스코프(조직 없음)입니다. 대시보드는 admin 키로 인증하여 로그인한 멤버를 대신해 per-org 요청을 프록시합니다. 단일 테넌트 배포는 이를 신경 쓸 필요가 없으며, 모든 키는 기본 제공 default 조직에 속합니다.

키 생성

관리자 키(또는 keys:create 권한을 가진 키)를 사용하여 추가적인 스코프 키를 생성하세요.

컬렉터 키 (수집 전용)

대시보드 키 (읽기 전용)

HTTP API로 키를 생성할 때는 key 값을 직접 제공합니다. 강력한 시크릿을 선택하고 안전하게 보관하세요. (대시보드는 반대 방식으로 동작합니다: 강력한 시크릿을 생성하여 생성 시 한 번만 표시합니다. 대시보드의 키 관리를 참조하세요.) 응답은 키가 생성되었음을 확인합니다:

키 목록 조회

키 시크릿은 목록 응답에서 반환되지 않으며, ID, 이름, 권한만 반환됩니다.

키 비활성화

비활성화는 키 레코드를 삭제하지 않고 즉시 액세스를 취소합니다.

키 재생성

기존 키의 새 시크릿을 생성합니다. 이전 시크릿은 즉시 무효화됩니다.
응답에는 새 평문 시크릿이 포함되며, 한 번만 표시됩니다.

대시보드의 키 관리

대시보드의 Keys 페이지는 위의 모든 작업을 위한 UI를 제공합니다. 목록을 보려면 keys:read 권한이 있는 키가 필요하고, 생성/편집/비활성화/재생성 작업에는 각각 keys:create / keys:update / keys:disable / keys:regenerate가 필요합니다. 키의 권한 편집(keys:update)은 키 생성(keys:create)과 별개이므로, 운영자에게 기존 키의 스코프 변경 없이 키 발행 권한만 부여하거나, 그 반대도 가능합니다. 관리자 키는 이 모든 것을 포함합니다. 대시보드에서 키를 생성할 때 시크릿을 직접 입력하지 않습니다. 대시보드가 강력한 시크릿을 생성하여 생성 시 한 번 표시합니다. 즉시 복사하여 안전하게 보관하세요. 재생성과 마찬가지로 다시는 표시되지 않습니다. 키의 권한을 직접 선택하거나 권한 집합에서 시드할 수 있습니다(아래 참조). API Keys 페이지: 각 키의 이름, 부여된 권한, 생성 시간이 표시된 카드, 재생성 및 비활성화 액션 포함; admin 같은 보호된 키는 표시됨

권장 키 구성

참고: 어시스턴트 키는 서버가 AGENT_API_KEY 환경 변수(에이전트가 AGENTEYE_API_KEY로 제공하는 동일한 시크릿)에서 자동으로 시드합니다. 수동 키 발행 단계나 관리자 키가 필요하지 않습니다. 권한은 소스 코드에 고정되어 잘못된 구성으로 스코프가 확장되지 않습니다: 이벤트/평가/대시보드 읽기, 대시보드 쓰기, 쿼리 읽기/쓰기/실행(AI에게 쿼리 작성 요청 흐름용). 모든 SQL은 여전히 사용자 작성 쿼리와 동일한 읽기 전용 역할 및 보호된 SQL 경로를 거치므로, 이는 데이터 표면이 아닌 작성 표면을 확장합니다. 파괴적 작업(queries:delete, dashboards:delete)은 의도적으로 어시스턴트 키에서 제외됩니다. admin 키와 마찬가지로 보호됨: keys API를 통해 비활성화하거나 재생성할 수 없으며, AGENT_API_KEY를 변경하고 재시작해야만 교체됩니다. 대시보드 사용자는 어시스턴트를 보고 사용하려면 추가로 agent:use 권한이 필요합니다. 자체 계측을 활성화하는 경우, 어시스턴트에게 별도의 events:add 전용 키를 부여하세요.

업그레이드 및 하위 호환성 참고사항

기존 인스턴스를 업그레이드하는 경우에만 필요합니다. 신규 배포는 건너뛰어도 됩니다.
Audits 출시 시, 기존 권한 보유자는 알림과 동일한 역할 형태에 따라 확장되었습니다: alerts:read를 보유한 모든 사용자 및 권한 집합은 audits:read를 획득했고, alerts:write 보유자는 audits:write를 획득했습니다. 기존 API keys는 확장되지 않았습니다. 감사 기능이 필요한 키에는 audits:*를 명시적으로 부여하세요.
레거시 alerts:ack 토큰의 저장된 권한 부여는 incidents:ack로 파싱되어, 온콜 담당자가 키 재발행 없이 액세스를 유지합니다. 이 토큰은 더 이상 대시보드 사용자 편집기에서 할당할 수 없으며, 대신 incidents:ack가 제공됩니다.

다음 단계

  • Python SDK: 에이전트 코드가 이벤트를 전송할 때 인증하는 방법.
  • Security: 로그인, 액세스 제어, per-organization 데이터 격리 작동 방식.