토큰과 API 키 보호
토큰이나 API 키가 외부로 노출되면 제삼자가 해당 토큰의 사용자 맥락으로 Foundry에 접근할 수 있습니다. 생성 목적, 유효 기간과 저장 위치를 관리하고 노출을 보안 사고로 취급해야 합니다.
토큰 종류
| 종류 | 저장 및 유효 범위 |
|---|---|
| 사용자 생성 토큰 | 사용자의 권한 범위에서 플랫폼 앱에 API 접근을 허용합니다. 생성 시 TTL을 지정할 수 있으며 만료되면 사용할 수 없습니다. |
| 세션 토큰 | 브라우저의 PALANTIR_TOKEN 쿠키에 저장하는 임시 토큰입니다. 생성 시 TTL을 자동 부여하며 기본값은 16시간입니다. 만료되면 폐기됩니다. |
| 데이터 연결 coordinator 토큰 | 에이전트를 Foundry에 인증합니다. 기본 저장 위치는 {BOOTVISOR_DIRECTORY}/var/data/coordinator-token.json이며 에이전트에 한정된 접근을 허용합니다. |
사용자 생성 토큰으로 다른 사용자 생성 토큰을 만들 수는 없습니다. 새 개인 토큰 생성에는 세션 토큰이 필요합니다.
새 데이터 연결 에이전트의 배포 tarball에는 시간 제한 토큰이 삽입됩니다. 설치 파일 자체에도 인증 정보가 있으므로 민감한 자료로 취급합니다. SQL 데이터베이스 같은 원천 인증 정보를 구성하면 에이전트가 추가 비밀을 로컬에 저장하거나 캐시할 수 있습니다.
안전한 취급
- 다른 사용자에게 토큰을 주거나 공개 게시하지 않습니다.
- 로컬 개발에서는 코드와 분리한 환경 변수 사용을 우선 고려합니다.
- Dotfile에 저장한다면 버전 관리에서 제외합니다.
- 토큰을 명령행 인수에 직접 넣거나 스크립트와 프로그램에 하드코딩하지 않습니다.
- 쓰지 않거나 필요 없는 토큰을 폐기합니다.
- 개인 토큰에는 목적에 맞는 합리적인 TTL을 설정합니다.
- 브라우저 쿠키를 다른 기기와 동기화하는 기능을 사용하지 않습니다.
- 브라우저 확장 프로그램 수를 최소화합니다.
운영 애플리케이션에 개인 토큰을 사용하는 제한과 발급 절차는 사용자 생성 토큰, 운영 앱의 인증은 OAuth를 참조합니다.
노출 시 대응
공개 저장소 등에 토큰을 실수로 올리거나 허가되지 않은 시스템에서 접근할 수 있게 한 경우에는 즉시 해당 토큰을 비활성화 또는 폐기하고 조직 정보보안팀에 알립니다.
개인 토큰은 Settings의 Tokens 화면에서 Revoke로 폐기합니다. 현재 세션 토큰을 폐기하려면 해당 Foundry 인스턴스에서 로그아웃합니다. 에이전트 등의 다른 인증 정보가 함께 노출되었는지도 확인하고 담당 보안팀과 조치 범위를 정합니다.
GitHub 공개 저장소의 자동 폐기 시도
Palantir 정보보안팀은 GitHub.com 공개 저장소에 노출된 토큰을 식별하면 자동 폐기를 시도하는 서비스를 운영합니다. 자동 폐기가 수행되어도 사용자에게 알릴 수 없으며, 해당 Foundry 인스턴스가 서비스에서 네트워크로 접근되지 않으면 폐기에 실패할 수 있습니다.
이 서비스의 탐지나 성공을 기다리지 말고 노출을 발견한 사용자가 직접 즉시 대응해야 합니다. 진행 중인 사고의 연락 경로는 취약점과 보안 문제 신고를 참조합니다.