클러스터 관리 프로젝트로 Vault 설치
클러스터 관리 프로젝트로 Vault 설치에 대해 설명합니다.
HashiCorp Vault 는 비밀 관리 솔루션으로 비밀번호, 자격 증명, 인증서 등을 안전하게 관리하고 저장하는 데 사용할 수 있습니다. Vault 설치는 애플리케이션, GitLab CI/CD job 등에 사용되는 자격 증명을 위한 단일 보안 데이터 저장소를 제공하는 데 활용할 수 있습니다. 인프라의 시스템 및 배포에 SSL/TLS 인증서를 제공하는 방법으로도 사용할 수 있습니다. 이러한 모든 자격 증명의 단일 소스로 Vault를 활용하면 모든 민감한 자격 증명 및 인증서에 대한 단일 액세스, 제어 및 감사 가능성 소스를 가짐으로써 더 높은 보안을 제공합니다. 이 기능은 GitLab에 최고 수준의 액세스 및 제어 권한을 부여해야 합니다. 따라서 GitLab이 손상되면 이 Vault 인스턴스의 보안도 손상됩니다. 이 보안 위험을 방지하기 위해 GitLab은 CI와 함께 외부 시크릿 을 활용하기 위해 자체 HashiCorp Vault를 사용하는 것을 권장합니다. 관리 프로젝트 템플릿 에서 만든 프로젝트가 이미 있다고 가정하면 Vault를 설치하려면 helmfile.yaml 에서 이 줄의 주석을 제거해야 합니다: - path: applications/vault/helmfile.yaml 기본적으로 확장 가능한 스토리지 백엔드 없이 기본 Vault 설정을 받습니다. 이것은 간단한 테스트와 소규모 배포에는 충분하지만 확장할 수 있는 방법에 한계가 있으며 단일 인스턴스 배포이므로 Vault 애플리케이션을 업그레이드하면 다운타임이 발생합니다. 프로덕션 환경에서 Vault를 최적으로 사용하려면 Vault의 내부 구조와 구성 방법에 대한 좋은 이해가 이상적입니다. Vault 구성 가이드 , Vault 문서 및 Vault Helm 차트 values.yaml 파일 을 읽어 이를 수행할 수 있습니다. 최소한 대부분의 사용자는 다음을 설정합니다: 주 키의 추가 암호화를 위한 seal . 환경 및 스토리지 보안 요구 사항에 적합한 스토리지 백엔드 . HA 모드 . Vault UI . 다음은 Google Cloud Storage 백엔드를 사용하여 자동 잠금 해제를 위한 Google Key Management Service를 구성하고, Vault UI를 활성화하고, 3개의 pod 복제본으로 HA를 활성화하는 값 파일( applications/vault/values.yaml ) 예시입니다. 아래의 storage 및 seal 구절은 예시이며 환경에 특정한 설정으로 교체해야 합니다. # Vault WebUI 활성화 ui: enabled: true server: # HA 모드에서 안전하지 않기 때문에 내장된 데이터 스토리지 볼륨 비활성화 dataStorage: enabled: false # HA 모드 활성화 ha: enabled: true # 일반 트래픽을 위해 포트 8200에서, 클러스터 간 트래픽을 위해 포트 8201에서 수신하도록 Vault 구성 config: | listener "tcp" { tls_disable = 1 address = "[::]:8200" cl
