1Password CLI 사용하여 NGINX Plus 컨테이너 안전하게 구축
이 블로그 포스트에서는 1Password CLI 를 사용하여 NGINX Plus 컨테이너를 안전하게 구축하는 방법을 간략하게 설명합니다. 이 예에서는 NGINX Plus 구독, CLI tool이 설치된 1Password 구독, 셸(Bash 또는 Zsh)이 있는 환경에 대한 액세스 권한 및 Docker가 설치되어 있다고 가정합니다.
NGINX Plus의 일반 사용자라면 새로운 기능이나 기능을 시험하기 위해 컨테이너를 빌드하고 있을 가능성이 높습니다. 그리고 NGINX Plus 컨테이너를 빌드할 때, 로컬 파일 시스템에 NGINX 리포지토리 인증서 및 키와 같은 민감한 정보를 저장하는 경우가 많습니다. 민감한 파일을 .gitignore 리포지토리 파일에 추가하는 것은 간단하지만 이 프로세스는 이상적이거나 안전하지 않으며, 실제로 엔지니어가 실수로 민감한 정보를 리포지토리에 커밋하는 사례가 많습니다.
더 나은 방법은 비밀 관리 솔루션을 사용하는 것이다. 개인적으로 저는 오랫동안 1Password의 팬이었고 최근에 CLI tool를 발견했습니다. 이 tool을 사용하면 개발자와 플랫폼 엔지니어가 일상적인 워크플로우에서 더 쉽게 시크릿과 상호 작용할 수 있습니다.
목차
1. 1Password 비밀 저장
2. NGINX Plus 컨테이너 빌드
2-1. Docker build 프로세스 준비
2-2. Secret References URIs 교체
3. 1Password 지금 시작하세요.
1. 1Password 비밀 저장
첫 번째 단계는 API Credentials, 파일 메모, 비밀번호 등 다양한 유형의 비밀을 지원하는 1Password에 비밀을 저장하는 것입니다. 이 NGINX Plus 사용 사례에서는 1Password의 보안 파일 기능을 활용합니다.
MyF5 포털에서 NGINX 저장소 인증서 및 키를 받을 수 있습니다. 1Password documents에 따라 NGINX 저장소 인증서와 키 모두에 대한 보안 문서를 만듭니다. 두 개의 보안 문서를 만들었으면 다음 단계에 따라 1Password secret reference를 수집하세요.
참고: 이 글을 작성하는 현재, 1Password는 동일한 레코드에 여러 파일을 지원하지 않습니다.
2. NGINX Plus 컨테이너 빌드
이제 보안 파일과 그 secret reference Uniform Resource Identifiers (URIs)를 활용하는 NGINX Plus 컨테이너를 빌드할 차례입니다. 이 단계에서는 NGINX Plus 관리 가이드의 Dockerfile 예제를 사용합니다.
2-1. Docker build 프로세스 준비
Dockerfile을 새 디렉터리에 저장한 후 docker build 프로세스를 준비합니다. 1Password 비밀번호를 docker build에 배포하려면 먼저 각 비밀번호 참조 URI를 환경 변수에 저장합니다. 그런 다음 Dockerfile을 저장한 디렉터리에서 새 Bash 터미널을 엽니다.
Bash 터미널에 다음 명령을 입력합니다:
export NGINX_CRT="op://Work/nginx-repo-crt/nginx-repo.crt"
export NGINX_KEY="op://Work/nginx-repo-key/nginx-repo.key"
2-2. Secret References URIs 교체
op 실행 명령을 사용하면 1Password CLI 에서 환경 변수의 secret reference URI를 비밀의 값으로 바꿀 수 있습니다. 이 기능을 docker build 명령에서 활용하여 NGINX 리포지토리 인증서와 키를 빌드 컨테이너에 배포할 수 있습니다.
컨테이너 빌드를 완료하려면 이전 단계에서 사용한 것과 동일한 터미널에서 다음 명령을 실행하세요:
op run -- docker build --no-cache --secret id=nginx-key,env=NGINX_KEY --secret id=nginx-crt,env=NGINX_CRT -t nginxplus --load .
이 명령에서 op 실행은 docker build 명령을 실행하고 1Password secret reference URI가 있는 두 개의 환경 변수 참조(NGINX_CRT 및 NGINX_KEY)를 감지합니다. op 명령은 URI를 secret의 실제 값으로 바꿉니다.
3. 1Password 지금 시작하세요.
간단한 단계에 따라 1Password CLI 를 사용하면 로컬 파일 시스템에 인증서와 키를 저장하지 않고도 NGINX Plus 저장소에 대해 NGINX Plus 컨테이너를 구축하여 보안을 강화할 수 있는 환경을 조성할 수 있습니다.
NGINX Plus를 처음 사용하는 경우, 지금 30일 무료 평가판을 시작하거나 NGINX SOTRE에 문의하십시오.
NGINX에 대한 최신 정보들을 빠르게 전달받고 싶으시다면, 아래의 뉴스레터를 구독하세요.