개인 키 관리에 제3자 키 관리 사용하기

개인 키 관리에 제3자 키 관리 사용하기 (Managed Keys)

일부 환경에서는 개인 키 자료를 처리·저장·상호작용할 때 Vault 외부의 키 관리 시스템(KMS)을 활용하기 원하거나, 표준 요구사항에 따라 그러해야 합니다. Vault는 이러한 요구를 충족하기 위해 Managed Keys라는 중앙 추상화를 제공하며, 다양한 시크릿 엔진이 여기에 연결되어 이러한 작업을 신뢰할 수 있는 외부 KMS에 위임할 수 있습니다.

출처: 문서

본문

최소한 관리 키(managed key)는 sys/managed-key API로 관리되는 이름이 있는 관리 키 항목으로 구성됩니다. 이름 외에도 해당 키에 접근하기 위한 백엔드별 구성이 있습니다.

PKCS#11(HSM) 기반 관리 키의 경우, 관리 키 구성은 호스트 머신의 PKCS#11 접근 라이브러리를 가리키는 kms_library 스탠자를 참조해야 합니다.

구성된 이름 있는 관리 키는 백엔드 내 단일 키에 해당합니다. API로 여러 관리 키를 만들어 단일 백엔드를 대상으로 여러 관리 키를 구성할 수도 있습니다.

네임스페이스 지원

구성된 모든 관리 키는 주어진 네임스페이스에 바인딩되며, 기본값은 루트 네임스페이스입니다. 시크릿 엔진의 마운트 경로는 사용하려는 관리 키와 같은 네임스페이스에 존재해야 합니다.

백엔드 지원

Managed Keys는 다양한 유형의 외부 백엔드를 지원하기 위해 개발되었습니다. 현재 지원되는 백엔드는 PKCS#11, AWS KMS, Azure Key Vault, Google Cloud KMS입니다. 향후 추가 통합이 추가될 수 있습니다.

시크릿/인증 엔진 지원

  • PKI 시크릿 엔진은 Managed Keys와 통합되어, 외부 신뢰 KMS의 개인 키를 활용해 루트 및 중간 PKI 경로 모두의 인증서를 생성할 수 있습니다.
  • Transit 시크릿 엔진은 사용자가 Managed Keys로 암호화 서명을 생성·검증하고, 일부 경우 데이터를 암호화·복호화하거나 MAC·HMAC을 생성할 수 있게 합니다. 이러한 작업은 관리 키 자료를 호스팅하는 KMS 또는 HSM에서 수행됩니다.
  • SSH 시크릿 엔진은 사용자가 관리 키로 CA 키를 생성하고 SSH 인증서에 서명할 수 있게 합니다.

향후 더 많은 엔진이 관리 키를 활용할 수 있습니다.

API

Managed Keys는 HTTP API로 관리할 수 있습니다. 자세한 내용은 Managed Keys API를 참고하세요. PKI 시크릿 엔진을 Managed Keys로 구성하려면 PKI Secret API를 참고하세요.

더 알아보기 (Learn more)