본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

unicreds

0

unicreds는 AWS 계정 내에서 보안 비밀을 관리하기 위한 명령줄 도구입니다. DynamoDB와 KMS를 사용하여 자격 증명을 안전하게 저장하고 암호화하며, IAM을 통해 접근을 제어합니다.

명령줄 도구비밀 관리

소개

unicreds는 AWS 계정 내에서 보안 비밀을 관리하기 위한 명령줄 도구입니다. DynamoDB와 KMS를 사용하여 자격 증명을 안전하게 저장하고 암호화하며, IAM을 통해 접근을 제어합니다. Versent에서 개발한 이 도구는 credstash를 기반으로 작성되었으며, Go 언어로 구현되었습니다. 주로 AWS 환경을 사용하는 개발자 및 시스템 관리자가 외부 관리 없이 내부에서 시크릿을 다루는 데 유용합니다.

상세정보

비밀 저장 및 관리

unicreds는 put 명령을 통해 자격 증명을 DynamoDB에 저장하고, KMS로 암호화할 수 있습니다. put-file 명령을 사용하면 파일의 내용을 직접 저장할 수도 있습니다.

비밀 조회

get 명령을 통해 특정 버전의 자격 증명을 가져올 수 있으며, getall 또는 list 명령을 사용해 저장된 모든 자격 증명의 이름과 버전을 확인할 수 있습니다. 출력 형식은 CSV 또는 JSON으로 지정할 수 있습니다.

비밀 삭제

delete 명령을 사용해 특정 자격 증명을 저장소에서 완전히 제거할 수 있습니다.

환경 변수 주입 실행

exec 명령을 사용하면 모든 저장된 시크릿을 환경 변수로 로드한 후 지정된 명령을 실행할 수 있습니다. 이는 컨테이너나 스크립트에서 외부 노출 없이 안전하게 시크릿을 사용하는 데 유용합니다.

다운로드 및 설치 방법

unicreds는 GitHub 릴리스 페이지에서 아카이브 파일을 다운로드하여 수동으로 설치할 수 있습니다. macOS 사용자는 Homebrew를 통해 brew tap versent/homebrew-taps 및 brew install unicreds 명령으로 설치할 수 있습니다. Windows에서는 공식 패키지 관리자 지원이 명시되지 않았으므로, GitHub에서 바이너리를 직접 받아 PATH에 추가하는 방식으로 사용해야 합니다.

기본 사용법 및 명령어

unicreds는 AWS 프로파일과 지역을 지정하여 동작합니다. 기본 프로파일을 사용할 경우 간단히 unicreds list로 저장된 자격 증명을 확인할 수 있습니다. 다른 지역이나 프로파일을 지정하려면 -r 및 -p 플래그를 사용합니다. 예를 들어 unicreds -r us-west-2 -p MYPROFILE list와 같이 실행할 수 있습니다. IAM 역할을 가정해야 하는 경우 -R 플래그로 역할 ARN을 지정할 수 있습니다.

암호화 컨텍스트를 사용하려면 -E 플래그로 키-값 쌍을 추가할 수 있습니다. 예를 들어 unicreds put test123 -E 'stack:123' testingsup과 같이 저장하고, 동일한 컨텍스트로 unicreds get test123 -E 'stack:123'로 가져올 수 있습니다. 컨텍스트가 일치하지 않으면 복호화에 실패합니다.

도움말은 --help, 버전 확인은 --version, 디버그 모드는 --debug로 활성화할 수 있습니다.

지원 환경 및 시스템 요구사항

unicreds는 AWS 환경을 전제로 하므로, 사용 전 AWS CLI가 설치되고 ~/.aws/credentials 및 ~/.aws/config에 유효한 자격 증명이 설정되어 있어야 합니다. 또한 KMS 키가 생성되어 있고, 이에 alias/credstash 별칭이 할당되어 있어야 합니다. DynamoDB 테이블은 unicreds setup 명령을 통해 생성할 수 있습니다. 이 도구는 Go로 작성되어 있으며, 배포형 바이너리를 제공하므로 별도의 Go 환경은 필요하지 않습니다.

최신 버전 및 업데이트

현재 버전은 1.5.1이며, 최신 소스 코드 및 릴리스 정보는 GitHub 저장소에서 확인할 수 있습니다. 자동 버전 기능 사용 시 2015년 9월 이전에 발생한 정렬 오류가 있을 수 있으니, credstash-migrate-autoversion.py 스크립트를 사용해 이전 버전을 마이그레이션하는 것이 권장됩니다.

제한 사항 및 확인 사항

unicreds는 AWS 환경에 강하게 의존하므로, AWS 계정 없이 단독으로 사용할 수 없습니다. KMS 키와 DynamoDB 테이블 설정이 선행되어야 하며, 초기 설정 과정이 필요합니다. 또한 암호화 컨텍스트 검증 실패 시 InvalidCiphertextException 오류가 발생하므로, 저장 시 사용한 컨텍스트와 정확히 일치시켜야 합니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.