카우치베이스 카펠라

HashiCorp Vault 및 Capella를 사용하여 안전한 DB 자격 증명 관리

11 분 읽기

오늘날의 데이터 중심 세상에서 안전한 데이터베이스 자격 증명 관리는 모든 규모의 조직에게 가장 중요한 관심사입니다. 당사는 최첨단 솔루션을 제공하기 위해 노력하는 가운데, Capella 데이터베이스 자격 증명 관리를 위한 HashiCorp Vault 플러그인 출시를 기쁘게 발표합니다. 

카펠라에 HashiCorp Vault를 통합하면 데이터베이스 보안에 대한 다각적인 접근 방식을 제공합니다.

  • 핵심 장점 중 하나는 외부의 중앙 집중식 사용자 관리 기능으로, 사용자 ID와 액세스 권한이 통합되고 안전한 방식으로 관리됩니다. 이를 통해 데이터베이스에 대한 액세스가 조직 전체에서 통제되고, 감사되며, 일관되게 유지됩니다. 
  • Vault의 기능은 자격 증명 사용 감사에까지 확장되어, 누가 데이터베이스에 접근했는지, 언제 접근했는지, 그리고 어떤 목적으로 접근했는지에 대한 상세한 로그와 인사이트를 제공합니다. 이러한 수준의 투명성은 규정 준수 및 보안 팀에 매우 귀중하며, 데이터 접근을 추적하고 규제 요구 사항을 효과적으로 충족할 수 있도록 지원합니다. 
  • Vault의 자동화 기능은 자격 증명의 자동 로테이션 및 폐기를 통해 빛을 발하며, 오래되거나 유출된 자격 증명으로 인한 무단 접근 위험을 줄여줍니다. 
  • 마침내 볼트는 동적 임시 자격 증명의 발급을 가능하게 하여 사용자에게 데이터베이스에 대한 시간 제한 접근 권한을 부여합니다. 이는 보안을 강화할 뿐만 아니라 장기 자격 증명의 필요성을 줄여 사용자 관리를 단순화합니다. 이러한 기능들이 결합하여 데이터베이스 접근 관리 방식을 혁신함으로써, 더욱 안전하고 효율적이며 규정을 준수하도록 만듭니다.

이 글은 플러그인의 기능을 효과적으로 활용할 수 있도록 돕는 가이드 역할을 합니다. 로컬 Docker 컨테이너 Vault 설정부터 동적 자격 증명을 손쉽게 관리하는 것까지 전체 과정을 안내해 드립니다. 이 튜토리얼을 마치면 데이터베이스 보안을 손쉽게 강화할 수 있는 역량을 갖추게 될 것입니다.

안전한 데이터베이스 자격 증명 관리의 세계로 뛰어들어 카펠라용 HashiCorp Vault 플러그인의 잠재력을 활성화해 보세요.

1단계: 준비

세부 사항으로 들어가기 전에 기반을 다지는 것이 필수적입니다. 이 첫 번째 단계에서는 원활한 통합을 위한 무대를 마련하는 데 필요한 필수 준비 과정을 안내해 드립니다. API 키 생성부터 샌드박스 데이터베이스 설정, 중요한 조직 세부 정보 수집에 이르기까지, 이러한 준비를 통해 플러그인 설치를 완료하는 데 필요한 모든 것을 갖추실 수 있습니다.

카펠라 API 키 생성

먼저 필요한 API 키가 있는지 확인하세요. 조직 설정으로 이동하여 다음으로 향하세요. API 키 섹션. 여기, 조직 소유자 역할이 부여된 버전 4 키를 생성해 주세요. 이 키는 자격 증명 관리 프로세스에서 중요한 역할을 할 것입니다. 조직 소유자 역할을 부여한 이유는 나중에 루트 자격 증명을 교체할 예정이기 때문입니다.

Create a Capella API Key

API 키 자격 증명 디코딩

우리는 카펠라를 제공해야 할 것입니다 액세스 키 그리고 비밀_키 볼트 플러그인을 설정할 때, 우리는 이것을 이전에 생성한 API 키에서 가져올 것입니다. 

  • 키 다운로드
  • API 키 토큰 필드 끝에 있는 복사 버튼을 두 번 클릭하세요. 

