10장. 제로 트러스트 워크로드 아이덴티티 관리자


10.1. Zero Trust Workload Identity Manager 개요

중요

Zero Trust Workload Identity Manager는 기술 미리 보기 기능에 불과합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

Zero Trust Workload Identity Manager는 SPIFFE(Secure Production Identity Framework for Everyone)와 SPIFFE Runtime Environment(SPIRE)를 활용하여 분산 시스템을 위한 포괄적인 ID 관리 솔루션을 제공합니다. SPIFFE와 SPIRE는 워크로드 ID에 대한 표준화된 접근 방식을 제공하여 워크로드가 동일한 클러스터 또는 다른 환경에 있는 다른 서비스와 통신할 수 있도록 합니다.

Zero Trust Workload Identity Manager는 장기간 수동으로 관리되던 비밀을 암호학적으로 검증 가능한 ID로 대체합니다. 이는 서로 통신하는 워크로드가 주장하는 바와 일치하는지 확인하는 강력한 인증을 제공합니다. SPIRE는 SPIFFE 검증 가능 신원 문서(SVID)의 발급, 교체 및 취소를 자동화하여 비밀을 관리하는 개발자와 관리자의 업무 부담을 줄여줍니다.

SPIFFE는 온프레미스, 클라우드, 하이브리드 환경을 포함한 다양한 인프라에서 작동할 수 있습니다. SPIFFE ID는 암호화를 통해 감사 및 규정 준수의 기반을 제공합니다.

Zero Trust Workload Identity Manager 아키텍처의 구성 요소는 다음과 같습니다.

10.1.1. 스피페

SPIFFE(Secure Production Identity Framework for Everyone)는 분산 시스템에서 소프트웨어 워크로드 간의 신뢰를 구축하는 표준화된 방법을 제공합니다. SPIFFE는 SPIFFE ID라고 하는 고유한 ID를 할당합니다. 이러한 ID는 신뢰 도메인과 워크로드 식별자를 포함하는 URI(Uniform Resource Identifier)입니다.

SPIFFE ID는 SPIFFE 검증 가능 신분증(SVID)에 포함되어 있습니다. SVID는 워크로드가 다른 워크로드에 대한 신원을 확인하고 워크로드가 서로 통신할 수 있도록 하는 데 사용됩니다. 두 가지 주요 SVID 형식은 다음과 같습니다.

  • X.509-SVID: SPIFFE ID가 SAN(주체 대체 이름) 필드에 포함된 X.509 인증서입니다.
  • JWT-SVID: SPIFFE ID가 하위 클레임으로 포함된 JSON 웹 토큰(JWT)입니다.

자세한 내용은 SPIFFE 개요를 참조하세요.

10.1.2. SPIRE 서버

SPIRE 서버는 신뢰 도메인 내에서 SPIFFE ID를 관리하고 발급하는 역할을 합니다. 등록 항목(SPIFFE ID가 발급되어야 하는 조건을 결정하는 선택자)과 서명 키를 저장합니다. SPIRE 서버는 SPIRE 에이전트와 함께 작동하여 노드 플러그인을 통해 노드 증명을 수행합니다. 자세한 내용은 SPIRE 서버 정보를 참조하세요.

10.1.3. SPIRE 에이전트

SPIRE 에이전트는 워크로드 증명을 담당하여 SPIFFE 워크로드 API를 통해 인증을 요청할 때 워크로드가 검증된 ID를 받도록 보장합니다. 구성된 워크로드 증명자 플러그인을 사용하여 이를 달성합니다. Kubernetes 환경에서는 Kubernetes 워크로드 증명자 플러그인이 사용됩니다.

SPIRE와 SPIRE 에이전트는 노드 플러그인을 통해 노드 증명을 수행합니다. 플러그인은 에이전트가 실행 중인 노드의 ID를 확인하는 데 사용됩니다. 자세한 내용은 SPIRE 에이전트 정보를 참조하세요.

10.1.4. 증명

