Vault 인증 메서드

Vault 인증 메서드 (Auth Methods)

Vault에 접근하려면 먼저 인증을 거쳐야 해요. 인증은 사람 또는 머신이 제시한 정보를 내부·외부 시스템에 대조해 검증하는 과정이에요. 이 과정을 수행하는 게 **인증 메서드(auth method)**인데, Vault 자체가 인증을 압수하지 않고 적절히 위임해요.

출처: https://developer.hashicorp.com/vault/docs/concepts/auth

인증 메서드를 보면 결국 토큰으로 귀결되는 구조예요. 클라이언트가 인증 메서드로 로그인하면, Vault는 그 결과로 토큰을 동적으로 생성해서 돌려줘요. 이 토큰은 인증 메서드에서 넘어온 아이덴티티·그룹 정보를 바탕으로 정책과 연결되고, 그 토큰으로 이후의 시크릿 접근이 이루어져요. 그래서 "어떤 인증 방법을 쓰든 결국은 토큰 관리"라는 관점이 통하는 거예요.

Vault가 지원하는 인증 메서드는 다양해요.

  • 토큰(token): 가장 기본. 다른 인증 수단으로 로그인하기 전에도 직접 토큰을 발급해 쓸 수 있어요.
  • Username/Password (userpass): Vault에 사용자를 직접 만들어 로그인.
  • LDAP / Active Directory: LDAP 서버와 연동해 인증을 위임.
  • JWT/OIDC, GitHub, Azure, AWS, Kubernetes, AppRole 등: 각 플랫폼·아이덴티티 제공자와 통합.

인증 메서드는 path로 마운트되고, 활성화·조회·삭제가 가능해요. 예를 들어 userpass 인증 메서드 아래에 사용자를 만들고 정책을 붙이는 건 이렇게 해요.

$ vault auth enable userpass
$ vault write auth/userpass/users/sethvargo \
    password="s3cr3t!" \
    policies="dev-readonly,logs"

토큰 인증 백엔드는 특별해요. 이건 토큰을 생성·저장하는 백엔드이고 비활성화할 수 없어요. 토큰을 직접 만들 수 있는 유일한 인증 메서드이기도 해요. 사용자가 외부 인증으로 로그인하면, 그 뒤에 발생하는 일은 본질적으로 "토큰 저장소가 토큰을 발급하는" 흐름이에요.

인증 메서드를 고를 땐 "우리 팀/플랫폼이 이미 믿는 아이덴티티 소스"가 뭔지를 기준으로 하면 좋아요. 클라우드에서 돌고 있으면 해당 클라우드의 IAM·OIDC를, 온프렘 AD가 기준이면 LDAP을, 머신간 통신이면 AppRole이나 JWT를 쓰는 식이에요.

더 알아보기