Decode API Key Credentials

  • 베이스로 디코딩하세요

디코딩된 키에는 세미콜론으로 구분된 두 개의 값이 포함됩니다:

첫 번째 것은 당신의 것입니다 액세스 키 두 번째 것은 당신의 것입니다 비밀_키. 나중에 플러그인을 설정할 때 이것이 필요합니다.

샌드박스 데이터베이스 설정

이 데모를 원활하게 진행하기 위해 샌드박스 데이터베이스를 설정하세요. 이는 우리 플러그인을 테스트하기 위한 안전한 환경 역할을 할 것입니다.

버킷 및 스코프 생성

우리는 버킷도 생성할 것입니다 볼트-버킷-1 그리고 스코프 vault-bucket-1-scope-1 클러스터 내에서, 이는 나중에 동적 자격 증명을 생성할 때 사용될 것입니다.

Create a Bucket and Scope

필수 정보 수집

플러그인 구성을 위해 조직 ID, 프로젝트 ID, 클러스터 ID가 필요합니다. 이 세부 정보를 얻는 가장 쉬운 방법은 URL에서 복사하여 참고용 텍스트 파일에 저장하는 것입니다.

  • oid 조직 ID가 무엇입니까?
  • 프로젝트ID 프로젝트 ID가 무엇인가요?
  • dbid 데이터베이스 ID가 무엇인가요?

Gather Essential Information

2단계: Vault 설정

이제 기술적인 부분부터 시작하겠습니다. 데모를 실행하는 데는 두 가지 옵션이 있습니다. 

  1. 데모를 실행하려면 저장소를 복제하고 그 안에 있는 Dockerfile을 사용하십시오. 이 Dockerfile에는 소스에서 플러그인을 컴파일하는 단계가 포함되어 있습니다. 
  2. 또는 릴리스 페이지에서 플러그인의 바이너리 버전을 다운로드하여 Vault 설치에 사용하세요.

두 가지 방법에 대한 안내를 제공해 드리겠습니다. 필요에 맞는 경로를 선택하고 해당 단계를 따르세요. 두 가지 방법을 모두 실행할 필요는 없습니다.

옵션 1: 플러그인 리포지토리의 Dockerfile 사용

GitHub 저장소를 복제하는 것부터 시작하세요:

이 저장소에는 플러그인 소스 코드가 포함되어 있으며, 우리는 플러그인을 빌드해야 합니다. 이번 데모에서는 Hashicorp의 볼트(vault) 이미지를 사용하여 도커 이미지를 빌드할 것입니다. 플러그인은 도커 이미지 생성 과정에서 빌드됩니다. 이 방법은 데모 목적으로만 사용해야 합니다. 다음의 지침을 따르십시오 하시코프 플러그인을 설치하고 환경에서 사용하는 방법에 대해.

Use the Dockerfile in the plugin repository

이제 이미지가 빌드되었으므로, 개발 모드로 설정된 Docker 컨테이너에서 Vault 서버를 실행하겠습니다. 이를 통해 더 쉬운 테스트를 위해 특정 보안 기능을 우회할 수 있습니다. Vault 서버는 8200 포트에서 수신 대기하며 다음과 같이 설정된 루트 토큰으로 초기화됩니다. 비밀번호. 또한 테스트 중에 자세한 정보를 수집하기 위해 디버그 수준 로깅을 활성화할 것입니다.

Vault server will listen on port 8200

옵션 2를 건너뛰고 바로 3단계로 진행해 주세요.

옵션 2: 플러그인 바이너리 다운로드

먼저 다음에서 플러그인을 다운로드하세요. 릴리스 페이지. 이 글을 작성하는 시점에서 최신 버전은 1.0.0이며, 저는 리눅스를 사용하고 있으므로 다운로드를 진행하겠습니다. 리눅스 버전. 

컴퓨터 아키텍처에 맞는 버전을 다운로드해야 합니다. 

보안 모범 사례로서 파일의 무결성을 검증하는 것이 중요합니다. 따라서 릴리스 페이지에서 찾을 수 있는 바이너리의 체크섬도 다운로드하세요.

