콘텐츠로 이동

API 키 관리

이 가이드에서는 Control Center가 사용하는 각 자격 증명이 어디에 보관되는지와 이를 변경하는 방법을 설명합니다.

지금 입력하고 있는 머신에는 아무것도 저장되지 않습니다. 모든 자격 증명은 서버에 있으며, 주어진 요청에 어떤 자격 증명이 응답하는지는 그 뒤에 사람이 있는지에 따라 달라집니다.

자격 증명 보관 위치 사용 주체
내 코드 호스트 / 티켓팅 자격 증명 서버의 0600 시크릿 파일, 사용자 id를 키로 사용 내가 요청하는 모든 것: PR 화면, 에이전트 실행, 이미지
서버의 앱 아이덴티티 같은 파일, 시크릿이 아닌 항목은 server_settings에 추가 사람이 요청하지 않은 작업: 웹훅, PR 폴링, 티켓 동기화
모델 제공업체 키와 OAuth 토큰 서버 자체의 자격 증명 저장소 설치의 모든 워크스페이스에 대해 내장 어댑터가 사용
Slack 봇 토큰 서버의 <dataDir>/<workspaceId>/chat_credentials/ 해당 워크스페이스의 채팅 브리지
외부 CLI 자격 증명 해당 CLI가 사용하는 방식 서버 호스트의 Claude Code

두 가지 GitHub 자격 증명, 그리고 각기 다른 질문에 대한 답

섹션 제목: “두 가지 GitHub 자격 증명, 그리고 각기 다른 질문에 대한 답”
  • 내 자격 증명은 로그인(기기 흐름) 또는 토큰 붙여넣기로 만들어집니다. 이는 내 대신 수행되는 모든 요청에 사용되므로, 나를 대신해 게시된 댓글에는 내 이름이 남습니다. 다른 멤버는 이를 읽을 수 없고, 각자 자신의 자격 증명을 연결합니다
  • 서버의 자격 증명은 운영자가 등록한 GitHub App에서 만들어집니다. 호출자가 없는 모든 요청에 응답하므로, 누군가 떠나거나 토큰을 교체해도 코드 호스트 접근 권한이 사라지지 않습니다

내 자격 증명은 설정 → 워크스페이스 → 프로필 및 신원의 코드 호스팅 카드에서 설정하고, 서버의 자격 증명은 설정 → 서버 → 싱글 사인온의 프로바이더 앱에서 설정합니다. GitHub 통합 설정 과 GitHub App 만들기를 참고하세요.

내장 어댑터가 프로바이더를 직접 인증하며, 그 자격 증명은 서버에 있습니다.

  1. 설정 → 서버 → 모델 제공업체로 이동합니다
  2. 프로바이더 및 모델까지 스크롤합니다
  3. 프로바이더에 연결합니다 — OpenAI, Codex, Cursor, Kimi Code는 브라우저 OAuth를, Anthropic과 나머지는 API 키를 사용합니다

전체 목록과 사용자 지정 엔드포인트 추가 방법은 어댑터와 모델 관리를 참고하세요.

이 자격 증명은 호스트 전역입니다. 키 하나로 설치의 모든 워크스페이스를 지원합니다. OAuth 토큰은 만료되기 전에 갱신됩니다.

외부 어댑터 CLI는 서버 호스트에서 자체 구성에 자체 자격 증명을 보관하며, Control Center는 이를 관리하지 않습니다. Claude Code는 cc_server가 실행되는 머신에서 자체 문서에 나온 방식대로 인증하세요.

어댑터별 환경 변수 대화 상자는 그중 하나에 키를 넣는 곳처럼 보이지만 그렇지 않습니다. 이 대화 상자는 내 기기에 기록하는 반면, 서버는 자체 복사본을 읽고 둘을 연결하는 것은 아무것도 없습니다. 어댑터와 모델 관리를 참고하세요.

설정 → 워크스페이스 → 일반의 티켓팅 카드에는 하나의 결정을 이루는 두 부분, 즉 티켓이 어느 공급업체에 있는지와 그에 대한 자격 증명이 함께 있습니다. 로컬을 선택하면 자격 증명 행이 숨겨집니다 — 로컬 티켓은 이 서버 자체 데이터베이스에 있으므로 인증할 대상이 없습니다.

내 키는 코드 호스트 키와 마찬가지로 사용자 id에 연결되어 서버에 저장됩니다. 서버는 자체 Linear 키를 별도로(프로바이더 앱) 보관하며, 사람이 요청하지 않았을 때 티켓 동기화가 실행되는 기반이 바로 이것입니다. 에이전트의 샌드박스에는 티켓팅 키가 주입되지 않습니다. 에이전트는 Control Center 도구로 티켓을 쓰며, 그 도구들이 외부 트래커에 쓰기 규칙에 묻습니다. Linear 통합 설정을 참고하세요.

  • 내 GitHub 자격 증명: 연결 해제를 누른 다음 다시 로그인하거나 새 토큰을 붙여넣습니다. GitHub에서 이전 토큰을 해지하세요
  • 서버의 앱: 앱의 GitHub 페이지에서 새 개인 키 또는 클라이언트 시크릿을 생성하고, 프로바이더 앱에 붙여넣은 다음 테스트를 누릅니다
  • 모델 제공업체: 해당 행에서 로그아웃(OAuth)하거나 키를 제거한 다음 다시 연결합니다
  • Slack: 연결 대화 상자에서 토큰을 다시 붙여넣습니다. Slack 통합 설정을 참고하세요.

PR 목록은 비어 있는데 curl에서는 내 토큰이 작동합니다

섹션 제목: “PR 목록은 비어 있는데 curl에서는 내 토큰이 작동합니다”

코드 호스팅 행의 부제를 확인하세요. 다른 소스(“이 서버의 앱을 통해”, “환경에서”)를 언급한다면 테스트 중인 자격 증명이 응답하는 자격 증명이 아니며, 내 자격 증명은 저장되지 않은 것입니다.

토큰은 허용되는데 이후 요청이 실패합니다

섹션 제목: “토큰은 허용되는데 이후 요청이 실패합니다”

토큰은 저장된 상태 그대로 검사되므로, 행에는 그 뒤의 계정이 표시됩니다. 하지만 계정만 표시되고 스코프는 표시되지 않습니다. 스코프가 너무 적은 토큰은 연결은 되지만 개별 요청에서 실패합니다. 스코프와 만료를 확인하세요:

터미널 창
curl -H "Authorization: token YOUR_TOKEN" https://api.github.com/user