[BETA] OpenID Connect
[BETA] OpenID Connect (OIDC)
LiteLLM은 업스트림 서비스 인증에 OpenID Connect (OIDC)를 지원해요. 이 방식을 쓰면 설정 파일에 민감한 자격 증명을 저장하지 않아도 됩니다.
참고: 이 기능은 베타(Beta) 상태예요.
출처: 문서
본문
OIDC 식별자 공급자 (Identity Provider, IdP)
LiteLLM은 다음과 같은 OIDC 신원 공급자를 지원해요.
| 공급자 | 설정 이름 (Config Name) | 커스텀 Audiences |
|---|---|---|
| Google Cloud Run | google |
예 |
| CircleCI v1 | circleci |
아니요 |
| CircleCI v2 | circleci_v2 |
아니요 |
| GitHub Actions | github |
예 |
| Azure Kubernetes Service | azure |
아니요 |
| Azure AD | azure |
예 |
| File | file |
아니요 |
| 환경 변수 (Environment Variable) | env |
아니요 |
| 환경 경로 (Environment Path) | env_path |
아니요 |
다른 OIDC 공급자를 사용하고 싶다면 GitHub에 이슈를 열어 주세요.
팁:
file,env,env_path공급자는 정말로 필요한 경우가 아니라면 사용하지 마세요. 다른 공급자들로 해결될 가능성이 매우 높아요.
OIDC 신뢰 당사자 (Relying Party, RP)
LiteLLM은 다음 OIDC 신뢰 당사자/클라이언트를 지원해요.
- Amazon Bedrock
- Azure OpenAI
- (준비 중) Google Cloud Vertex AI
OIDC 설정하기 (Configuring OIDC)
비밀 키를 사용할 수 있는 모든 곳에서 OIDC를 그 자리에 사용할 수 있어요. 일반 형식은 다음과 같아요.
oidc/config_name_here/audience_here
audience 파라미터를 사용하지 않는 공급자는 (되도록) 생략할 수 있어요.
oidc/config_name_here/
비공식 공급자 (권장하지 않음)
비공식 file 공급자는 다음 형식을 사용해요. (슬래시가 두 개인 점에 주의 — oidc/file/ 뒤의 경로는 절대 경로여야 해요.)
oidc/file//var/run/secrets/my-token
안전을 위해, 해석된(resolved) 경로가 허용된 자격 증명 디렉터리 안에 있어야 해요. 기본적으로 다음 디렉터리가 허용됩니다.
/var/run/secrets/run/secrets
배포가 다른 곳에 자격 증명을 마운트한다면 LITELLM_OIDC_ALLOWED_CREDENTIAL_DIRS 환경 변수를 쉼표로 구분된 절대 디렉터리 목록으로 설정해요. 이 값은 기본 목록을 대체하므로, 기본 목록도 계속 필요하면 함께 포함해야 해요.
export LITELLM_OIDC_ALLOWED_CREDENTIAL_DIRS="/var/run/secrets,/etc/litellm/creds"
심볼릭 링크와 ..를 따라 해석된 경로가 허용 목록 밖이면 거부됩니다.
비공식 env는 다음 형식을 사용하며, SECRET_TOKEN은 토큰을 담고 있는 환경 변수의 이름이에요.
oidc/env/SECRET_TOKEN
비공식 env_path는 다음 형식을 사용하며, SECRET_TOKEN은 토큰이 담긴 파일의 경로를 담고 있는 환경 변수의 이름이에요.
oidc/env_path/SECRET_TOKEN
혹시 oidc/env_path/AZURE_FEDERATED_TOKEN_FILE을 쓰고 싶다면 하지 마세요. 대신 oidc/azure/를 사용하면, Azure가 OIDC 설정을 바꾸거나 새 기능을 추가하더라도 LiteLLM의 지속적인 지원을 받을 수 있어요.
Google Cloud Run → Amazon Bedrock
mod... (자격 증명 예시 계속)
구체적인 엔드투엔드 예시(Google Cloud Run → Bedrock, Azure OpenAI 등)와 각 공급자별 audience 형식은 원본 문서를 참고해 주세요.