信頼バンドル(信頼リストとも呼ばれます)は、本質的に信頼されており、その信頼が別のエンティティ(信頼できる第三者)によって転送されないエンティティなどの信頼アンカーのグループです。これらのトラスト アンカーは、認証局(CA)証明書として提供されます。証明書パス構築アルゴリズムは、これらの CA 証明書を使用して、検証を取得する証明書とトラスト アンカーの間にチェーンを確立します。
Google Distributed Cloud(GDC)エアギャップには専用の信頼バンドルがあります。このガイドでは、組織管理者が信頼バンドルを取得する手順について説明します。
信頼バンドルのタイプ
Distributed Cloud は、プラットフォーム管理者に次の 2 種類のマネージド信頼バンドルを提供します。
trust-store-root-ext
: 内部ルート CA と web-tls CA が含まれます。コンテンツは、ルートやテナント組織など、コンテンツが存在する場所によって異なります。この信頼バンドルを使用して、組織の境界を越えて通信したり、組織内のオブジェクト ストレージなどのサービスにアクセスしたりします。trust-store-global-root-ext
: グローバル API サーバーとゾーン API サーバーのplatform
Namespace で使用できます。グローバル 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:?}.zone1.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
信頼バンドルを取得し、前の手順で作成したファイルに保存します。echo -n | curl ${WELL_KNOWN_URL:?} > ${GLOBAL_TRUST_BUNDLE_FILE:?}
取得したトラスト バンドル ファイルには、1 つ以上の 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 ファイルがない場合は、ログインして Management API サーバーの kubeconfig ファイルを生成します。以降のステップで
MANAGEMENT_API_SERVER_KUBECONFIG
を置き換えるには、kubeconfig ファイルのパスが必要です。
kubectl
を使用してクラスタから信頼バンドルを取得します。
次の環境変数をエクスポートします。
export KUBECONFIG=MANAGEMENT_API_SERVER_KUBECONFIG export STORAGE=STORAGE export ZONE=ZONE
次のように置き換えます。
MANAGEMENT_API_SERVER_KUBECONFIG
: Management 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}
取得したトラスト バンドル ファイルには、1 つ以上の 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-----