워크로드 아이덴티티 X.509 발행자 재정의 리소스
X.509 발행자 재정의 기능은 Teleport가 발행자 SPIFFE X509-SVID 자격 증명으로 사용하는 자체 서명된 X.509 인증서를, 선택적 인증서 체인과 함께 원하는 발행 인증서로 교체하는 방법을 제공합니다.
X.509 발행자 재정의 기능은 Teleport가 발행자 SPIFFE X509-SVID 자격 증명으로 사용하는 자체 서명된 X.509 인증서를, 선택적 인증서 체인과 함께 원하는 발행 인증서로 교체하는 방법을 제공합니다. 기본 workload_identity_x509_issuer_override 리소스를 구성한 후에는 tbot 또는 tsh에 발행된 모든 X509-SVID 자격 증명이 리소스에 지정된 발행자 중 하나에 의해 발행되고 적절한 인증서 체인을 포함합니다.
Teleport 워크로드 아이덴티티의 X.509 발행자 재정의 기능을 사용하려면 유효한 Teleport Enterprise 라이선스가 필요합니다.
필수 조건#
X.509 발행자 재정의 기능은 Teleport 17.4.5에서 도입되었습니다. 이전 버전의 제어 플레인을 실행하는 클러스터는 이 기능을 지원하지 않으며, 이전 버전의 tbot 또는 tsh에 발행된 자격 증명은 클러스터에 재정의가 구성되어 있어도 내부 Teleport 인증 기관에서 발행됩니다.
구성#
다음은 YAML 형식의 workload_identity_x509_issuer_override 리소스 예시입니다:
kind: workload_identity_x509_issuer_override
version: v1
metadata:
# 재정의 구성의 이름; 현재 리터럴 문자열 "default"여야 합니다.
name: default
spec:
overrides:
- issuer: ""
chain:
- ""
- "..."
- issuer: "..."
chain:
- "..."
spec.overrides 목록의 issuer 인증서에 있는 공개 키는 전체 목록에서 고유해야 합니다. SPIFFE 인증 기관에 대한 CA 순환이 시작되거나 시간이 지남에 따라 workload_identity_x509_issuer_override 리소스를 최신 상태로 유지하는 것이 중요합니다. issuer 인증서나 chain의 인증서는 인증서 발행 시 만료 또는 유효성이 확인되지 않으며, SPIFFE 인증 기관의 활성 및 사용 가능한 X.509 인증서 중 어느 것이나 원래 발행 인증서로 선택될 수 있으며, 선택된 내부 발행 인증서와 동일한 공개 키를 가진 issuer 인증서가 기본 재정의에 없으면 X509-SVID 발행이 실패합니다. 일반적으로 SPIFFE 인증 기관에는 단일 인증서만 존재하므로 workload_identity_x509_issuer_override 리소스에는 하나의 재정의만 필요합니다.
tctl을 사용하여 인증서 서명 요청 얻기#
일부 관리형 PKI 서비스는 인증서 발행에 공개 키만이 아닌 서명된 CSR(인증서 서명 요청)이 필요합니다. tctl workload-identity x509-issuer-overrides sign-csrs 명령을 사용하여 클러스터의 SPIFFE 인증 기관에 있는 모든 X.509 인증서에 대한 CSR에 서명할 수 있습니다.
$ tctl workload-identity x509-issuer-overrides sign-csrs
SERIALNUMBER=123456789012345678901234567890123456789,CN=clustername,O=clustername
-----BEGIN CERTIFICATE REQUEST-----
...
-----END CERTIFICATE REQUEST-----
SERIALNUMBER=234567890123456789012345678901234567890,CN=clustername,O=clustername
-----BEGIN CERTIFICATE REQUEST-----
...
-----END CERTIFICATE REQUEST-----
이 명령을 사용하려면 명령을 실행하는 신원과 연결된 역할 중 하나에서 workload_identity_x509_issuer_override_csr 리소스 종류에 대한 create 권한이 필요합니다.
HSM(하드웨어 보안 모듈)을 사용하는 클러스터에서는 단일 Teleport Auth Service 인스턴스가 SPIFFE 인증 기관을 구성하는 모든 키에 대한 서명을 동시에 생성할 수 없을 수 있습니다. 이러한 경우 Auth Service를 실행하는 각 머신에서 --force 옵션과 함께 sign-csrs 명령을 사용하여 다양한 HSM에서 관리하는 키에 대한 CSR을 수집할 수 있습니다.
tctl을 사용하여 인증서 체인 PEM 파일에서 workload_identity_x509_issuer_override 생성하기#
tctl workload-identity x509-issuer-overrides create 명령을 사용하여 각각 인증서 체인이 포함된 하나 이상의 PEM 파일에서 workload_identity_x509_issuer_override 리소스를 구성하고, 클러스터에서 기존 리소스를 생성하거나 강제로 덮어쓸 수 있습니다. 명령은 지정된 체인의 첫 번째 인증서가 다른 공개 키를 가지는지 확인하고, Teleport 클러스터의 SPIFFE 인증 기관에서 신뢰할 수 있는 X.509 인증서와 1:1로 일치하는지 확인합니다.
$ tctl workload-identity x509-issuer-overrides create subca1.pem subca2.pem
ERROR: override already exists, use the --force option to overwrite it
workload_identity_x509_issuer_override "default" already exists
$ tctl workload-identity x509-issuer-overrides create --force subca1.pem subca2.pem
Written workload_identity_x509_issuer_override; to check, run tctl get workload_identity_x509_issuer_override/default
이 명령을 사용하려면 workload_identity_x509_issuer_override 리소스 종류에 대한 create 또는 create와 update 권한이 필요합니다.
tctl을 사용하여 workload_identity_x509_issuer_override 직접 조작하기#
tctl get, tctl create, tctl create -f, tctl edit, tctl rm 명령을 사용하여 workload_identity_x509_issuer_override 리소스를 조작할 수 있습니다.
$ tctl get workload_identity_x509_issuer_override/default | tee override.yaml
kind: workload_identity_x509_issuer_override
metadata:
name: default
spec:
...
$ tctl rm workload_identity_x509_issuer_override/default
workload_identity_x509_issuer_override "default" has been deleted
$ tctl create override.yaml
workload_identity_x509_issuer_override "default" has been created
이 명령들을 사용하려면 workload_identity_x509_issuer_override 리소스 종류에 대한 적절한 권한(create, update, delete, read, list)이 필요합니다.
