관리형 워크로드 아이덴티티 개요

관리형 워크로드 아이덴티티 기능은 Identity and Access Management API의 일부입니다. 관리형 워크로드 아이덴티티는 인증 기관 서비스에서 X.509 인증서를 자동으로 프로비저닝하고 관리하여 mTLS를 간소화합니다.

관리형 워크로드 아이덴티티는 고유한 SPIFFE ID를 사용하여 워크로드 간 통신을 식별, 인증, 보안하는 프레임워크를 제공하는 Secure Production Identity Framework For Everyone (SPIFFE) 표준을 기반으로 합니다.

이 페이지에서는 mTLS 인증을 위해 관리형 ID를 부하 분산기에 할당하는 컨텍스트에서 관리형 워크로드 아이덴티티를 설명합니다. 다른 워크로드의 관리형 워크로드 아이덴티티에 대해 자세히 알아보려면 관리형 워크로드 아이덴티티 개요를 참고하세요.

SPIFFE ID

관리형 ID는 SPIFFE ID로 표현됩니다. SPIFFE ID는 워크로드를 고유하게 식별하는 URI입니다. 백엔드 mTLS의 경우 워크로드는 부하 분산기의 백엔드 서비스입니다. 형식은 다음과 같습니다.

spiffe://TRUST_DOMAIN_NAME/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID

TRUST_DOMAIN_NAME은 다음과 같이 추가로 확장됩니다.

WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog

이를 종합하면 부하 분산기의 백엔드 서비스 리소스와 같은 Compute Engine 워크로드에는 다음과 같은 관리형 ID가 있을 수 있습니다.

spiffe://WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID

다음 섹션에서는 다양한 관리 워크로드 ID 리소스를 설명합니다.

관리형 워크로드 아이덴티티 리소스 계층 구조

부하 분산기의 관리형 워크로드 아이덴티티를 설정하려면 다음 리소스를 만들어야 합니다. 이러한 리소스는 이 문서의 다음 섹션에 설명되어 있습니다.

  • 워크로드 아이덴티티 풀
  • 네임스페이스
  • 관리형 워크로드 아이덴티티
  • 증명 정책

워크로드 아이덴티티 풀

관리형 워크로드 아이덴티티는 트러스트 도메인 역할을 하는 워크로드 아이덴티티 풀 내에서 정의됩니다.

트러스트 도메인은 워크로드가 SPIFFE ID를 사용하여 서로 인증하고 승인할 수 있는 논리적 보안 경계를 나타냅니다. 동일한 트러스트 도메인 내의 모든 워크로드는 공통 신뢰할 수 있는 루트를 공유하므로 워크로드가 서로의 ID를 확인할 수 있습니다.

관리형 ID를 사용하려면 TRUST_DOMAIN 모드에서 워크로드 아이덴티티 풀을 구성해야 합니다. 풀 내의 모든 ID는 단일 네임스페이스와 개별 워크로드 식별자로 구성됩니다.

다음 다이어그램에서 부하 분산기와 백엔드는 동일한 신뢰 도메인에 속하며 동일한 루트 인증서를 공유합니다. 루트 인증서는 신뢰 체인을 빌드하고 신뢰 도메인 내 워크로드의 아이덴티티를 확인하는 데 사용됩니다.

기본적으로 동일한 트러스트 도메인 내의 워크로드는 관리형 워크로드 아이덴티티를 사용하여 상호 인증할 수 있습니다. 서로 다른 트러스트 도메인에 있는 워크로드가 상호 인증하도록 하려면 워크로드 아이덴티티 풀에서 트러스트 관계를 명시적으로 선언해야 합니다. 다른 트러스트 도메인의 인증서를 인식하고 허용하는 인라인 트러스트 구성을 만들어 이를 수행합니다.

관리형 워크로드 아이덴티티 리소스 계층 구조입니다.
관리형 워크로드 아이덴티티 리소스 계층 구조 (확대하려면 클릭)

네임스페이스

워크로드 아이덴티티 풀 내에서 관리형 워크로드 아이덴티티는 네임스페이스라는 관리 경계로 구성됩니다. 네임스페이스를 사용하면 관련 워크로드 아이덴티티를 구성하고 액세스 권한을 부여할 수 있습니다.

관리형 워크로드 아이덴티티

관리형 워크로드 아이덴티티 또는 관리형 아이덴티티는 워크로드 아이덴티티 풀에서 구성된 워크로드 식별자입니다. Google Cloud리소스에 연결됩니다. 각 관리 ID는 네임스페이스와 개별 워크로드 식별자로 고유하게 식별됩니다.

백엔드 mTLS를 달성하는 맥락에서 관리 ID는 부하 분산기의 백엔드 서비스 리소스에 연결됩니다.

관리 ID의 값은 다음 형식을 준수해야 하는 완전하게 지정된 SPIFFE ID입니다.

spiffe://WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID

증명 정책

Compute Engine 리소스의 관리형 워크로드 아이덴티티를 사용하려면 증명 정책을 구성해야 합니다.

워크로드 증명 정책에는 관리형 워크로드 아이덴티티에 대해 X.509 인증서를 발급할 수 있는 워크로드를 지정하는 규칙이 포함되어 있습니다. 증명 정책은 프로젝트 ID 또는 리소스 이름과 같은 검증 가능한 워크로드 속성을 사용하여 신뢰할 수 있는 워크로드만 특정 관리형 ID를 사용할 수 있도록 합니다.

다음 단계