HashiCorp Vault
기존 Vault KV 비밀에서 자격 증명을 가져옵니다.
자격 증명은 코드와 별도로 보관하세요. 인프라에 맞는 비밀 소스로 리포지토리, 인벤토리, 작업 전반에서 이름 있는 키를 재사용합니다.
SSH 키, 로그인/암호 쌍, 문자열 비밀은 Semaphore의 암호화된 Key Store에 보관하세요. Git 접근, 호스트 연결, Ansible Vault 암호에 재사용합니다.
다른 소스가 필요한가요? 서버 환경 변수나 파일에서 자격 증명을 가져오거나, Vault 비밀을 Key Store에 동기화하거나, 변수 그룹에서 공유 설정과 함께 비밀 값을 사용할 수 있습니다.
기본 제공 Key Store에 이름 있는 키나 로그인/암호 자격 증명을 저장하세요. 자동화 코드에 값을 추가하지 않고 재사용합니다.
주소와 인증 설정으로 외부 Vault를 연결하세요. Semaphore가 비밀을 가져오기만 해야 한다면 읽기 전용 접근을 선택하세요.
가져올 원격 경로를 선택하고 이름 접두사와 자동 동기화 간격을 설정하세요. 가져온 Key Store 항목을 소스와 일치하도록 유지합니다.
리포지토리, 인벤토리, Ansible Vault 참조로 작업에 필요한 자격 증명을 사용하세요. 템플릿이 다음 실행을 위해 설정을 준비해 둡니다.
API 토큰과 암호는 그룹의 비밀 탭에 보관하세요. 필요한 작업 템플릿에 변수 그룹을 연결합니다.
Key Store는 관리 호스트의 SSH 키와 로그인 정보, 비공개 Git 리포지토리 접근, sudo 암호, Ansible Vault 암호 등 실제 작업에 필요한 자격 증명 유형을 보관합니다. 템플릿이 항목을 가리키므로 엔지니어는 이름을 설정하고 읽으며 값은 리포지토리와 작업 폼에서 제외됩니다. 접근 키 암호화를 설정하면 로컬 값은 데이터베이스에서 암호화됩니다. 따라서 해당 설정과 복구 경로는 선택 사항이 아니라 백업 절차의 일부입니다.
환경 및 파일 소스를 사용하면 Key Store 항목이 데이터베이스에 복사본을 저장하는 대신 작업에 필요할 때 Semaphore 서버에서 값을 읽습니다. 다른 프로세스가 이미 갱신된 자격 증명을 호스트에 쓰는 경우에 적합합니다. 소스를 교체하면 템플릿을 편집하지 않아도 다음 작업이 새 값을 가져옵니다. 원격 러너가 작업을 실행할 때도 Semaphore 서버가 소스를 해석하므로 러너에 파일이 있을 필요는 없습니다. 파일 소스는 설정된 비밀 디렉터리와 문서화된 JSON 형식을 따르며 SSH 또는 로그인 항목은 원시 키 파일 대신 해당 래퍼를 사용합니다.
변수 그룹은 공유 설정과 비밀 값을 결합합니다. 각 작업에 복제하는 대신 저장된 자격 증명을 비밀 입력으로 참조하세요. 도구가 기대하는 변수 이름으로 그룹을 Ansible, Terraform, OpenTofu, 스크립트에 전달합니다.
Pro에서 HashiCorp Vault 또는 OpenBao 비밀을 참조하세요. Enterprise는 AWS Secrets Manager, CyberArk, Devolutions Server 등 지원되는 연동을 추가합니다. 비밀은 관리 주체인 시스템에 보관하고 문서화된 프로바이더 설정으로 자동화에서 사용할 수 있게 하세요.
값을 잘 저장한다고 코드가 그 값을 사용하는 방식까지 제어하지는 않습니다. 플레이북이나 스크립트가 디버그 작업, 명령 인수, API 응답으로 비밀을 출력할 수 있으며 모든 값이 작업 로그에서 제거된다는 보장은 없습니다. Ansible의 no_log 같은 도구 자체 기능을 사용하고 성공 출력과 실패 출력을 모두 검토하며, 로그 및 내보내기 접근을 그 내용에 대한 접근으로 취급하세요.
작업 JWT는 개별 실행에 서명된 ID를 제공합니다. 수신 서비스는 모든 작업에 장기 토큰을 공유하는 대신 발급자, 대상, 클레임을 검증할 수 있습니다. 양쪽에 신뢰 관계를 설정하세요. 일반 SSH 키, 암호, Vault 참조도 필요한 시스템에 계속 사용할 수 있습니다.
비공개 리포지토리, 관리 호스트, Ansible Vault 암호 같은 접근에 이름 있는 Key Store 자격 증명을 사용하세요. 자동화 코드와 비민감 설정은 Git에 보관하고 템플릿은 필요한 자격 증명을 참조합니다. 참조는 스크립트에 값을 넣는 것보다 재사용과 교체를 쉽게 합니다. 하지만 코드는 제공된 접근 권한으로 실행되므로 실행 소스 편집 권한을 보호할 필요가 없어지는 것은 아닙니다.
아니요. Ansible Vault는 암호화된 Ansible 콘텐츠를 보호하며 작업 템플릿은 Semaphore Key Store의 Vault 암호로 이를 해제할 수 있습니다. HashiCorp Vault는 Key Store 비밀을 위한 별도의 Pro 외부 저장 옵션입니다. 이 페이지에 기록된 사전 점검은 HashiCorp Vault 연결이 아닌 Ansible Vault 암호 경로를 보여 줍니다. 운영 작업에 사용하기 전에 일회용 자격 증명으로 외부 저장을 별도로 평가하세요.
로컬 Key Store 값은 설정된 접근 키 암호화 방식으로 데이터베이스에 저장됩니다. 암호화 설정을 올바르게 지정하고 보호하며 백업 절차에 복구 요구 사항을 포함하세요. 저장 시 암호화는 설계의 한 부분입니다. 권한 있는 실행은 여전히 자격 증명을 사용해야 합니다. 암호화된 데이터베이스 값이 모든 코드나 엔지니어에게 접근 불가능하다고 생각하지 말고 서버, 런타임, 관리자 접근, 로그를 보호하세요.
문서화된 환경 및 파일 소스는 원격 러너 실행을 포함해 작업에 키가 필요할 때 Semaphore 서버에서 해석합니다. 파일 소스는 허용된 비밀 디렉터리 설정과 문서화된 값 형식을 따라야 합니다. 이후 작업은 템플릿을 다시 쓰지 않고 갱신된 소스 값을 가져올 수 있습니다. 러너에 원시 키 파일을 놓는 것이 이 서버 측 소스 메커니즘을 구현한다고 가정하지 마세요.
네. Pro는 외부 비밀 소스로 HashiCorp Vault와 OpenBao를 지원합니다. Enterprise는 다른 지원 비밀 관리자 연동을 추가합니다. 값을 Git에 커밋하지 말고 프로바이더를 설정하고 Key Store로 자격 증명을 참조하세요. 인증과 비밀 경로는 프로바이더 가이드를 따르고 의도한 자격 증명으로 작업을 테스트하세요.
템플릿은 각 작업에 별도 암호나 키를 포함하는 대신 이름 있는 자격 증명을 참조합니다. 자격 증명이나 설정된 소스를 업데이트한 뒤 참조하는 리포지토리와 인벤토리를 확인하세요. 교체 후 대표 작업을 테스트하여 다음 예약 프로덕션 실행 전에 인증 실패를 잡아내세요.
보편적인 마스킹 보장에 의존하지 마세요. 플레이북이나 스크립트는 민감한 변수, 명령 인수, API 응답을 출력할 수 있습니다. 로깅을 의도적으로 설계하고 도구의 적절한 비밀 처리 옵션을 사용하며, 성공 출력뿐 아니라 대표적인 실패 출력도 검토하세요. 로그와 내보낸 기록의 내용에 따라 접근을 제한하세요. 값을 안전하게 저장하는 것만으로 실행 코드가 출력하는 모든 것을 제어하지는 못합니다.
네. Key Store에서 자격 증명에 이름을 지정하고 리포지토리, 인벤토리, 템플릿에 해당 유형이 필요할 때 선택하세요. 작업은 Git에 자체 복사본을 두는 대신 설정된 항목을 참조합니다. 대상 시스템에 다른 ID가 필요하면 별도 자격 증명을 사용하세요. 작업 템플릿 보기.