내용으로 건너뛰기

API 키

API 키는 Capgo API로 요청을 인증하기 위해 사용됩니다. 키는 조직에 특정되며 RBAC 역할 assignments를 통해 세부적인 접근 제어를 위해 할당할 수 있습니다. 각 키는 선택적 유효 기간을 가질 수 있으며, 평문 값이 단 한번만 표시되는 “secure” (해시된) 키로 생성될 수 있습니다.

API 키를 사용합니다.

API 키를 사용하는 방법

API 키를 패스워드 필드에 입력하세요. x-api-key 요청의 헤더

터미널 창
curl -H "x-api-key: YOUR_API_KEY" https://api.capgo.app/...

이 헤더는 JWT 토큰에 대한 헤더로도 받아들여지지만, authorization API 형식의 UUID 키일 때만 작동합니다. x-api-key 모든 키 유형(보안/해시 키 포함)에서 권장되는 헤더입니다.

역할 기반 접근 제어(RBAC) 권한

역할 기반 접근 제어(RBAC) 권한에 관한 섹션

API 키는 사용자 계정과 동일한 역할 기반 접근 제어(RBAC) 시스템을 사용합니다. 웹 앱을 통해 키를 생성하거나 관리할 때, 두 가지 레벨에서 역할을 Assign합니다.

  • 조직 역할 — 조직 전체에 대한 키의 기본 권한을 정의합니다. (예: org_admin, org_member).
  • 앱 역할 — 옵션 앱 권한 (예: app_admin, app_developer, app_uploader, app_reader).

만약 API 키에 명시적인 역할 바인딩이 있다면 만들어진 바인딩만 권한 확인에 사용되는 권한입니다. 키 소유자의 개인 권한은 키에 상속되지 않습니다.

RBAC API 키 권한이 어떻게 작동하는지 설명하는 다이어그램

Secure (Hashed) Keys

Secure (Hashed) Keys

보안 키를 생성할 때 서버는 키 자료를 생성하고 평문 값을 한 번만 반환합니다. 저장되는 것은 해시만입니다. 따라서:

  • 평문 키 __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__. __CAPGO_KEEP_0__는 생성 후 획득할 수 없습니다.
  • __CAPGO_KEEP_0__는 생성 후 획득할 수 없습니다.

__CAPGO_KEEP_0__는 생성 후 획득할 수 없습니다. enforce_hashed_api_keys __CAPGO_KEEP_0__는 생성 후 획득할 수 없습니다.

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

  • __CAPGO_KEEP_0__ (require_apikey_expiration__CAPGO_KEEP_0__
  • 최대 TTL (max_apikey_expiration_days__CAPGO_KEEP_0__일 이내의 기간이 아닙니다.

보안 최적화

보안 최적화
  1. 최소 권한: 사용자 통합을 작동시키는 데 필요한 최소한의 권한을 할당하세요.
  2. 정기적인 키 회전: API 키를 정기적으로 갱신하기 위해 regenerate 기능을 사용하세요.
  3. 안전한 저장: API 키를 안전하게 저장하고 버전 관리에 포함시키지 마세요.
  4. 해시된 키 사용: 프로덕션 통합에 대한 안전한 (해시된) 키를 생성하세요.
  5. 만료 설정: 임시 또는 CI/CD 액세스에 사용되는 키에 항상 만료 날짜를 설정하십시오.
  6. 범위 제한: 특정 앱에 대한 키를 제한하고 필요한 역할만 허용하십시오

공통 사용 사례

일반적인 사용 사례
  1. CI/CD 통합: 특정 앱에 대한 키를 만들 수 있습니다. app_uploader or app_developer 역할을 선택하고 만료일을 설정합니다.
  2. 배포 자동화: __CAPGO_KEEP_0__ 키를 사용하여 app_developer 자동화 배포 스크립트의 역할
  3. 모니터링 도구: 키를 만들기 위해 사용 app_reader 외부 모니터링 통합의 역할
  4. 관리자 접근 권한: 키를 사용하여 org_admin 관리자 도구의 역할로 사용할 때
  5. 세 번째 파티 통합: 특정 앱에 제한된 키를 만들기 위해 필요한 역할로 사용