클라우드 환경에서는 TLS 인증서, 암호화 키, API 토큰과 같은 민감 정보가 필수적으로 사용됩니다. 이러한 데이터는 안전하게 보관하고, 필요할 때만 접근할 수 있도록 하는 것이 보안의 핵심입니다.

Barbican은 OpenStack 환경에서 이러한 역할을 전담하는 Key Management Service(KMS)입니다. Kubernetes의 Secret이 클러스터 내부 민감 정보를 관리한다면, Barbican은 OpenStack 전역을 대상으로 민감 정보를 관리합니다.
Barbican은 OpenStack 전반에서 민감 정보를 안전하게 관리하는 중앙 집중형 서비스입니다.
특징
구성 요소
다음 명령어는 my-secret이라는 이름으로 비밀번호를 Barbican에 저장하는 예시입니다.
openstack secret store \
--name "my-secret" \
--payload "my-secret-password" \
--payload-content-type text/plain
--name : 시크릿 이름
--payload : 저장할 실제 데이터
--payload-content-type : 데이터 타입

Barbican의 Container는 관련된 Secret을 하나의 그룹으로 관리할 수 있도록 합니다.
Generic 타입
단순히 여러 Secret을 묶어서 관리하는 용도로 사용됩니다.
openstack secret container create --name "yukyung-container" \
--type generic \
--secret "my_key_1=<Secret URL>" \
--secret "my_key_2=<Secret URL>"
–type generic : 구조를 인식하지 않고 단순 묶음

Certificate 타입
TLS/SSL 인증서 세트를 구조적으로 묶어서 관리하는 용도로 사용됩니다.
openstack secret container create --name "yukyung-container" \
--type certificate \
--secret "certificate=<Secret URL>" \
--secret "private_key=<Secret URL>"
–type certificate : 인증서 구조 인식

고정 슬롯
Certificate 타입 컨테이너는 로드밸런서 HTTPS 리스너 설정 시 직접 지정할 수 있습니다.
openstack loadbalancer listener create \
--name my-https-listener \
--protocol HTTPS \
--protocol-port 443 \
--default-tls-container-ref <컨테이너 href> \
<로드밸런서 ID>