정의
HashiCorp Vault는 암호화 관리 시스템입니다. 여기서 말하는 암호는 API 암호화 키, 암호 및 인증서와 같이 액세스를 제어하는 모든 것을 뜻합니다.
Vault는 인증 및 권한 부여 방법으로 제어되는 암호화 서비스를 제공합니다.
Vault의 UI, CLI 또는 HTTP API를 사용하여 비밀 및 기타 민감한 데이터에 대한 액세스를 안전하게 저장 및 관리하고 엄격하게 제어(제한)하고 감시할 수 있습니다.
Vault는 암호 또는 민감한 데이터에 액세스를 제공하기 전에 클라이언트(사용자, 시스템, 앱)를 검증하고 권한을 부여합니다.
개념
핵심 Vault 워크플로우는 다음 네 단계로 구성됩니다.
- 인증 : 클라이언트가 vault에 인증하면 토큰이 생성되어 사정에 구성된 정책과 연결됩니다.
- 검증 : Vault는 Github, LDAP, AppRole 등과 같은 신뢰할 수 있는 타사의 시스템을 가져와서 클라이언트를 검증할 수 있습니다.
- 권한 부여 : 클라이언트가 Vault 보안 정책과 일치하는지 확인합니다. 정책은 Vault에서 특정 경로 및 작업에 대한 액세스를 허용하거나 금지하는 방법을 제공합니다.
- 액세스 : Vault는 클라이언트 ID와 관련된 정책을 기반으로 토큰을 발행하여 비밀, 키 및 암호화 기능에 대한 액세스 권한을 부여합니다.
기능
Vault는 모든 자격 증명을 위한 비밀 정보들을 중앙 집중화하여 한 위치에서 관리하므로 자격 증명에 대한 원치 않는 노출을 줄입니다.
이러한 Vault의 주요 기능은 다음과 같습니다.
- 보안 비밀 저장소 : 임의의 키 와 값 비밀을 Vault에 저장할 수 있습니다. Vault는 이러한 비밀을 영구 저장소에 저장하기 전에 암호화하므로 단순히 저장소에 대한 액세스 권한을 얻는 것만으로는 보안 정보에 접근하기가 어렵습니다.
- 동적 비밀 : Vault는 AWS 또는 SQL 데이터베이스와 같은 일부 시스템에 대한 주문형 암호를 생성할 수 있습니다. 예를 들어 애플리케이션이 S3 버킷에 액세스해야 하는 경우 Vault에 자격 증명을 요청하고 Vault는 요청 시 유효한 권한이 있는 AWS 키 값을 생성합니다. 이러한 동적 비밀을 생성한 후 Vault는 키 값의 유효기간이 종료된 후 자동으로 이를 삭제합니다.
- 데이터 암호화 : Vault는 데이터를 저장하지 않고 암호화 및 해독할 수 있습니다. 이를 통해 보안 팀은 암호화된 매개변수를 정의하고 개발자는 자체 암호화 방법을 설계하지 않고도 SQL 데이터베이스와 같은 위치에 암호화된 데이터를 저장할 수 있습니다.
- 임대 및 갱신 : Vault의 모든 비밀에는 유효기간이 있습니다. 유효기간이 끝나면 Vault는 해당 비밀을 자동으로 취소합니다. 클라이언트는 내장 갱신 API를 통해 임대를 갱신할 수 있습니다.