증명은 SPIFFE ID와 SVID가 발급되기 전에 노드와 워크로드의 신원을 확인하는 프로세스입니다. SPIRE 서버는 SPIRE 에이전트가 실행되는 워크로드와 노드의 속성을 수집한 다음, 워크로드가 등록될 때 정의된 선택기 세트와 이를 비교합니다. 비교가 성공하면 엔터티에 자격 증명이 제공됩니다. 이를 통해 신뢰 도메인 내의 합법적이고 예상되는 엔터티만 암호화된 ID를 받을 수 있습니다. SPIFFE/SPIRE의 두 가지 주요 증명 유형은 다음과 같습니다.

  • 노드 증명: 노드에서 실행되는 SPIRE 에이전트가 워크로드에 대한 ID를 요청할 수 있도록 신뢰하기 전에 시스템의 머신이나 노드의 ID를 검증합니다.
  • 워크로드 증명: 해당 노드의 SPIRE 에이전트가 SPIFFE ID와 SVID를 제공하기 전에 증명된 노드에서 실행되는 애플리케이션이나 서비스의 신원을 확인합니다.

자세한 내용은 증명을 참조하세요.

10.1.5. Zero Trust Workload Identity Manager 구성 요소

다음 구성 요소는 Zero Trust Workload Identity Manager의 초기 릴리스의 일부로 제공됩니다.

10.1.5.1. SPIFFE CSI 드라이버

SPIFFE 컨테이너 스토리지 인터페이스(CSI)는 워크로드 API 소켓을 포드에 전달하여 포드가 안전하게 SPIFFE 검증 가능 신원 문서(SVID)를 얻을 수 있도록 돕는 플러그인입니다. SPIFFE CSI 드라이버는 클러스터에 데몬셋으로 배포되어 각 노드에서 드라이버 인스턴스가 실행되도록 합니다. 드라이버는 Kubernetes의 임시 인라인 볼륨 기능을 사용하여 포드가 SPIFFE CSI 드라이버에서 직접 제공하는 볼륨을 요청할 수 있도록 합니다. 이를 통해 임시 저장소가 필요한 애플리케이션에서 사용이 간편해집니다.

포드가 시작되면 Kubelet은 SPIFFE CSI 드라이버를 호출하여 볼륨을 프로비저닝하고 포드의 컨테이너에 마운트합니다. SPIFFE CSI 드라이버는 SPIFFE 워크로드 API가 포함된 디렉토리를 포드에 마운트합니다. 그러면 포드 내의 애플리케이션은 Workload API와 통신하여 SVID를 얻습니다. 드라이버는 각 SVID가 고유함을 보장합니다.

10.1.5.2. SPIRE OpenID Connect Discovery Provider

SPIRE OpenID Connect Discovery Provider는 토큰 검증을 위한 오픈 ID 구성 엔드포인트와 JWKS URI를 노출하여 SPIRE에서 발급한 JWT-SVID가 표준 OpenID Connect(OIDC) 사용자와 호환되도록 하는 독립 실행형 구성 요소입니다. 특히 외부 API와 같이 OIDC 호환 토큰이 필요한 시스템과 SPIRE 기반 워크로드 ID를 통합하는 것이 필수적입니다. SPIRE는 주로 워크로드에 대한 ID를 발급하지만, SPIRE의 구성을 통해 추가적인 워크로드 관련 클레임을 JWT-SVID에 내장할 수 있습니다. 이러한 클레임은 토큰에 포함되어 OIDC 호환 클라이언트에서 검증됩니다.

10.1.5.3. SPIRE 컨트롤러 관리자

SPIRE 컨트롤러 관리자는 사용자 정의 리소스 정의(CRD)를 사용하여 워크로드 등록을 용이하게 합니다. 작업 부하 등록을 용이하게 하기 위해 SPIRE 컨트롤러 관리자는 컨트롤러를 포드와 CRD에 등록합니다. 이러한 리소스에서 변경 사항이 감지되면 작업 조정 프로세스가 트리거됩니다. 이 프로세스는 기존 포드와 CRD를 기반으로 어떤 SPIRE 항목이 존재해야 하는지 결정합니다. 조정 프로세스에서는 필요에 따라 SPIRE 서버에 항목을 생성, 업데이트, 삭제합니다.

