OIDC 제공자
OIDC 제공자 (OIDC Provider)
Vault의 OIDC 제공자(OIDC Provider) 기능을 사용하면 Vault를 OpenID Connect(OIDC) 제공자로 동작시켜, 외부 애플리케이션이 Vault를 통해 인증(로그인)할 수 있게 합니다. 즉 Vault가 ID 토큰(ID Token)을 발급해주는 아이덴티티 제공자(IdP) 역할을 하며, Vault의 정책과 엔티티 관리 기능을 활용해 조직 전반의 신원 인증을 중앙화할 수 있습니다.
출처: 문서
본문
OIDC 제공자란
Vault Enterprise의 OIDC 제공자는 OpenID Connect 프로토콜을 구현한 인증 제공자로 동작합니다. 이를 통해 신뢰하는 클라이언트 애플리케이션(신뢰 당사자, Relying Party)이 Vault에게 사용자 인증을 위임하고, 그 결과로 ID 토큰을 받아 로그인할 수 있습니다.
핵심 구성 요소
- 클라이언트 어플리케이션(Client Application) — OIDC 제공자를 신뢰하고 로그인을 위임하는 외부 앱입니다.
- ID 토큰(ID Token) — 사용자 인증 정보와 클레임(claim)을 담는 JWT 형태의 토큰입니다.
- 클레임(Claims) — 토큰에 담기는 사용자 속성(이름, 이메일, 그룹, 정책 등)입니다.
- 발급자(Issuer) — ID 토큰을 발급하는 OIDC 제공자(즉 Vault)의 신원입니다.
동작 방식
- 사용자가 애플리케이션에서 로그인을 요청하면, 애플리케이션이 Vault의 OIDC 제공자로 리다이렉트합니다.
- 사용자는 Vault에서 지원하는 인증 메서드로 인증합니다.
- Vault가 인증 결과를 바탕으로 ID 토큰을 발급합니다.
- 사용자는 이 ID 토큰으로 애플리케이션에 접근합니다.
설정 예시
$ vault auth enable oidc
$ vault write identity/oidc/role/demo \
client_id="demo-app" \
key="default" \
ttl="1h" \
allowed_redirect_uris="http://localhost:8251/callback"
주의사항
- OIDC 제공자는 Vault의 엔티티/그룹/정책 기반 ID 관리와 연동됩니다.
- ID 토큰에 포함할 클레임과 키(서명 키)는 Vault에서 관리합니다.
- 정확한 OIDC 제공자 설정 절차는 Enterprise 버전에 따라 다를 수 있으니 공식 문서를 확인하세요.