튜토리얼: HashiCorp Vault로 시크릿 인증 및 읽기
튜토리얼: HashiCorp Vault로 시크릿 인증 및 읽기에 대해 설명합니다.
이 튜토리얼은 GitLab CI/CD에서 HashiCorp의 Vault로 인증하고, 구성하고, 시크릿을 읽는 방법을 보여줍니다. 사전 요구 사항 # 이 튜토리얼은 GitLab CI/CD와 Vault에 익숙하다고 가정합니다. 따라하려면 다음이 필요합니다: GitLab 계정. 인증 구성, 역할 및 정책 생성을 위한 실행 중인 Vault 서버(최소 v1.2.0) 접근 권한. HashiCorp Vault의 경우 오픈 소스 또는 엔터프라이즈 버전일 수 있습니다. Note 다음 예시의 vault.example.com URL을 Vault 서버의 URL로 교체하고, gitlab.example.com 을 GitLab 인스턴스의 URL로 교체해야 합니다. Vault 구성 # Warning JWT는 자격 증명으로, 리소스에 대한 접근 권한을 부여할 수 있습니다. 붙여넣는 위치에 주의하세요! 스테이징 및 프로덕션 데이터베이스 비밀번호를 Vault 서버에 저장하는 시나리오를 생각해 보세요. 이 시나리오는 KV v2 시크릿 엔진을 사용한다고 가정합니다. KV v1 을 사용하는 경우, 다음 정책 경로에서 /data/ 를 제거하고 CI/CD 작업 구성 방법 을 참조하세요. vault kv get 명령으로 비밀번호를 검색할 수 있습니다. $ vault kv get -field=password secret/myproject/staging/db pa$ $w0rd $ vault kv get -field=password secret/myproject/production/db real-pa$ $w0rd 스테이징 비밀번호는 pa$$w0rd 이고, 프로덕션 비밀번호는 real-pa$$w0rd 입니다. Vault 서버를 구성하려면 먼저 JWT Auth 방법을 활성화합니다: $ vault auth enable jwt Success! Enabled jwt auth method at: jwt/ 그런 다음 이러한 시크릿을 읽을 수 있는 정책을 생성합니다(각 시크릿별로 하나씩): $ vault policy write myproject-staging - << EOF # Policy name: myproject-staging # # Read-only permission on 'secret/data/myproject/staging/*' path path "secret/data/myproject/staging/*" { capabilities = [ "read" ] } EOF Success! Uploaded policy: myproject-staging $ vault policy write myproject-production - < # Policy name: myproject-production # # Read-only permission on 'secret/data/myproject/production/*' path path "secret/data/myproject/production/*" { capabilities = [ "read" ] } EOF Success! U
