오늘날의 데이터 중심 세상에서 안전한 데이터베이스 자격증명 관리는 모든 규모의 조직에서 가장 중요한 관심사입니다. 최첨단 솔루션으로 여러분의 역량을 강화하기 위해 노력하는 저희는 Capella 데이터베이스 자격증명 관리를 위한 HashiCorp Vault 플러그인의 출시를 발표하게 되어 매우 기쁩니다. 

해시코프 볼트를 카펠라에 통합하면 데이터베이스 보안에 대한 다각적인 접근 방식을 제공합니다:

    • 주요 장점 중 하나는 사용자 ID와 액세스 권한이 통합되고 안전한 방식으로 관리되는 외부의 중앙 집중식 사용자 관리입니다. 이를 통해 조직 전체에서 데이터베이스에 대한 액세스를 제어하고, 감사하며, 일관성을 유지할 수 있습니다. 
    • Vault의 기능은 자격증명 사용 감사까지 확장되어 누가, 언제, 어떤 목적으로 데이터베이스에 액세스했는지에 대한 자세한 로그와 인사이트를 제공합니다. 이러한 수준의 투명성은 규정 준수 및 보안 팀에게 매우 중요하며, 데이터 액세스를 추적하고 규제 요건을 효과적으로 충족할 수 있게 해줍니다. 
    • Vault의 자동화는 자동 자격증명 교체 및 해지 기능을 통해 더욱 빛을 발하며, 오래된 자격증명 또는 손상된 자격증으로 인한 무단 액세스의 위험을 줄여줍니다. 
    • 마지막으로, Vault를 사용하면 동적 임시 자격 증명을 발급하여 사용자에게 데이터베이스에 대한 시간 제한 액세스를 부여할 수 있습니다. 이렇게 하면 보안이 강화될 뿐만 아니라 장기적인 자격 증명의 필요성이 줄어들어 사용자 관리가 간소화됩니다. 이러한 기능을 함께 사용하면 데이터베이스 액세스 관리 방식을 혁신하여 더욱 안전하고 효율적이며 규정을 준수할 수 있습니다.

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

안전한 데이터베이스 자격 증명 관리의 세계로 들어가서 카펠라를 위한 해시코프 볼트 플러그인의 잠재력을 확인해 보겠습니다.

1단계: 준비

자세한 내용을 살펴보기 전에 기초를 다지는 것이 중요합니다. 이 초기 단계에서는 원활한 통합을 위한 단계를 설정하는 데 필요한 필수 준비 사항을 안내해 드립니다. API 키 생성부터 샌드박스 데이터베이스 설정, 중요한 조직 세부 정보 수집에 이르기까지 이러한 준비를 통해 플러그인 설정을 완료하는 데 필요한 모든 것을 갖출 수 있습니다.

아카펠라 API 키 만들기

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

Create a Capella API Key

API 키 자격 증명 디코딩

아카펠라를 제공해야 합니다. ACCESS_KEYSECRET_KEY 를 설정합니다. 앞서 생성한 API 키에서 이 키를 가져올 것입니다. 

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

Decode API Key Credentials

    • base64를 사용하여 디코딩

디코딩된 키는 세미콜론으로 구분된 두 개의 값을 갖습니다:

첫 번째는 ACCESS_KEY 그리고 두 번째는 SECRET_KEY. 나중에 플러그인을 구성할 때 이 정보가 필요합니다.

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

이 데모를 원활하게 진행하려면 샌드박스 데이터베이스를 설정하세요. 이는 플러그인 테스트를 위한 안전한 환경이 될 것입니다.

버킷 및 범위 만들기

또한 버킷을 만들 것입니다. 볼트 버킷-1 및 범위 볼트-버킷-1-범위-1 를 클러스터 내에 생성하여 나중에 동적 자격 증명을 만들 때 사용할 수 있습니다.

Create a Bucket and Scope

필수 정보 수집

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

    • oid 조직 ID입니다.
    • projectId 는 프로젝트 ID입니다.
    • dbid 는 데이터베이스 ID입니다.

Gather Essential Information

2단계: Vault 설정

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

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

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

옵션 1: 플러그인 저장소에서 도커파일 사용

먼저 GitHub 리포지토리를 복제합니다:

