HashiCorp Vault는 시크릿을 관리하고 중요한 데이터를 보호할 수 있는 ID 기반 시크릿 및 암호화 관리 시스템입니다. UI, CLI 또는 HTTP API를 사용하여 시크릿과 기타 민감한 데이터를 보호하기 위해 토큰, 비밀번호, 인증서 및 암호화 키에 대한 액세스를 안전하게 저장하고 엄격하게 제어합니다.
☑️ Vault 개요
"Secure applications identities and protect sensitive data"
HashiCorp Vault는 ID 기반 시크릿 및 암호화 관리 시스템입니다. 인증 및 권한 부여 방법으로 게이트되는 암호화 서비스를 제공하여 시크릿에 대한 안전하고 감사 가능하며 제한된 액세스를 보장합니다 .
시크릿은 토큰, API 키, 비밀번호, 암호화 키 또는 인증서와 같이 액세스를 엄격하게 제어하려는 모든 것입니다. Vault는 모든 시크에 대한 통합 인터페이스를 제공하는 동시에 엄격한 액세스 제어를 제공하고 자세한 감사 로그를 기록합니다. 외부 서비스를 위한 API 키, 서비스 지향 아키텍처 통신을 위한 자격 증명 등. 누가 어떤 시크릿에 액세스하는지 이해하기 어려울 수 있습니다. 특히 이는 플랫폼에 따라 다를 수 있기 때문입니다. 키 롤링, 보안 스토리지, 자세한 감사 로그를 추가하는 것은 사용자 지정 솔루션 없이는 거의 불가능합니다. 이때 Vault가 등장합니다. Vault는 시크릿이나 저장된 민감한 데이터에 대한 액세스를 제공하기 전에 클라이언트(사용자, 컴퓨터, 앱)를 검증하고 권한을 부여합니다.
☑️ Vault 작동 방식
Vault는 주로 토큰과 함께 작동하며 토큰은 클라이언트의 정책과 연결됩니다. 각 정책은 경로 기반이며 정책 규칙은 각 클라이언트의 경로에 대한 작업과 접근성을 제한합니다. Vault를 사용하면 토큰을 수동으로 생성하여 클라이언트에 할당하거나 클라이언트가 로그인하여 토큰을 얻을 수 있습니다. 아래 그림은 Vault의 핵심 워크플로를 보여줍니다.
핵심 Vault 워크플로는 4단계로 구성됩니다.
☑️ Vault를 선택해야 하는 이유
오늘날 대부분의 기업은 조직 전체에 걸쳐 자격 증명을 흩뿌리고 있습니다. 비밀번호, API 키 및 자격 증명은 일반 텍스트, 앱 소스 코드, 구성 파일 및 기타 위치에 저장됩니다. 이러한 자격 증명은 어디에나 있기 때문에, 이러한 흩뿌림으로 인해 누가 무엇에 대한 액세스 권한과 권한을 가지고 있는지 실제로 아는 것이 어렵고 두려울 수 있습니다. 자격 증명을 일반 텍스트로 보관하면 내부 및 외부 공격자 모두에 의한 악의적인 공격의 가능성도 커집니다.
Vault는 이러한 과제를 염두에 두고 설계되었습니다. Vault는 이러한 모든 자격 증명을 가져와 중앙 집중화하여 한곳에서 정의함으로써 자격 증명에 대한 원치 않는 노출을 줄입니다. 하지만 Vault는 사용자, 앱 및 시스템이 인증되고 리소스에 액세스할 수 있도록 명시적으로 허가되도록 하는 동시에 클라이언트 작업의 기록을 캡처하고 보존하는 감사 추적을 제공하여 몇 단계 더 나아갑니다.
Vault의 주요 기능은 다음과 같습니다.
☑️ Vault 기대 효과
Vault는 자격 증명과 기타 시크릿 정보를 지속적으로 보호하고, 디지털 자산을 검사하여 보안이 취약한 시크릿 정보를 확인하며, 승인된 기기 간의 안전한 연결을 유지합니다.
☑️ Vault 사용 사례
Vault의 일반적인 사용 사례를 소개해드립니다.
일반 시크릿 저장소(General secret storage)
워크로드가 점점 더 덧없고 수명이 짧아짐에 따라, 장기 정적 자격 증명을 갖는 것은 큰 보안 위협 벡터가 됩니다. 자격 증명이 실수로 유출되거나, 직원이 AWS 액세스 키가 포함된 포스트잇을 가지고 떠나거나, 누군가가 S3 액세스 토큰을 공개 GH 리포에 체크인하면 어떻게 될까요? Vault를 사용하면 만료되면 자동으로 해지되는 단기 적시 자격 증명을 생성할 수 있습니다. 즉, 사용자와 보안 팀은 이러한 자격 증명을 수동으로 해지하거나 변경하는 것에 대해 걱정할 필요가 없습니다.
· 정적 시크릿(Static Secrets) : 자격 증명은 오래 지속되고 정적일 수 있으며, 변경되지 않거나 드물게 변경됩니다. Vault는 이러한 시크릿을 암호화 장벽 뒤에 저장할 수 있으며, 클라이언트는 이를 애플리케이션에서 사용하도록 요청할 수 있습니다.
· 동적 시크릿(Dynamic Secrets) : 시크릿 저장소의 핵심 가치는 자격 증명을 동적으로 생성하는 기능입니다. 이러한 자격 증명은 클라이언트가 필요할 때 생성됩니다. Vault는 또한 이러한 자격 증명의 수명 주기를 관리할 수 있으며, 여기에는 정의된 기간 후 삭제하는 것이 포함되지만 이에 국한되지 않습니다.
데이터 암호화(Data encryption)
많은 조직이 클라우드 또는 다중 데이터 센터 환경 내에서 애플리케이션 데이터를 암호화/복호화하는 솔루션을 찾고 있습니다. 암호화를 배포하고 복잡한 키 관리 인프라를 유지하는 것은 비용이 많이 들고 개발하기 어려울 수 있습니다. Vault는 중앙 집중식 키 관리와 함께 암호화를 서비스로 제공하여 전송 중인 데이터와 클라우드 및 데이터 센터에 저장된 데이터를 암호화하는 것을 간소화합니다. Vault는 다른 곳에 저장된 데이터를 암호화/복호화할 수 있으므로 기본적으로 애플리케이션이 데이터를 암호화하는 동시에 기본 데이터 저장소에 저장할 수 있습니다. Vault의 보안 팀은 Vault 환경 내에서 데이터 암호화의 책임을 관리하고 유지하므로 개발자는 필요에 따라 데이터 암호화/복호화에만 집중할 수 있습니다.
ID 기반 액세스(Identity-Based access)
조직은 다양한 클라우드, 서비스 및 시스템의 확산으로 인해 ID 확산을 관리할 방법이 필요합니다. 이 모든 것이 ID 공급자와 함께 이루어집니다. 조직이 여러 클라우드 플랫폼에서 단일 논리적 ID를 통합하기 위한 솔루션을 구현하려고 하면서 여러 ID 관리 시스템을 관리해야 하므로 조직의 보안 인프라가 손상될 위험이 커집니다. 다양한 플랫폼은 ID에 대한 다양한 방법과 구성을 지원하므로 여러 형태의 자격 증명에서 사용자 또는 ID를 인식하기 어렵습니다. Vault는 통합 ACL 시스템을 사용하여 시스템 및 시크릿에 대한 액세스를 중개하고 공급자 간에 ID를 병합하여 이러한 과제를 해결합니다. ID 기반 액세스를 통해 조직은 신뢰할 수 있는 리소스 ID를 활용하여 다양한 클라우드, 시스템 및 엔드포인트에서 시스템 및 애플리케이션 액세스와 인증을 규제하고 관리할 수 있습니다.
키 관리(Key management)
클라우드 공급자와 협력하려면 공급자가 발행하고 자체 키 관리 시스템(KMS)에 저장하는 암호화 키를 포함하는 보안 기능을 사용해야 합니다. 클라우드 내부와 외부에서 신뢰 루트와 암호화 키 수명 주기 제어를 유지해야 할 수도 있습니다. Vault Key Management Secrets Engine은 클라우드 공급자 키의 배포 및 수명 주기 관리를 위한 일관된 워크플로를 제공하여 조직이 KMS 공급자의 기본 암호화 기능을 활용하면서 Vault에서 키에 대한 중앙 집중식 제어를 유지할 수 있도록 합니다.
▶ 하시코프 볼트(HashiCorp Vault) : 자세히보기
HashiCorp Vault는 인증과 인가를 기반으로 민감한 정보를 안전하게 관리하는 ID 기반의 시크릿 및 암호화 관리 시스템입니다. 토큰, API 키, 비밀번호, 암호화 키, 인증서 등 민감 정보를 통합된 인터페이스에서 일관되게 관리할 수 있으며, 접근 제어와 감사 로그 기능을 통해 보안을 강화합니다. 시크릿은 플랫폼별로 분산되어 관리되기 쉬우며, 누가 어떤 정보에 접근하는지 파악하기 어렵고, 키 순환이나 안전한 저장, 상세한 로깅 등의 기능을 자체적으로 구현하기는 쉽지 않습니다. Vault는 이러한 문제를 해결하기 위해 사용자, 애플리케이션, 시스템 등의 클라이언트를 검증하고 인가한 후에만 민감한 데이터에 접근할 수 있도록 지원합니다.
클라우드네트웍스는 전담팀을 통해 테라폼, 볼트를 포함한 하시코프 제품군의 구축 및 기술지원 서비스를 제공합니다. 하시코프에 대한 문의사항은 공식 파트너사인 클라우드네트웍스로 연락 부탁드립니다.