다운로드한 파일에 해당하는 체크섬을 텍스트 파일 내에서 찾으세요.

Locate the checksum

체크섬을 생성하고 결과를 검증하세요

checksum comparison indicates a match

체크섬 비교 결과가 일치하므로 파일 유효성 검사가 성공했음을 나타냅니다.

이제 압축 파일을 안전하게 추출하여 볼트 플러그인을 가져올 수 있습니다. 

이제 볼트 플러그인 바이너리가 우리 폴더에 있어야 합니다. 마지막 단계는 이 바이너리의 해시를 생성하는 것입니다. 이는 나중에 볼트에 플러그인을 등록하는 데 필요합니다. 이 해시는 이전에 다운로드한 압축 파일이 아니라 바이너리 자체에 대한 것임을 주목하는 것이 중요합니다.

이 명령을 실행하면 볼트 플러그인의 해시가 포함된 새 파일이 생성되었어야 합니다.

우리는 또한 플러그인이 위치한 곳을 정의하는 볼트 구성도 생성해야 합니다.

0

 마지막 단계에는 Capella에서 사용되는 정책을 반영하는 사용자 정의 비밀번호 정책을 생성하는 작업이 포함됩니다.

1

볼트 플러그인을 다운로드하고 해시를 생성했으므로, 이제 개발 모드로 구성된 Docker 컨테이너에서 볼트 서버를 시작하겠습니다. 이 설정을 통해 단순화된 테스트를 위해 일부 보안 기능을 우회할 수 있습니다. 

볼트 서버는 8200 포트에서 수신 대기하며 다음과 같이 설정된 루트 토큰으로 초기화됩니다. 비밀번호. 또한 테스트 중에 상세한 정보를 수집하기 위해 디버그 수준 로깅을 활성화할 것입니다. 또한 플러그인과 sha를 볼륨으로 마운트해야 한다는 점도 중요합니다.

2

Vault server will listen on port 8200

3단계: 데이터베이스 보안 비밀 활성화

Vault가 이제 개발 모드로 실행되었습니다. 다음으로 Vault의 데이터베이스 시크릿 엔진을 활성화하겠습니다. 이 엔진을 사용하면 Vault가 데이터베이스에 대한 동적 자격 증명을 생성할 수 있으며, 이는 우리 플러그인이 올바르게 작동하는 데 매우 중요합니다. 이를 활성화함으로써 Vault가 Capella 데이터베이스 자격 증명을 관리할 수 있는 기반을 마련하게 됩니다. 새 터미널을 열고 다음 명령을 실행하십시오.

3

Enable Database Secrets

4단계: 플러그인 등록

우리는 커스텀 플러그인을 Vault에 등록할 것입니다. 여기에는 무결성을 보장하기 위해 플러그인 바이너리의 SHA-256 해시를 계산하는 작업이 포함됩니다. Vault는 이 해시를 사용하여 플러그인이 호출될 때 변조되지 않았음을 확인합니다. 해시가 계산되면, 이를 사용하여 플러그인을 등록합니다.

4

Register the Plugin

이제 플러그인이 성공적으로 등록되었습니다.

5단계: 비밀번호 정책 업로드

Capella의 비밀번호 요구 사항에 부합하는 비밀번호 정책을 Vault에 업로드할 예정입니다. 이를 통해 Vault가 Capella용으로 생성하는 모든 자격 증명이 Capella의 보안 표준을 준수하도록 보장합니다. 이 정책은 HashiCorp 설정 언어(HCL) 파일로 정의되며, 이 파일은 빌드 과정에서 Docker 이미지에 추가되었습니다.

5

Upload Password Policy

단계 6: 데이터베이스 설정 생성하기

Vault가 Capella 클러스터에 연결되도록 구성합니다. 여기에는 Capella의 클라우드 API 기본 URL, 조직 ID, 프로젝트 ID, 클러스터 ID와 같은 다양한 매개변수를 지정하는 작업이 포함됩니다. 또한 이전에 생성한 Capella 액세스 키도 제공합니다. 이 구성을 통해 Vault는 Capella 클러스터와 상호 작용하고 자격 증명을 동적으로 관리할 수 있습니다. 

