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

Vault AWS CLI/SDK Credentials Helper

0

Vault AWS CLI/SDK Credentials Helper(줄여서 vaultcreds)는 HashiCorp Vault 또는 OpenBao에서 AWS 자격 증명을 동적으로 가져오는 외부 자격 증명 도우미입니다.

CLI 도구개발자보안자격증명

소개

Vault AWS CLI/SDK Credentials Helper(줄여서 vaultcreds)는 HashiCorp Vault 또는 OpenBao에서 AWS 자격 증명을 동적으로 가져오는 외부 자격 증명 도우미입니다. 이 프로그램은 AWS CLI 및 SDK의 credential-process 인터페이스를 구현하여, 장기 자격 증명 대신 자동으로 발급된 단기 자격 증명을 사용할 수 있게 합니다. Go 언어로 작성되었으며, Apache-2.0 라이선스로 배포됩니다.

상세정보

AWS 자격 증명 동적 관리

  • HashiCorp Vault 또는 OpenBao에서 단기 AWS 자격 증명을 가져옵니다.
  • AWS CLI의 credential-process 사양에 맞는 JSON 출력을 생성합니다.
  • STS(AWS Security Token Service) 및 일반 자격 증명(creds) 유형을 지원합니다.

보안 자격 증명 캐싱

  • 기본적으로 캐싱은 비활성화되어 있습니다.
  • –cache 옵션 또는 VAULTCREDS_CACHE_CREDENTIALS=true 환경 변수로 활성화 가능합니다.
  • 활성화 시 운영체제의 보안 저장소를 사용합니다. Windows에서는 Credential Manager(WinCred)를 사용합니다.
  • 캐싱이 활성화된 상태에서도 평문 자격 증명을 디스크에 기록하지 않습니다.

유연한 구성 옵션

  • CLI 플래그, 환경 변수, 구성 파일의 우선순위를 따릅니다.
  • Vault 서버 주소, CA 인증서, 시크릿 백엔드 마운트 경로, 역할, TTL 등을 설정할 수 있습니다.
  • VAULT_TOKEN, VAULT_NAMESPACE 등 여러 Vault 환경 변수를 지원합니다.

다운로드·설치 방법

다양한 방법으로 설치할 수 있습니다.

Chocolatey를 사용한 Windows 설치

Windows에서 Chocolatey 패키지 관리자를 사용하여 간편하게 설치할 수 있습니다.

  • 설치 명령: choco install vaultcreds

소스에서 빌드하여 설치

Go 개발 환경이 갖춰져 있다면 소스에서 직접 빌드할 수 있습니다.

  • 설치 명령: go install github.com/freakinhippie/vault-aws-cli-credentials-go/cmd/vaultcreds@latest

릴리스 아티팩트 사용

GitHub 릴리스 페이지에서 운영체제/아키텍처에 맞는 패키지를 다운로드하여 PATH에 포함된 디렉터리에 vaultcreds 파일을 배치할 수 있습니다.

기본 사용법/명령어

설치 후 AWS CLI의 credential_process으로 설정하여 사용합니다.

AWS CLI 구성 예시

AWS CLI 설정 파일(~/.aws/config)에 다음 형식으로 프로필을 추가합니다. credential_process에는 vaultcreds의 전체 경로를 지정하는 것이 좋습니다.

  • [profile vault-dev]
  • credential_process = /usr/local/bin/vaultcreds –vault-addr=https://vault.example.com –role=dev-role
  • region = us-east-1

캐시 관리 명령어

캐싱 기능을 사용할 때 캐시를 관리하기 위한 명령어들이 제공됩니다.

  • vaultcreds –cache-list: 기존 캐시 항목을 확인합니다.
  • vaultcreds –cache-purge “<cache-key>[,<cache-key>…]”: 특정 캐시 키를 삭제합니다.
  • vaultcreds –cache-purge-expired: 만료된 캐시를 삭제합니다.
  • vaultcreds –cache-purge-all: 모든 캐시를 삭제합니다.

이런 경우에 유용합니다

  • AWS CLI나 SDK를 사용할 때 장기 자격 증명(ACCESS_KEY, SECRET_KEY)을 디스크에 저장하지 않고 싶을 때.
  • 다수의 AWS 프로필에서 동적으로 자격 증명을 가져와야 할 때.
  • HashiCorp Vault 또는 OpenBao와 통합하여 AWS 자격 증명을 중앙에서 관리하고자 할 때.
  • 보안이 중요한 환경에서 단기 자격 증명을 사용하여 접근 권한을 자동으로 만료되게 하고 싶을 때.

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

  • 운영체제: Windows, Linux, macOS 지원
  • Windows에서 캐싱 사용 시 사용자 로그온 컨텍스트의 Credential Manager(WinCred)를 사용합니다.
  • Linux에서 캐싱 사용 시 사용자 D-Bus 세션과 Secret Service 프로바이더가 필요합니다.
  • macOS에서 캐싱 사용 시 Keychain을 사용합니다.
  • AWS CLI 또는 SDK가 설치되어 있어야 합니다.

제한 사항·확인 사항

  • 캐싱이 요청된 경우 OS의 보안 백엔드에 접근할 수 없거나 오류가 발생하면 비캐싱 모드로 동작하며 경고를 출력합니다.
  • vaultcreds는 OS 키체인 암호를 직접 재설정할 수 없으며, 이는 OS 키체인 도구를 사용해야 합니다.
  • 캐시 유지보수 명령어는 동시에 하나만 실행할 수 있습니다.
  • AWS CLI의 credential_process 설정 시 vaultcreds의 전체 경로를 사용하는 것이 권장됩니다. PATH 조회에 의존하지 않는 것이 좋습니다.

시스템 요구사항

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