SPIRE 컨트롤러 관리자는 SPIRE 서버와 동일한 포드에 배포되도록 설계되었습니다. 관리자는 공유 볼륨 내의 개인 UNIX 도메인 소켓을 사용하여 SPIRE 서버 API와 통신합니다.

10.1.6. Zero Trust Workload Identity Manager 기능

10.1.6.1. SPIRE 서버 및 에이전트 원격 측정

SPIRE 서버와 에이전트 원격 측정은 SPIRE 배포의 상태에 대한 통찰력을 제공합니다. 측정항목은 Prometheus Operator가 제공하는 형식을 따릅니다. 노출된 메트릭은 서버 상태 및 수명 주기, SPIRE 구성 요소 성능, 증명 및 SVID 발급, 플러그인 통계를 이해하는 데 도움이 됩니다.

10.1.7. Zero Trust Workload Identity Manager 워크플로에 대한 정보

다음은 Red Hat OpenShift 클러스터 내의 Zero Trust Workload Identity Manager의 상위 수준 워크플로입니다.

  1. SPIRE, SPIRE 에이전트, SPIFFE CSI 드라이버 및 SPIRE OIDC Discovery Provider 피연산자는 연관된 고객 리소스 정의(CRD)를 통해 Zero Trust Workload Identity Manager에 의해 배포되고 관리됩니다.
  2. 그런 다음 관련 Kubernetes 리소스에 대한 감시가 등록되고 필요한 SPIRE CRD가 클러스터에 적용됩니다.
  3. 클러스터 라는 이름의 ZeroTrustWorkloadIdentityManager 리소스에 대한 CR은 컨트롤러에 의해 배포되고 관리됩니다.
  4. SPIRE 서버, SPIRE 에이전트, SPIFFE CSI 드라이버, SPIRE OIDC Discovery Provider를 배포하려면 각 유형의 사용자 지정 리소스를 만들고 클러스터 라는 이름을 지정해야 합니다. 사용자 정의 리소스 유형은 다음과 같습니다.

    • SPIRE 서버 - SpireServer
    • SPIRE 에이전트 - SpireAgent
    • SPIFFE CSI 드라이버 - SpiffeCSIDriver
    • SPIRE OIDC 검색 제공자 - SpireOIDCDiscoveryProvider
  5. 노드가 시작되면 SPIRE 에이전트가 초기화되고 SPIRE 서버에 연결됩니다.
  6. SPIRE 에이전트가 노드 증명 프로세스를 시작합니다. 에이전트는 레이블 이름, 네임스페이스 등 노드의 ID에 대한 정보를 수집합니다. 에이전트는 증명을 통해 수집한 정보를 SPIRE 서버에 안전하게 제공합니다.
  7. 그런 다음 SPIRE 서버는 이 정보를 구성된 증명 정책 및 등록 항목과 비교 평가합니다. 성공하면 서버는 에이전트 SVID와 신뢰 번들(CA 인증서)을 생성하고 이를 안전하게 SPIRE 에이전트로 다시 전송합니다.
  8. 워크로드는 노드에서 시작되며 보안 ID가 필요합니다. 워크로드는 에이전트의 워크로드 API에 연결하여 SVID를 요청합니다.
  9. SPIRE 에이전트는 요청을 수신하고 워크로드 증명을 시작하여 워크로드에 대한 정보를 수집합니다.
  10. SPIRE 에이전트가 정보를 수집한 후, 해당 정보는 SPIRE 서버로 전송되고 서버는 구성된 등록 항목을 확인합니다.
  11. SPIRE 에이전트는 워크로드 SVID와 신뢰 번들을 수신하여 워크로드에 전달합니다. 이제 작업 부하에서는 다른 SPIFFE 인식 장치에 SVID를 제공하여 통신할 수 있습니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat