Vault backend storage용 Zookeeper 구성
Vault backend storage용 Zookeeper 구성
Zookeeper storage backend는 Vault의 데이터를 Zookeeper에 영구 저장하는 데 사용됩니다.
출처: 문서
본문
- 고가용성 – Zookeeper storage backend는 고가용성을 지원합니다.
- 커뮤니티 지원 – Zookeeper storage backend는 커뮤니티가 지원합니다. HashiCorp 직원의 검토를 거쳤지만 기술에 대해 그렇게 잘 알지 못할 수 있습니다. 문제가 발생하면 원저자에게 문의하도록 안내받을 수 있습니다.
storage "zookeeper" {
address = "localhost:2181"
path = "vault/"
}
zookeeper 파라미터
-
address(string: "localhost:2181")– Zookeeper 인스턴스의 주소를 쉼표로 구분된 목록으로 지정합니다. -
path(string: "vault/")– 데이터가 저장될 Zookeeper의 경로를 지정합니다.
다음 선택적 설정을 사용해 zNode ACL을 구성할 수 있습니다:
경고! auth_info와 znode_owner가 모두 설정되지 않으면 backend는 Zookeeper로 인증하지 않고 모든 노드에 OPEN_ACL_UNSAFE ACL을 설정합니다. 이 시나리오에서 Zookeeper에 연결된 누구나 Vault의 znodes를 변경할 수 있고, 잠재적으로 Vault를 서비스 불능 상태로 만들 수 있습니다.
-
auth_info(string: "")– Zookeeper AddAuth 형식의 인증 문자열을 지정합니다. 예를 들어digest:UserName:Password를 사용해digest메커니즘으로 사용자UserName, 비밀번호Password로 인증할 수 있습니다. -
znode_owner(string: "")– 지정하면 Vault는 Zookeeper ACL 형식의 Schema 및 User 부분을 통해 여기 식별된 ACL에 항상 모든 권한(CRWDA)을 설정합니다. 예상 형식은schema:user-ACL-match입니다. 예를 들어:# Access for user "UserName" with corresponding digest "HIDfRvTv623G==" digest:UserName:HIDfRvTv623G==# Access from localhost only ip:127.0.0.1# Access from any host on the 70.95.0.0 network (Zookeeper 3.5+) ip:70.95.0.0/16 -
tls_enabled(bool: false)– Zookeeper backend와의 TLS 통신을 활성화해야 하는지 여부를 지정합니다. -
tls_ca_file(string: "")– Zookeeper 통신에 사용되는 CA 인증서 파일의 경로를 지정합니다. 같은 파일에 여러 CA 인증서를 제공할 수 있습니다. -
tls_cert_file(string: "")(선택 사항) – Zookeeper 통신용 클라이언트 인증서의 경로를 지정합니다. -
tls_key_file(string: "")– Zookeeper 통신용 개인 키의 경로를 지정합니다. -
tls_min_version(string: "tls12")– 사용할 최소 TLS 버전을 지정합니다. 허용되는 값은"tls10","tls11","tls12"또는"tls13"입니다. -
tls_skip_verify(bool: false)– TLS 인증서 검증을 비활성화합니다. 이 옵션 사용은 권장되지 않습니다. -
tls_verify_ip(bool: false)- 이 속성은 'tls_skip_verify'가 false로 설정된 경우에만 작동합니다. 'tls_verify_ip'가 'true'로 설정되면 zookeeper 서버의 IP가 제시된 인증서의 CN/SAN 항목에서 검증됩니다. 'false'로 설정되면 서버의 DNS 이름이 인증서의 CN/SAN 항목에서 검증됩니다.
zookeeper 예시
사용자 지정 주소 및 경로
이 예시는 사용자 지정 포트에서 실행되는 Zookeeper 설치와 통신하고 사용자 지정 경로에 데이터를 저장하도록 Vault를 구성하는 방법을 보여줍니다.
storage "zookeeper" {
address = "localhost:3253"
path = "my-vault-data/"
}
zNode Vault 사용자 전용
이 예시는 "vaultUser" 사용자에게만 접근을 허용하는 ACL을 모든 zNode에 설정하도록 Vault에 지시합니다. Zookeeper의 ACL 모델에 따라 znode_owner의 digest 값은 znode_owner의 사용자와 일치해야 합니다.
storage "zookeeper" {
address = "localhost:2181"
path = "vault/"
auth_info = "digest:vaultUser:a4MvW0ybME4="
znode_owner = "digest:vaultUser:a4MvW0ybME4="
}