6

Create Database Config

이제 카펠라 플러그인이 설정되었으며 카펠라와 통신할 수 있습니다. 

7단계: 루트 자격 증명 순환

볼트(Vault)가 Capella 데이터베이스를 관리하는 데 사용하는 권한이 높은 루트 자격 증명을 순환(로테이션)하여 보안 모범 사례를 수행합니다. 이는 이러한 자격 증명의 잠재적 노출과 관련된 위험을 최소화합니다.

7

Rotate Root Credentials

8단계: 동적 역할 생성하기

다음으로 Vault에서 동적 역할을 정의합니다. 이 역할에는 JSON 형식으로 정의된 일련의 권한이 포함되며, 이는 허용되는 데이터베이스 작업의 종류를 지정합니다. 예를 들어, 다음을 부여합니다. 데이터 리더 그리고 데이터 작성기 Capella 클러스터의 특정 버킷 및 스코프에 대한 권한. 이 동적 역할은 이러한 권한을 가진 자격 증명을 생성하는 데 사용됩니다.

8

Create a dynamic role

단계 9: 새 자격 증명 만들기

마지막으로, 우리가 생성한 동적 역할을 사용하여 새로운 데이터베이스 자격 증명 세트를 생성합니다. 이 자격 증명은 임시적이며 우리가 구성한 TTL(Time-To-Live) 설정을 따릅니다. 이것은 Vault가 Capella 데이터베이스 자격 증명을 동적으로 관리할 수 있는 방법을 보여주는 설정의 정점입니다.

9

create new credentials

카펠라로 돌아가서 자격 증명이 실제로 UI에도 표시되는지 확인해 봅시다.

manage Capella database credentials

결론

결론적으로, Capella의 데이터베이스 자격 증명 관리를 위한 HashiCorp Vault 플러그인은 데이터베이스 인프라의 보안을 강화하는 새로운 지평을 엽니다. 이 단계별 튜토리얼을 통해 여러분은 플러그인을 효과적으로 설정하고 활용하는 방법에 대한 귀중한 통찰력을 얻었을 것입니다.

이 솔루션을 채택함으로써 데이터베이스 자격 증명 관리 프로세스를 단순화하고 있습니다. 저희 플러그인의 잠재력을 온전히 탐구해 보시기를 권장하며, 여러분의 경험과 피드백을 기대합니다.

안전하고 효율적이며 사용자 친화적인 데이터베이스 자격 증명 관리를 이제 손쉽게 이용하실 수 있습니다. 지금 바로 더 안전한 데이터베이스 환경을 향한 첫걸음을 내딛으세요!

Couchbase를 사용하여 자신만의 미션 크리티컬한 최신 애플리케이션을 구축하는 방법에 대해 자세히 알아보려면 다음을 시도해 보세요. 카우치베이스 카펠라 30일 무료 체험판. 그리고 카우치베이스 고객들이 어떻게 활용하고 있는지 더 자세히 보려면 다음을 확인하세요. 고객 사례 연구 페이지!

이 기사 공유하기

작가

이슈반 오르반(Istvan Orban)은 카우치베이스(Couchbase)의 수석 제품 관리자(Principal Product Manager)이며 영국에 거주하고 있습니다. 이슈반은 풀스택 소프트웨어 엔지니어, 팀 리더, 데브옵스 엔지니어로서 폭넓은 경력을 가지고 있습니다. 그의 주된 관심 분야는 보안과 싱글 사인온(SSO)입니다. 이슈반은 20년의 전문 경력 동안 여러 대규모 프로젝트를 이끌었습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

개발 시작하기

NoSQL을 탐색하고, 리소스를 찾아보고, 튜토리얼을 시작하려면 개발자 포털을 확인하세요.

카펠라 프리 사용하기

단 몇 번의 클릭으로 카우치베이스(Couchbase)를 직접 체험해 보세요. Capella DBaaS는 시작하기 가장 쉽고 빠른 방법입니다.

연락해

Couchbase 제품군에 대해 더 알고 싶으신가요? 저희가 도와드리겠습니다.