InfoGrab Docs

GitLab CI/CD에서 HashiCorp Vault 시크릿 사용

GitLab CI/CD에서 HashiCorp Vault 시크릿 사용에 대해 설명합니다.

GitLab CI/CD에서 HashiCorp Vault 시크릿을 사용할 수 있습니다. ID 토큰 을 사용하여 HashiCorp Vault로 인증 합니다. CI/CD 잡에서 Vault 시크릿을 사용하려면 먼저 Vault 서버를 구성해야 합니다. HashiCorp Vault로 시크릿 인증 및 읽기 튜토리얼에 Vault 구성 및 ID 토큰을 사용한 인증에 대한 자세한 내용이 있습니다. 다음 예에서 vault.example.com 을 Vault 서버의 URL로, gitlab.example.com 을 GitLab 인스턴스의 URL로 교체합니다. Vault 서버 구성 # Vault 서버를 구성하려면: 다음 명령을 실행하여 인증 방법을 활성화합니다. 이 명령은 Vault 서버에 GitLab 인스턴스의 OIDC 디스커버리 URL 을 제공하여 Vault가 공개 서명 키를 가져오고 인증 시 JSON Web Token(JWT)을 검증할 수 있게 합니다: $ vault auth enable jwt $ vault write auth/jwt/config \ oidc_discovery_url= "https://gitlab.example.com" \ bound_issuer= "gitlab.example.com" 특정 경로 및 작업에 대한 액세스를 허용하거나 거부하도록 Vault 서버에 정책을 구성합니다. 이 예에서는 프로덕션 환경에 필요한 시크릿 세트에 대한 읽기 전용 액세스를 부여합니다: vault policy write myproject-production - <# Read-only permission on 'ops/data/production/*' path path "ops/data/production/*" { capabilities = [ "read" ] } EOF Vault 서버에 역할을 구성 하여 역할을 프로젝트나 네임스페이스로 제한합니다. 다음 CI/CD 변수 를 만들어 Vault 서버에 대한 세부 정보를 제공합니다: VAULT_SERVER_URL : https://vault.example.com:8200 과 같은 Vault 서버의 URL. VAULT_AUTH_ROLE : 선택 사항. 인증 시도 시 사용할 역할. 역할이 지정되지 않으면 Vault는 인증 방법이 구성될 때 지정된 기본 역할 을 사용합니다. VAULT_AUTH_PATH : 선택 사항. 인증 방법이 마운트된 경로, 기본값은 jwt . VAULT_NAMESPACE : 선택 사항. 시크릿 읽기 및 인증에 사용할 Vault Enterprise 네임스페이스 . 다음 경우: Vault의 경우 네임스페이스가 지정되지 않으면 root (" / ") 네임스페이스가 사용됩니다. Vault 오픈 소스의 경우 설정이 무시됩니다. HashiCorp Cloud Platform (HCP) Vault의 경우 네임스페이스가 필요합니다. HCP Vault는 기본적으로 admin 네임스페이스를 루트 네임스페이스로 사용합니다. 예를 들어 VAULT_NAMESPACE=admin . 서버 역할 구성 # CI/CD 잡이