시크릿 매니저 개요

시크릿 매니저 개요 (Secret Managers Overview)

실서비스에선 API 키 같은 시크릿을 평문 config에 두면 안 돼요. LiteLLM은 Azure Key Vault, Google Secret Manager, Hashicorp Vault, CyberArk Conjur, AWS Secret Manager 같은 곳에서 시크릿을 읽고 쓰는 기능을 지원해요. 시크릿을 중앙 관리 도구에 두면 키 순환과 감사가 쉬워지는 장점이 있어요. 어떤 매니저를 지원하는지, 어떤 설정이 있는지 정리해 볼게요.

출처: 공식문서 Secret Managers

지원하는 시크릿 매니저

LiteLLM이 시크릿 읽기·쓰기에 쓸 수 있는 매니저는 다음과 같아요.

  • AWS Key Management Service
  • AWS Secret Manager
  • Azure Key Vault
  • CyberArk Conjur
  • Google Secret Manager
  • Google Key Management Service
  • Hashicorp Vault

시크릿 매니저 설정

general_settingskey_management_system으로 쓸 매니저를 고르고, key_management_settings에 세부 옵션을 넣어요. 아래는 AWS Secret Manager 예시예요.

general_settings:
  key_management_system: "aws_secret_manager"  # REQUIRED
  key_management_settings:

    # Storing Virtual Keys Settings
    store_virtual_keys: true  # OPTIONAL. Defaults to False, when True will store virtual keys in secret manager
    prefix_for_stored_virtual_keys: "litellm/"  # OPTIONAL. If set, this prefix will be used for stored virtual keys

    # Access Mode Settings
    access_mode: "write_only"  # OPTIONAL. Literal["read_only", "write_only", "read_and_write"]. Defaults to "read_only"

    # Hosted Keys Settings
    hosted_keys: ["litellm_master_key"]  # OPTIONAL. Which env keys you stored on AWS

    # K/V pairs in 1 AWS Secret Settings
    primary_secret_name: "litellm_secrets"  # OPTIONAL. Read multiple keys from one JSON secret on AWS Secret Manager

이 설정에서 특히 눈여겨볼 값은 access_mode예요. 기본은 read_only라서 시크릿을 읽기만 하고, 가상 키를 시크릿 매니저에 저장하고 싶다면 store_virtual_keys: true를 켜서 write_onlyread_and_write로 바꿔줘야 해요. 시크릿이 평문으로 노출되는 걸 줄이려는 목적이라면 읽기 전용 유지가 더 안전해요.

핵심 포인트

  • 시크릿 매니저를 연결하면 OPENAI_API_KEY 같은 환경변수를 외부 저장소에서 읽을 수 있어요.
  • 가상 키(Virtual Keys)도 시크릿 매니저에 저장할 수 있어서 키 관리 정책을 한곳으로 모을 수 있어요.
  • 각 매니저별(aws_kms, azure_key_vault, hashicorp_vault 등) 구체적인 연결 방법은 별도 페이지에 나와 있어요.

더 알아보기 (Learn more)