트러스트 번들(트러스트 목록이라고도 함)은 본질적으로 신뢰할 수 있고 신뢰가 다른 항목(신뢰할 수 있는 서드 파티)에 의해 이전되지 않는 항목과 같은 트러스트 앵커 그룹입니다. 이러한 신뢰 앵커는 인증 기관 (CA) 인증서로 제공됩니다. 인증 경로 빌드 알고리즘은 이러한 CA 인증서를 사용하여 검증을 획득하는 인증서와 신뢰 앵커 간의 체인을 설정합니다.
Google Distributed Cloud (GDC) 에어 갭 적용형에는 전용 신뢰 번들이 있습니다. 이 가이드에서는 조직 관리자의 신뢰 번들을 가져오는 단계를 설명합니다.
신뢰 번들 유형
Distributed Cloud는 플랫폼 관리자를 위해 두 가지 유형의 관리형 신뢰 번들을 제공합니다.
trust-store-root-ext
: 내부 루트 CA와 웹 TLS CA를 포함합니다. 콘텐츠는 루트 또는 테넌트 조직과 같은 위치에 따라 다릅니다. 이 신뢰 번들을 사용하여 조직 경계를 넘어 통신하거나 조직 내에서 객체 스토리지와 같은 서비스에 액세스합니다.trust-store-global-root-ext
: 전역 API 서버 및 영역 API 서버platform
네임스페이스에서 사용할 수 있습니다. 전역 API 서버가 준비되면 번들은 로컬 데이터를 비롯한 다른 모든 영역trust-store-root-ext
데이터를 채웁니다.
신뢰 번들 가져오기
kubectl
를 사용하여 잘 알려진 서버 엔드포인트나 클러스터에서 신뢰 번들을 가져올 수 있습니다.
잘 알려진 서버에서 가져오기
GDC는 잘 알려진 서버 엔드포인트를 통해 신뢰 번들에 액세스하는 안전한 방법을 제공합니다. kubectl
을 사용하여 클러스터와 직접 상호작용하지 않고 trust-store-global-root-ext
번들을 가져와야 하는 경우 이 메서드를 사용하세요.
다음 환경 변수를 내보냅니다.
export STORAGE=STORAGE export ORG_NAME=ORG_NAME
다음을 바꿉니다.
STORAGE
: 신뢰 번들 파일을 저장할 디렉터리 경로입니다.ORG_NAME
: GDC 내 조직의 이름입니다.
WELL_KNOWN_URL
환경 변수를 설정합니다.export WELL_KNOWN_URL=https://console.${ORG_NAME:?}.google.gdch.test/.well-known/certificate-authority
GLOBAL_TRUST_BUNDLE_FILE
환경 변수를 설정합니다. 이 파일은 지정된$STORAGE
위치에 GDC 신뢰 번들을 로컬로 저장합니다.export GLOBAL_TRUST_BUNDLE_FILE="$STORAGE/global/ca-bundles/global-trust-bundle"
잘 알려진 서버에서
trust-store-global-root-ext
트러스트 번들을 가져와 이전 단계에서 만든 파일에 저장합니다.Linux
echo -n | curl ${WELL_KNOWN_URL:?} > ${GLOBAL_TRUST_BUNDLE_FILE:?}
Windows
Invoke-WebRequest -Uri "https://console.${ORG_NAME}.google.gdch.test/.well-known/certificate-authority" -OutFile ".\global-trust-bundle.crt"
가져온 신뢰 번들 파일에 하나 이상의 CA 인증서가 포함되어 있습니다. 출력은 다음과 비슷합니다.
-----BEGIN CERTIFICATE----- MIIC8TCCAdmgAwIBAgIRAODQ/dOB39RBs8ZpN0RujIswDQYJKoZIhvcNAQELBQAw EjEQMA4GA1UEAxMHcm9vdC1jYTAeFw0yNTAxMDYwNzM3MzVaFw00ODEyMzEwNzM3 MzVaMBIxEDAOBgNVBAMTB3Jvb3QtY2EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQC41U4+3M1EAHggUBw5ki97533zTvwHukmZyORwbQ3tlQ4GQDscoCEh nn+KCaG767VCaGDcQhq99hl6qa/nBoc1X6WQ3a/uhv5E2ztRD40PB5NFNdSulxTH gsitukSmv+DAx15UJnVkJtPP/FzxEWPu0piIiFZakTxT83VUSs54QRmTahxP80FI R0xZ0ohsu9jzA2CAyxTccJU0/xE2kDwN8c8kiYYuG+czMdNVdnT4Jm2ToSkzIDux Yi9MzNmarVGG/rtW5SlqnUMYzSsxtUYSmMRlCsFDVxkSzfmICmTRw2zmNkFA/3nz XneVSIsUHOA2NzvMN4eoLTVRgSFcHlZRAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB hjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTEeB0EQwhc5p++GhwNymsBfN93 WjANBgkqhkiG9w0BAQsFAAOCAQEAKBqn4AXjUWmhIUOrWQ5cetsmI76Wl+RBeSzU HxbqMBH8Dk1oJbGHtmQbu7EmWz1pKYge650s9N83hMgjFZD24t9GiQZ7YY+i+317 D6HzJ8VIKPnxVtnUIQzCpkRTQoglDlb1f/7+fi2SYJoHdhnRI/3OaVQTnObjbW5T mBhsMxFKc0zGa3HIEm9SUH608V60xUPanl23YZ6X7W8nWAJfnzKvH+3q3Fz58u/S VR5t/FkbOktVtnU8AfcMKLof6KG2KhE2L7FAC+fp0ZsjV9vE2uqlZ+8mIQHyc3tM cbWxOx+SO/XUCenY9C1yrublln9aOEn4/s3aSURPguiSZOfDyQ== -----END CERTIFICATE-----
kubectl을 사용하여 클러스터에서 가져오기
kubectl
명령줄 도구를 사용하여 GDC 클러스터에서 직접 신뢰 번들을 가져올 수 있습니다. 클러스터와 구성에 직접 액세스할 수 있고 trust-store-root-ext
또는 trust-store-global-root-ext
신뢰 번들을 가져와야 하는 경우 이 메서드를 사용하세요.
이 섹션의 단계를 완료하려면 다음을 획득해야 합니다.
- 필요한 권한: 조직 IAM 관리자에게 신뢰 저장소 뷰어 (
trust-store-viewer
) 역할을 부여해 달라고 요청하세요. - kubeconfig 파일: 아직 kubeconfig 파일이 없다면 로그인하고 관리 API 서버의 kubeconfig 파일을 생성합니다. 다음 단계에서
MANAGEMENT_API_SERVER_KUBECONFIG
를 대체하려면 kubeconfig 파일의 경로가 필요합니다.
kubectl
를 사용하여 클러스터에서 신뢰 번들을 가져옵니다.
다음 환경 변수를 내보냅니다.
export KUBECONFIG=MANAGEMENT_API_SERVER_KUBECONFIG export STORAGE=STORAGE export ZONE=ZONE
다음을 바꿉니다.
MANAGEMENT_API_SERVER_KUBECONFIG
: 관리 API 서버 kubeconfig의 경로입니다.STORAGE
: 신뢰 번들 파일을 저장할 디렉터리 경로입니다.ZONE
: GDC 영역 이름입니다.
TRUST_BUNDLE_FILE
환경 변수를 설정합니다. 이 파일은 GDC$ZONE
의 지정된$STORAGE
위치에 GDC 신뢰 번들을 로컬로 저장합니다.export TRUST_BUNDLE_FILE="$STORAGE/$ZONE/ca-bundles/trust-bundle" export GLOBAL_TRUST_BUNDLE_FILE="$STORAGE/global/ca-bundles/global-trust-bundle"
네임스페이스의
NS
네임스페이스 환경 변수를 설정합니다.export NS=platform
인증 기관 (CA)을 가져와 2단계에서 만든 파일에 저장합니다.
trust-store-root-ext
의 경우:kubectl --kubeconfig ${KUBECONFIG} get secret trust-store-root-ext -n ${NS} -o go-template='{{ index .data "ca.crt" }}' | base64 -d | sed '$a\' > ${TRUST_BUNDLE_FILE}
trust-store-global-root-ext
의 경우:kubectl --kubeconfig ${KUBECONFIG} get secret trust-store-global-root-ext -n ${NS} -o go-template='{{ index .data "ca.crt" }}' | base64 -d | sed '$a\' > ${GLOBAL_TRUST_BUNDLE_FILE}
가져온 신뢰 번들 파일에 하나 이상의 CA 인증서가 포함되어 있습니다. 출력은 다음과 비슷합니다.
-----BEGIN CERTIFICATE----- MIIC8TCCAdmgAwIBAgIRAODQ/dOB39RBs8ZpN0RujIswDQYJKoZIhvcNAQELBQAw EjEQMA4GA1UEAxMHcm9vdC1jYTAeFw0yNTAxMDYwNzM3MzVaFw00ODEyMzEwNzM3 MzVaMBIxEDAOBgNVBAMTB3Jvb3QtY2EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQC41U4+3M1EAHggUBw5ki97533zTvwHukmZyORwbQ3tlQ4GQDscoCEh nn+KCaG767VCaGDcQhq99hl6qa/nBoc1X6WQ3a/uhv5E2ztRD40PB5NFNdSulxTH gsitukSmv+DAx15UJnVkJtPP/FzxEWPu0piIiFZakTxT83VUSs54QRmTahxP80FI R0xZ0ohsu9jzA2CAyxTccJU0/xE2kDwN8c8kiYYuG+czMdNVdnT4Jm2ToSkzIDux Yi9MzNmarVGG/rtW5SlqnUMYzSsxtUYSmMRlCsFDVxkSzfmICmTRw2zmNkFA/3nz XneVSIsUHOA2NzvMN4eoLTVRgSFcHlZRAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB hjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTEeB0EQwhc5p++GhwNymsBfN93 WjANBgkqhkiG9w0BAQsFAAOCAQEAKBqn4AXjUWmhIUOrWQ5cetsmI76Wl+RBeSzU HxbqMBH8Dk1oJbGHtmQbu7EmWz1pKYge650s9N83hMgjFZD24t9GiQZ7YY+i+317 D6HzJ8VIKPnxVtnUIQzCpkRTQoglDlb1f/7+fi2SYJoHdhnRI/3OaVQTnObjbW5T mBhsMxFKc0zGa3HIEm9SUH608V60xUPanl23YZ6X7W8nWAJfnzKvH+3q3Fz58u/S VR5t/FkbOktVtnU8AfcMKLof6KG2KhE2L7FAC+fp0ZsjV9vE2uqlZ+8mIQHyc3tM cbWxOx+SO/XUCenY9C1yrublln9aOEn4/s3aSURPguiSZOfDyQ== -----END CERTIFICATE-----