기능 6: 클라우드 시크릿 매니저 통합

개요

Semaphore는 현재 모든 자격 증명을 자체 데이터베이스에 저장합니다. 클라우드 플랫폼을 사용하는 조직은 런타임에 클라우드 공급자의 시크릿 관리 서비스에서 시크릿을 직접 가져오는 방법이 필요합니다. 이를 통해 자격 증명 중복을 방지하고 기존 교체 정책을 활용할 수 있습니다. 이 기능은 AWS Secrets Manager 및 Azure Key Vault와의 네이티브 통합을 Enterprise 전용 기능으로 추가합니다.

동기

상세 사양

Enterprise

6.1 AWS Secrets Manager 통합

목표: AWS Secrets Manager에서 런타임에 시크릿을 가져와 팀이 Semaphore의 데이터베이스에 자격 증명을 복제하지 않고도 기존 AWS 시크릿 인프라를 활용할 수 있도록 합니다.

요구 사항:

{
  "name": "Production AWS",
  "type": "aws_secrets_manager",
  "region": "us-east-1",
  "auth_method": "iam_role",
  "role_arn": "arn:aws:iam::123456789:role/semaphore-secrets",
  "external_id": "optional-external-id"
}
{
  "type": "external",
  "backend": "aws_secrets_manager",
  "secret_name": "production/db_password",
  "field": "password",
  "aws_config_id": 1
}

관련 이슈: #2248

6.2 Azure Key Vault 통합

목표: Azure Key Vault에서 런타임에 시크릿을 가져와 Azure를 사용하는 조직이 Semaphore에 저장하지 않고도 자격 증명을 중앙에서 관리하고 교체할 수 있도록 합니다.

요구 사항:

{
  "name": "Production Azure",
  "type": "azure_key_vault",
  "vault_url": "https://my-vault.vault.azure.net",
  "auth_method": "managed_identity",
  "tenant_id": "...",
  "client_id": "..."
}
{
  "type": "external",
  "backend": "azure_key_vault",
  "secret_name": "db-password",
  "version": "latest",
  "azure_config_id": 1
}

관련 이슈: #2248, #3170

6.3 통합 외부 시크릿 참조

목표: 지원되는 모든 클라우드 공급자의 시크릿을 가리키는 공통 키 스토어 항목 타입을 제공합니다.

요구 사항:

6.4 시크릿 캐싱

목표: 해석된 시크릿을 메모리에 캐싱하여 클라우드 공급자에 대한 API 호출을 줄입니다.

요구 사항:

데이터베이스 스키마 변경

새로운 테이블:

변경되는 테이블:

API Endpoints

구성

새로운 구성 옵션:

Key Env Var Default 설명
secret_cache_ttl SEMAPHORE_SECRET_CACHE_TTL 5m 해석된 외부 시크릿의 기본 메모리 내 캐시 TTL
secret_resolve_timeout SEMAPHORE_SECRET_RESOLVE_TIMEOUT 10s 시크릿 해석 시 클라우드 공급자 API 응답의 최대 대기 시간

You might also like