이 리포지토리에는 플러그인 소스 코드가 포함되어 있으므로 플러그인을 빌드해야 합니다. 이 데모에서는 해시코프의 볼트 이미지를 사용하여 도커 이미지를 빌드하겠습니다. 플러그인은 도커 이미지 생성 프로세스 중에 빌드됩니다. 이 방법은 데모 목적으로만 사용해야 합니다. 다음 지침을 따르세요. 해시코프 를 참조하여 플러그인을 설치하고 사용자 환경에서 사용하는 방법을 알아보세요.

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

체크섬 비교는 일치하는 항목이 있음을 나타내며 파일 유효성 검사가 성공했음을 확인합니다.

이제 zip파일의 내용을 추출하고 볼트 플러그인을 검색하는 것이 안전합니다. 

이 시점에서 볼트 플러그인 바이너리는 폴더에 있어야 합니다. 마지막 단계는 나중에 Vault에 플러그인을 등록하는 데 필요한 이 바이너리의 해시를 생성하는 것입니다. 이 해시는 앞서 다운로드한 zip 파일이 아니라 바이너리 자체에 대한 해시라는 점에 유의하세요.

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

또한 플러그인의 위치를 정의하는 볼트 구성을 만들어야 합니다.

 마지막 단계는 Capella에서 사용된 정책을 반영하는 사용자 지정 비밀번호 정책을 만드는 것입니다.

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

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

Vault server will listen on port 8200

3단계: 데이터베이스 비밀 사용

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

Enable Database Secrets

4단계: 플러그인 등록

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

Register the Plugin

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

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

Capella의 비밀번호 요건에 부합하는 비밀번호 정책을 Vault에 업로드합니다. 이렇게 하면 Capella용 Vault에서 생성된 모든 자격 증명이 Capella의 보안 표준을 준수하게 됩니다. 이 정책은 해시코프 구성 언어(HCL) 파일에 정의됩니다. 이 파일은 빌드 중에 Docker 이미지에 추가되었습니다.

Upload Password Policy

6단계: 데이터베이스 구성 생성

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

Create Database Config

이제 카펠라 플러그인이 구성되었으며 카펠라와 대화할 수 있습니다. 

7단계: 루트 자격 증명 회전하기

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

Rotate Root Credentials

8단계: 동적 역할 만들기

다음으로 Vault에서 동적 역할을 정의하겠습니다. 이 역할에는 허용되는 데이터베이스 작업의 종류를 지정하는 일련의 권한이 JSON 형식으로 정의됩니다. 예를 들어 다음과 같은 권한을 부여합니다. 데이터_리더 그리고 데이터_라이터 권한이 Capella 클러스터의 특정 버킷 및 범위에 대해 부여됩니다. 이 동적 역할은 이러한 권한이 있는 자격 증명을 생성하는 데 사용됩니다.

Create a dynamic role

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

마지막으로 생성한 동적 역할을 사용하여 새 데이터베이스 자격 증명 집합을 생성합니다. 이러한 자격 증명은 임시적이며 우리가 구성한 TTL(Time-To-Live) 설정을 준수합니다. 이것이 설정의 정점으로, Vault가 어떻게 Capella 데이터베이스 자격 증명을 동적으로 관리할 수 있는지 보여줍니다.

create new credentials

Capella로 돌아가서 자격 증명이 실제로 UI에도 표시되는지 확인해 보겠습니다.

manage Capella database credentials

결론

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

이 솔루션을 도입하면 데이터베이스 자격증명 관리 프로세스를 간소화할 수 있습니다. 저희 플러그인의 잠재력을 최대한 활용하시길 바라며 여러분의 경험과 피드백을 기다리겠습니다.

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

Couchbase에서 미션 크리티컬한 최신 애플리케이션을 구축하는 방법에 대해 자세히 알아보려면 다음을 참조하세요. 카우치베이스 카펠라 30일 무료 체험판. 고객들이 Couchbase로 무엇을 하고 있는지 더 자세히 알아보려면 고객 사례 연구 페이지!

작성자

게시자 이스트반 오르반

이스트반 오르반은 Couchbase의 수석 제품 관리자로 영국에 거주하고 있습니다. Istvan은 풀스택 소프트웨어 엔지니어, 팀 리더, Devops 엔지니어로서 다양한 경험을 보유하고 있습니다. 그의 주요 관심 분야는 보안과 싱글 사인온입니다. Istvan은 20년 경력의 전문가로서 여러 대규모 프로젝트를 이끌었습니다.

댓글 남기기