[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 형식은 원본 문서를 참고해 주세요.

더 알아보기 (Learn more)