InfoGrab DocsInfoGrab Docs

Secrets Manager 개발 가이드라인

GitLab Secrets Manager의 구조와 개발 시 알아야 할 패턴을 설명합니다.

GitLab Secrets Manager는 오픈 소스 시크릿 관리 엔진인 OpenBao에 시크릿을 저장합니다. GitLab은 OpenBao를 백킹 서비스로 실행하고 Rails 서비스 계층을 통해 관리합니다. 모든 Secrets Manager 코드는 GitLab Enterprise Edition(EE) 전용이며 ee/ 아래에 있습니다. 기능 카테고리는 secrets_management 입니다. 작업에 맞는 페이지를 읽습니다. 동작하는 GitLab Development Kit(GDK) 환경을 만들려면 Secrets Manager 로컬 설정 을 참조합니다. 데이터 모델, OpenBao 네임스페이스 구성, GitLab이 러너에 보내는 내용은 Secrets Manager 아키텍처 를 참조합니다. Secrets Manager 변경을 작성하거나 검토하기 전에 Secrets Manager 변경 가이드라인 을 참조합니다. 프로비저닝, 프로비저닝 해제, 시크릿 쓰기, 등록, 권한을 변경하기 전에 Secrets Manager 상태 및 부수 효과 를 참조합니다. 체험판, 청구, 권한 확인, 읽기 전용 동작을 변경하기 전에 Secrets Manager 이행 및 권한 을 참조합니다. 네임스페이스 및 인스턴스 등록과 사용 가능 여부가 이를 사용하는 방식은 Secrets Manager 등록 을 참조합니다. 서비스를 추가하거나 변경하려면 Secrets Manager 서비스 를 참조합니다. 타입, 뮤테이션, 리졸버를 추가하거나 변경하려면 Secrets Manager GraphQL API 를 참조합니다. 클라이언트, JWT, Common Expression Language(CEL) 프로그램, 액세스 제어 목록(ACL) 정책은 Secrets Manager OpenBao 클라이언트 및 인증 을 참조합니다. 백그라운드 워커, cron job, 인가 정책, 감사 로그는 Secrets Manager 워커 및 정책 을 참조합니다. CI job 가져오기, 시크릿 쓰기, OpenBao 호출과 같은 핫 패스를 변경하기 전에 Secrets Manager 성능 을 참조합니다. 스펙 헬퍼, 팩토리, 공유 예시, Kubernetes 테스트는 Secrets Manager 테스트 를 참조합니다. Vue 애플리케이션과 그 스펙을 작업하려면 Secrets Manager 프론트엔드 개발 을 참조합니다. 페이지가 설명하는 동작을 변경한다면 같은 머지 리퀘스트에서 해당 페이지를 업데이트합니다. 전체 구성 # GitLab은 시크릿 값을 PostgreSQL에 저장하지 않습니다. 값은 OpenBao에 있습니다. PostgreSQL에는 프로비저닝 상태와 OpenBao 마운트 구성을 추적하는 ProjectSecretsManager 및 GroupSecretsManager 레코드가 있습니다. Secrets Manager가 활성화된 각 프로젝트나 그룹은 자체 OpenBao 네임스페이스를 갖습니다. 예를 들어 네임스페이스 경로는 org_1/group_2/project_1 과 같은 형태일 수 있습니다. OpenBao 네임스