비밀번호 정책

비밀번호 정책 (Password Policies)

Vault의 비밀번호 정책(Password Policies) 기능은 Vault가 생성하는 비밀번호(예: 동적 시크릿, 데이터베이스 자격 증명, 사용자 생성 때 만드는 비밀번호)의 강도와 형식을 제어할 수 있게 해주는 기능입니다. 비밀번호 정책을 정의하면 조직의 보안 요구사항에 맞는 비밀번호를 일관되게 생성할 수 있습니다.

출처: 문서

본문

비밀번호 정책이란

비밀번호 정책은 Vault가 생성하는 임시 비밀번호의 구성을 미리 정의한 규칙입니다. 정책은 규칙(rule)들의 조합으로 작성되며, 길이, 문자 종류(소문자, 대문자, 숫자, 특수문자), 허용/금지 문자, 규칙 적용 방식 등을 지정할 수 있습니다.

정책 구성 요소

  • 길이(length) — 생성되는 비밀번호의 최소/최대 길이
  • 규칙(rule) — 문자 집합과 그 역할을 정의. 예: charset(문자 집합), repeated(반복 금지), sequence(연속 금지) 등
  • 규칙 공간(rule space) — 여러 규칙이 각각 몇 자리 이상을 차지해야 하는지

정책 작성 예시

HCL 형태로 정책을 작성합니다.

length = 20

rule "charset" {
  charset = "abcdefghijklmnopqrstuvwxyz"
  min-chars = 1
}

rule "charset" {
  charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  min-chars = 1
}

rule "charset" {
  charset = "0123456789"
  min-chars = 1
}

이 정책은 20자리 비밀번호를, 소문자·대문자·숫자를 각각 최소 1자 이상 포함하도록 생성합니다.

적용 방법

작성한 정책을 Vault에 등록한 뒤, 이를 사용할 시크릿 엔진/인증 메서드에 연결합니다.

$ vault write sys/policies/password/example policy='@policy.hcl'
$ vault write database/roles/my-role password_policy="example"

주의사항

  • 비밀번호 정책은 Vault가 생성하는 비밀번호에만 적용됩니다(사용자가 직접 입력하는 비밀번호에는 적용되지 않을 수 있습니다).
  • 정책에 사용 가능한 규칙과 문법은 버전에 따라 다를 수 있으니 공식 문서를 확인하세요.

더 알아보기 (Learn more)