Secret Store 사용 설정
Overview
Secret Store는 필요한 인증 정보를 외부 저장소에 저장하는 옵션을 제공합니다. 기본적으로 QueryPie 저장소에 인증 정보를 저장하지만, 인증 정보를 중앙에서 통제하고 관리하고자 하는 경우 Secret Store 연동 옵션을 사용할 수 있습니다.
현재 QueryPie에서는 다음의 서비스와 연동하여 인증 정보를 관리할 수 있습니다.
HashiCorp Vault
AWS Secret Manager (지원예정)
왜 Secret Store를 사용하나요?
조직은 Secret Store를 활용하여 인증 정보 저장 및 로테이션을 쉽게 관리하고 자동화할 수 있습니다. 특정 조직에서는 지정된 저장소를 제외하고는 외부에 자격 증명을 저장하는 것을 금지하고 있습니다. Secret Store 연동을 통해 해당 요구 사항을 준수하면서도 QueryPie 를 안전하게 사용할 수 있습니다.
인증 정보를 Secret Store에 저장하고 연동하여 사용하는 경우, 해당 자격 증명은 QueryPie 내부에 저장되지 않습니다. 인증을 가능하게 하기 위해 인증 정보를 직접 Secret Store에 요청합니다.
Secret Store 연동 정보는 Integrations 메뉴에서 관리합니다.
Secret Store를 활용하기 위해서는 사전에 Integrations 메뉴에서 해당 Secret Store의 정보를 입력해야 합니다. Secret Store의 실제 사용 여부는 Security 메뉴의 Secret Stores 설정 항목에서 토글을 통해 간편하게 설정할 수 있습니다.
Secret Store 사용 설정
Secret Store 를 통해 안전하게 DB 및 서버 인증 정보를 관리할 수 있고, 사용자에게 직접적인 인증 정보 노출없이 DB 및 서버에 안전하게 접속이 가능합니다. 커넥션 접속 정보 저장시 인증정보를 QueryPie 내부에 저장하는 것이 아닌 Secret Store 에서 가져와 인증할 수 있도록 설정할 수 있습니다.
General Setting > Integrations 메뉴의 Secret Stores 항목에 사용할 Secret Stores의 정보를 추가합니다.
General Setting > Security 메뉴의 Secret Stores 설정 항목으로 이동합니다.
Activate Secret Store Usage 토글을 활성화합니다.
이제 DB Connection 페이지 및 Server의 Account를 입력하는 화면에서 인증 정보 저장소를 선택할 수 있는 Secret Store 선택 항목이 표시됩니다. QueryPie 내부에 저장하는 것을 디폴트로 제공하며, Secret Store 타입을 변경하여 설정 가능합니다. 해당 항목은 정보 자산 별로 다르게 설정할 수 있습니다.
Q. Secret Store 비활성화가 불가능한가요?
A. DB 또는 Server 계정에서 Secret Store를 활용 중인 경우, Activate Secret Store Usage 토글을 비활성화할 수 없습니다. Secret Store를 사용 중인 모든 계정을 삭제한 후에야 Secret Store 사용을 중지할 수 있습니다.
DB 커넥션에서 Secret Store 를 통한 인증 설정하기 (Hashicorp Vault 기준)
DB 커넥션 정보 등록시 Secret Store 연동 정보를 활용하며, 사전 지정된 Secret Store 인증 정보 연동을 통해 커넥션에 접속할 수 있습니다. 사전에 DB 인증정보를 Secret Store 에 저장하고, DB 커넥션 접속시 사용자가 Secret Store 에 저장된 DB 인증정보를 활용해 접속하게 함으로써 DB 인증정보에 대한 보안을 강화할 수 있습니다.
Database Setting > DB Connection 메뉴에서
Create Connection
버튼을 통해 새로운 DB 커넥션을 생성합니다.커넥션 정보 항목 중 Secret Store 항목에서 Hashicorp Vault 를 선택합니다.
Secret Store 설정에 저장된 Secret Engine 타입에 따라 DB Account 항목이 다르게 표시됩니다.
Secret Engine
= K/V 설정시, 커넥션 정보 페이지에서 Username / Password 입력 항목이 표시됩니다.Username / Password 항목에 Vault 의 Path 를 입력합니다.
Path 의 형태는
prod_db/data/mysql?username
형태로 입력할 수 있습니다.예시 기준 실제로 Vault 내의 경로는
prod_db > mysql
의 key 가username
인 경우입니다.중간의
/data
경로를 추가해야합니다.
Secret Engine
= Database 설정시, 커넥션 정보 페이지에서 Account 입력 항목이 표시됩니다.Account 항목에 Vault 의 Path 를 입력합니다.
Path 의 형태는
prod_db/creds/mysql_role
형태로 입력할 수 있습니다.
Save Change
버튼을 통해 커넥션 정보를 저장합니다.
사용자의 Connection Lists 에서 등록한 커넥션 클릭시 별도로 Username, Password 항목은 표시되지 않으며, Connect
버튼을 통한 접속 시도시 Vault 에 저장된 인증 정보를 통해 DB 커넥션에 접속합니다.
서버 그룹에서 Secret Store 를 통한 인증 설정하기 (Hashicorp Vault 기준)
서버 그룹에 Account 정보 등록 시 Secret Store 연동 정보를 활용하면 사전 지정된 Secret Store 인증 정보 연동을 통해 커넥션에 접속할 수 있습니다. 사전에 서버 인증정보를 Secret Store 에 저장하고, 서버 원격 접속시 사용자가 Secret Store 에 저장된 서버 인증정보를 활용해 접속하게 함으로써 서버 인증정보에 대한 보안을 강화할 수 있습니다. Server Groups이 정된 Server는 Server Groups와 동일한 Secret Store를 사용하도록 강제됩니다.
Server Settings > Server Groups 메뉴에서
Create Group
버튼을 통해 새로운 서버 그룹을 생성합니다.이는 Server Settings > Server Account Templates 메뉴에서의 설정 방식도 동일합니다.
입력 항목 중 Secret Store 항목에서 사전에 등록한 Secret Store 항목을 선택합니다.
Secret Store 설정에 저장된 Secret Engine 타입 중 K/V 항목만 지원합니다.
Add Account
버튼을 클릭합니다.Alias 항목에 이용자들에게 노출될 서버 계정 명을 입력합니다.
Account / Authority 항목에 Vault 의 Path 를 입력합니다.
Path 의 형태는
prod_os/data/linux?account
형태로 입력할 수 있습니다.예시 기준 실제로 Vault 내의 경로는
prod_os > linux
의 key 가account
인 경우입니다.중간의
/data
경로를 추가해야합니다.
Save
버튼을 통해 서버 그룹 정보를 저장합니다.
관련 토픽