시크릿 매니저 활용하기
시크릿 매니저 활용하기
LiteLLM은 여러 모델 프로바이더의 API 키 같은 시크릿(비밀값) 을 별도 장소에 보관했다가 필요할 때 읽어 쓰는 걸 돕는 도구예요. 이 장에서는 시크릿 매니저가 왜 필요한지, 그리고 LiteLLM이 어떤 식으로 시크릿을 읽고 쓸 수 있는지를 하나씩 짚어볼게요.
출처: 공식문서
시크릿 매니저란
시크릿 매니저는 API 키 같은 비밀값을 코드나 설정 파일에 평문으로 두지 않고, 별도의 안전한 저장소에 보관해 주는 서비스예요. LiteLLM은 이런 시크릿 매니저에서 시크릿을 읽고(예: OPENAI_API_KEY) 쓸 수도 있어요(예: 가상 키 저장).
지원하는 시크릿 매니저로는 다음과 같은 것들이 있어요:
- 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: 사용할 시크릿 매니저를 지정하는 필수 값이에요(예:aws_secret_manager).key_management_settings: 시크릿 매니저 동작을 세밀하게 조정하는 옵션들이 담겨 있어요.store_virtual_keys:true로 두면 가상 키를 시크릿 매니저에 저장해요. 기본값은false예요.prefix_for_stored_virtual_keys: 시크릿 매니저에 저장되는 가상 키에 붙는 접두사를 지정해요(예:litellm/).access_mode: 접근 방식을 정하는데,read_only,write_only,read_and_write중 하나를 써요. 기본값은read_only예요.hosted_keys: 어떤 환경변수 키를 외부 시크릿 매니저에 보관했는지 나열해요(예:litellm_master_key).primary_secret_name: 하나의 JSON 시크릿에서 여러 키를 읽고 싶을 때 그 시크릿 이름을 지정해요.
팀별 시크릿 매니저 설정
팀 단위로 각자 자신만의 키 관리 설정을 가져갈 수도 있어요. 이 설정은 해당 팀에 묶인 가상 키를 만들 때 사용돼요.
- 팀 만들기: Teams 페이지에서
Create Team을 눌러 모달을 엽니다. - 고급 설정 펼치기:
Additional Settings토글을 켜 고급 구성 패널을 엽니다. - 시크릿 매니저 구성: Secret Manager Settings 패널에 프로바이더별 JSON을 붙여 넣습니다.
- 팀 저장: 입력을 확인하고 Create Team으로 저장하면, LiteLLM이 이후 이 구성을 사용합니다.
지원되는 프로바이더별 키 값은 각 프로바이더 페이지(AWS, Azure, Google, Hashicorp 등)에서 확인할 수 있어요. 지금은 JSON 형식만 지원하지만, 더 편한 UI 편집기는 계획 중이에요.
더 알아보기
- 시크릿 관리는 Enterprise 기능이므로 라이선스가 필요해요.
- 어떤 시크릿 매니저를 쓸지에 따라 각 프로바이더 페이지를 참고하세요.
- 관련해서 마스터 키 회전과 가상 키 문서도 함께 보면 전체 그림이 잡혀요.