Machine & Workload Identity를 활용한 CI/CD
Teleport v18.9Teleport Machine & Workload Identity는 런타임에 단기 인증서를 발급하여 CI/CD 파이프라인에서 장기 정적 시크릿이 필요하지 않도록 합니다. 이 페이지에서는 Machine & Workload Identity가 CI/CD 파이프라인 보안에 제공하는 이점을 설명합니다.
Teleport Machine & Workload Identity는 런타임에 단기 인증서를 발급하여 CI/CD 파이프라인에서 장기 정적 시크릿이 필요하지 않도록 합니다. Teleport는 다양한 CI/CD 제공업체 및 배포 대상과 네이티브로 통합됩니다.
이 페이지에서는 Machine & Workload Identity가 CI/CD 파이프라인 보안에 제공하는 이점을 설명합니다.
CI/CD 플랫폼 선택#
, to: "../../deployment/azure-devops", name: "Azure DevOps", }, { icon: , to: "../../deployment/bitbucket", name: "Bitbucket Pipelines", }, { icon: , to: "../../deployment/circleci", name: "CircleCI", }, { icon: , to: "../../deployment/gitlab", name: "GitLab CI", }, { icon: , to: "../../deployment/github-actions", name: "GitHub Actions", }, { icon: , to: "../../deployment/jenkins", name: "Jenkins", }, { icon: , to: "../../../configuration/terraform-provider/spacelift", name: "Spacelift", } ]} />
CI/CD 파이프라인에서 시크릿 제거하기#
일반적인 CI/CD 구성에서는 사내 네트워크 외부의 GitHub 인프라에서 실행되는 GitHub Actions와 같은 파이프라인이 컨테이너 이미지를 빌드하고, 이를 컨테이너 레지스트리에 푸시한 다음, 컨테이너 오케스트레이션 플랫폼(예: 쿠버네티스)에서 실행 중인 애플리케이션을 업데이트합니다.
이 워크플로는 일반적으로 다음과 같이 CI/CD 시스템에 저장된 민감한 자격 증명에 의존합니다:
- 클라우드 제공업체 접근 자격 증명(예: AWS, GCP, Azure)
- 오케스트레이션 플랫폼에 배포하기 위한 설정 파일 또는 토큰
전통적으로 플랫폼 팀은 정적 자격 증명을 생성하여 개발 팀과 공유했으며, 개발 팀은 리포지터리를 수동으로 업데이트할 책임을 졌습니다. 자격 증명 생성 과정에서 보안 로그가 생성되기는 하지만, 팀들은 이를 GitHub의 감사 로그와 연관 지어 적시에 로테이션이 이루어졌는지 확인할 신뢰할 만한 방법이 없는 경우가 많습니다. Slack, 이메일, 파일 드롭, 비밀번호 관리자를 통해 자격 증명을 공유하면 위험이 더욱 커집니다. 게다가 쿠버네티스 API를 인터넷에 노출시키면 불필요한 공격 표면이 생깁니다.
Teleport는 런타임에 단기 아이덴티티 기반 자격 증명을 발급하여 이러한 공유 시크릿의 필요성을 없애줍니다. CI/CD 시스템에 정적 접근 토큰을 저장하는 대신, 파이프라인은 자동으로 만료되는 임시 자격 증명을 요청할 수 있어 자격 증명 유출 위험을 줄이고 접근 관리를 단순화합니다.
임시 자격 증명을 통한 안전하고 감사 가능한 접근#
CI/CD 파이프라인에서 Teleport는 각 작업이 시작될 때 임시 단기 아이덴티티를 생성함으로써 정적 자격 증명의 필요성을 없애줍니다:
- 안전한 AWS 접근(예: ECR 또는 S3 접근)을 위해 AWS IAM Roles Anywhere와 함께 사용되는 SPIFFE Verifiable Identity Document(SVID)
- 클러스터와 상호작용하기 위한 시간 제한 쿠버네티스 설정 파일
이러한 자격 증명은 작업이 완료되면 자동으로 만료되는 단기 JWT-SVID 또는 X.509 인증서로 발급됩니다. 이를 통해 보안 태세가 개선되고 플랫폼 팀의 자격 증명 관리가 단순화됩니다. 모든 사용 내역은 Teleport에 의해 기록되며, CI/CD 러너의 쿠버네티스 명령은 Teleport 프록시를 통해 라우팅되어 프라이빗 API 엔드포인트에 대한 안전한 접근과 완전한 감사 가시성을 제공합니다.