InfoGrab DocsInfoGrab Docs

GitLab Secrets Manager (OpenBao)

GitLab Secrets Manager (OpenBao)에 대해 설명합니다.

히스토리 GitLab 18.8에서 실험으로 도입 되었으며, GitLab 18.8의 클로즈드 베타 에서 일부 초기 테스터에게 제공되었습니다. GitLab Secrets Manager 는 오픈 소스 시크릿 관리 솔루션인 OpenBao 를 사용합니다. OpenBao는 GitLab 인스턴스에서 사용되는 시크릿에 대해 안전한 저장, 액세스 제어, 라이프사이클 관리를 제공합니다. GitLab Secrets Manager에서 시크릿을 사용하는 GitLab CI/CD 잡은 GitLab Runner 18.6 이상을 사용해야 합니다. OpenBao 아키텍처 # OpenBao는 기존 GitLab 서비스와 병렬로 실행되는 선택적 컴포넌트로 GitLab과 통합됩니다. Rails 백엔드와 러너는 로드 밸런서를 통해 OpenBao API에 연결합니다. OpenBao는 데이터를 PostgreSQL에 저장합니다. Helm 차트는 동일한 PostgreSQL 인스턴스의 별도 논리 데이터베이스를 사용하도록 OpenBao를 구성합니다. Helm 차트의 global.openbao.psql 을 사용하여 연결을 구성합니다. OpenBao는 시크릿 저장소에서 unseal 키를 가져옵니다. OpenBao는 Helm 차트가 마운트한 Kubernetes 시크릿에서 unseal 키를 읽습니다. 감사 로그가 활성화된 경우 OpenBao는 Rails 백엔드에 감사 로그를 게시합니다. Mermaid 다이어그램 (16줄) 소스 코드 보기 flowchart TB SecretStore[Secret store] PostgreSQL[PostgreSQL] LB[Load balancer] OpenBao[OpenBao active node] Rails[Rails backend] Runner[GitLab Runner] Workhorse[Workhorse] Rails-- Write secrets and permissions -->LB Runner-- Get pipeline secrets -->LB LB-->OpenBao OpenBao-- Get unseal key -->SecretStore OpenBao-- Store -->PostgreSQL OpenBao-- Audit logs -->Workhorse Workhorse-->Rails</code></pre></details></div> OpenBao는 모든 요청을 처리하는 단일 활성 노드로 실행되며, 선택적으로 활성 노드가 실패할 경우 대신하는 여러 대기 노드도 있습니다. OpenBao 설치 # 사전 요구 사항: 관리자 액세스 권한. GitLab 18.8 이상. Linux 패키지 인스턴스와 함께 OpenBao를 설치하는 경우 GitLab 19.0 이상. Kubernetes 클러스터. Cloud Native GitLab 배포의 경우 외부(비 Omnibus) PostgreSQL 인스턴스. 외부 PostgreSQL 인스턴스는 Open