프로젝트 소개
Vault는 HashiCorp의 비밀 관리 도구입니다. 비밀(secret)이란 API 키, 비밀번호, 인증서 및 유사한 자격 증명과 같이 액세스를 엄격히 통제하려는 모든 것을 의미합니다. Vault는 모든 비밀에 대해 통합 인터페이스를 제공하면서 엄격한 액세스 제어와 상세한 감사 로그를 제공합니다.
README에 설명된 주요 기능:
- 안전한 비밀 저장소: Vault는 임의의 키/값 쌍을 저장하고 영구 저장소에 쓰기 전에 데이터를 암호화하므로 원시 저장소에 대한 액세스만으로는 비밀을 읽을 수 없습니다. 디스크, Consul 및 기타 백엔드에 쓸 수 있습니다.
- 동적 비밀: Vault는 AWS 또는 SQL 데이터베이스와 같은 시스템에 대해 요청 시 비밀을 생성할 수 있습니다. 예를 들어, 애플리케이션이 S3 버킷에 대한 자격 증명을 요청하면 Vault는 유효한 권한이 있는 AWS 키페어를 주문형으로 생성하고 임대가 만료된 후 자동으로 폐기합니다.
- 데이터 암호화: Vault는 데이터를 저장하지 않고 암호화하고 복호화할 수 있으므로 보안 팀은 암호화 매개변수를 정의하고 개발자는 자체 암호화를 설계하지 않고 SQL 데이터베이스와 같은 곳에 암호화된 데이터를 저장할 수 있습니다.
- 임대 및 갱신: 각 비밀에는 임대가 연결되어 있습니다. 임대가 끝나면 Vault는 자동으로 비밀을 폐기하며, 클라이언트는 내장된 갱신 API를 통해 임대를 갱신할 수 있습니다.
- 폐기: Vault는 단일 비밀 또는 비밀 트리(예: 특정 사용자가 읽은 모든 비밀 또는 특정 유형의 모든 비밀)를 폐기하는 것을 지원하므로 키 순환 및 침입 후 시스템 잠금에 도움이 됩니다.
README는 HashiCorp 학습 플랫폼의 문서, 시작 가이드, 튜토리얼 및 인증 시험과 함께 다양한 언어로 애플리케이션에서 Vault와 상호 작용하기 위한 예제 저장소 및 샘플 애플리케이션을 안내합니다.
개발 측면에서 Vault는 Go로 작성되었습니다. README는 Go 설치 및 GOPATH/GOBIN 설정, GOPATH 외부에서 저장소 복제, `make bootstrap`으로 부트스트래핑하는 방법을 설명합니다. 개발 빌드는 `make` 또는 `make dev`로 생성되고, UI 빌드는 `make static-dist dev-ui`로 생성됩니다. 테스트는 `make test`(Docker 필요)로 실행되며, 패키지별 테스트는 TEST 변수로 실행할 수 있습니다. 인수 테스트는 `make testacc`로 실행되며 실제 리소스를 생성, 수정 또는 삭제할 수 있으므로 주의해서 실행해야 합니다. 저장소는 또한 `sdk/helper/testcluster/docker` 패키지를 사용하는 실험적인 Docker 기반 테스트 메커니즘을 문서화하며, 사용자 지정 바이너리 및 Enterprise 라이선스 옵션을 포함합니다.
저장소는 `github.com/hashicorp/vault/api` 및 `github.com/hashicorp/vault/sdk`라는 두 가지 가져올 수 있는 라이브러리를 게시합니다. README는 기본 Vault 제품을 종속성으로 가져오는 것은 지원되는 사용 사례가 아니라고 언급합니다. 보안 문제는 security@hashicorp.com에 책임 있게 공개해야 합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.