カスタム CA をシステム信頼バンドルに追加する

このページでは、Google Distributed Cloud(GDC)エアギャップ内のシステム信頼バンドルにカスタム認証局(CA)証明書を追加する方法について説明します。信頼バンドルは、組織のサービスが他のサービスの ID を検証するために使用する信頼できる CA のコレクションです。独自のカスタム CA を追加することで、組織が信頼する証明書を制御し、内部リソースやその他の信頼できるエンドポイントへの安全な接続を確立できます。

このページでは、カスタム CA を trust-store-root-ext システム信頼バンドルに追加する方法について説明します。trust-store-root-ext 信頼バンドルを変更すると、変更が trust-store-global-root-ext バンドルに自動的に伝播され、カスタム CA がすべてのゾーンで使用できるようになります。

このページは、GDC 内で組織のリソースを管理および保護する必要があるプラットフォーム管理者グループ(IT 管理者など)のユーザーを対象としています。詳細については、GDC エアギャップのオーディエンスに関するドキュメントをご覧ください。

始める前に

  • 必要な権限: 組織の IAM 管理者に、トラスト ストア管理者(trust-store-admin)ロールの付与を依頼します。

  • kubeconfig ファイル: まだ kubeconfig ファイルがない場合は、ログインしてインフラストラクチャ クラスタ API サーバーの kubeconfig ファイルを生成します。次の手順で INFRA_CLUSTER_KUBECONFIG を置き換えるには、kubeconfig ファイルのパスが必要です。

カスタム CA をシステム信頼バンドルに追加する

カスタム CA を trust-store-root-ext システム信頼バンドルに追加するには、カスタム CA リソースを準備してから、クラスタに適用する必要があります。

  1. 次の環境変数をエクスポートします。

    export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILE
    export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG
    

    次のように置き換えます。

    • CUSTOM_CA_PEM_FILE: PEM 形式でエンコードされたカスタム CA 証明書を含むファイルへのパス。
    • INFRA_CLUSTER_KUBECONFIG: インフラストラクチャ クラスタの kubeconfig ファイルへのパス。
  2. base64 を使用して CA 証明書をエンコードします。

    export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)
    
  3. trust-store-root-ext システム信頼バンドルをターゲットとするシークレット YAML ファイル(custom-ca.yaml)を作成します。

    cat > custom-ca.yaml <<EOF
    apiVersion: v1
    kind: Secret
    metadata:
      annotations:
        security.private.gdc.goog/bundles: trust-store-root-ext
      name: custom-ca
      namespace: cert-manager
    data:
      ca.crt: ${ENCODED_CA:?}
    EOF
    

    custom-ca.yaml ファイルの例を次に示します。

    apiVersion: v1
    kind: Secret
    metadata:
      annotations:
        security.private.gdc.goog/bundles: trust-store-root-ext
      name: custom-ca
      namespace: cert-manager
    data:
       ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSU...LQWZRSUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    
  4. kubectl コマンドを使用して、Secret を Infra クラスタに適用します。

     kubectl apply -f custom-ca.yaml --kubeconfig ${KUBECONFIG:?}
    

    この手順では、trust-store-root-exttrust-store-global-root-ext の信頼バンドルを自動的に更新して、カスタム CA を GDC サービスで使用できるようにします。

CA が使用可能であることを確認する

カスタム CA が信頼バンドルに追加されたことを確認します。

  1. GDC トラスト バンドルを取得するの手順に沿って、trust-store-root-ext トラスト バンドルの最新バージョンをダウンロードします。

    別のゾーンからカスタム CA を取得する場合は、trust-store-global-root-ext 信頼バンドルを使用します。

  2. ダウンロードした信頼バンドル ファイルを開き、CUSTOM_CA_PEM_FILE で指定された各カスタム CA 証明書が存在することを確認します。

    カスタム CA 証明書を個別に検索します。表示される順序は異なる場合があります。リストの最後に表示されるとは限りません。

    次に、trust-store-root-ext の例を示します。

    -----BEGIN CERTIFICATE-----
    MIIC8DCCAdigAwIBAgIQPLOPa...
    -----END CERTIFICATE-----
    ... other CAs ...
    -----BEGIN CERTIFICATE-----
       < Imported CA data>
    -----END CERTIFICATE-----
    ... other CAs ...
    -----BEGIN CERTIFICATE-----
    MIIDAzCCAeugAwIBAgIRAIV2...
    -----END CERTIFICATE-----