시크릿 매니저 개요
시크릿 매니저 개요 (Secret Managers Overview)
실서비스에선 API 키 같은 시크릿을 평문 config에 두면 안 돼요. LiteLLM은 Azure Key Vault, Google Secret Manager, Hashicorp Vault, CyberArk Conjur, AWS Secret Manager 같은 곳에서 시크릿을 읽고 쓰는 기능을 지원해요. 시크릿을 중앙 관리 도구에 두면 키 순환과 감사가 쉬워지는 장점이 있어요. 어떤 매니저를 지원하는지, 어떤 설정이 있는지 정리해 볼게요.
지원하는 시크릿 매니저
LiteLLM이 시크릿 읽기·쓰기에 쓸 수 있는 매니저는 다음과 같아요.
- AWS Key Management Service
- AWS Secret Manager
- Azure Key Vault
- CyberArk Conjur
- Google Secret Manager
- Google Key Management Service
- Hashicorp Vault
시크릿 매니저 설정
general_settings의 key_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_only나 read_and_write로 바꿔줘야 해요. 시크릿이 평문으로 노출되는 걸 줄이려는 목적이라면 읽기 전용 유지가 더 안전해요.
핵심 포인트
- 시크릿 매니저를 연결하면
OPENAI_API_KEY같은 환경변수를 외부 저장소에서 읽을 수 있어요. - 가상 키(Virtual Keys)도 시크릿 매니저에 저장할 수 있어서 키 관리 정책을 한곳으로 모을 수 있어요.
- 각 매니저별(aws_kms, azure_key_vault, hashicorp_vault 등) 구체적인 연결 방법은 별도 페이지에 나와 있어요.