Adicionar CAs personalizadas ao pacote de confiança do sistema

Nesta página, explicamos como adicionar certificados de autoridade certificadora (CA) personalizados ao pacote de confiança do sistema no Google Distributed Cloud (GDC) isolado por air-gap. Um pacote de confiança é uma coleção de CAs confiáveis que os serviços da sua organização usam para verificar a identidade de outros serviços. Ao adicionar suas próprias CAs personalizadas, você controla quais certificados sua organização confia, permitindo conexões seguras com seus recursos internos e outros endpoints confiáveis.

Esta página explica como adicionar CAs personalizadas ao pacote de confiança do sistema trust-store-root-ext. Quando você modifica o pacote de confiança trust-store-root-ext, as mudanças são propagadas automaticamente para o pacote trust-store-global-root-ext, disponibilizando suas CAs personalizadas em todas as zonas.

Esta página é destinada a públicos-alvo no grupo de administradores da plataforma (como administradores de TI) que precisam gerenciar e proteger os recursos da organização no GDC. Para mais informações, consulte Públicos-alvo da documentação do GDC isolada por ar.

Antes de começar

  • Permissões necessárias: peça ao administrador do IAM da organização para conceder a você o papel de administrador da loja de confiança (trust-store-admin).

  • Arquivo kubeconfig: faça login e gere o arquivo kubeconfig para o servidor da API do cluster de infraestrutura, caso ainda não tenha um. Você precisa do caminho para o arquivo kubeconfig para substituir INFRA_CLUSTER_KUBECONFIG nas etapas a seguir.

Adicionar CAs personalizadas ao pacote de confiança do sistema

Para adicionar CAs personalizados ao pacote de confiança do sistema trust-store-root-ext, prepare o recurso de CA personalizada e aplique-o ao cluster.

  1. Exporte as seguintes variáveis de ambiente:

    export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILE
    export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG
    

    Substitua:

    • CUSTOM_CA_PEM_FILE: o caminho para o arquivo que contém seus certificados de CA personalizados, codificados no formato PEM.
    • INFRA_CLUSTER_KUBECONFIG: o caminho até o arquivo kubeconfig do cluster de infraestrutura.
  2. Codifique os certificados de CA usando base64:

    export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)
    
  3. Crie o arquivo YAML de secret (custom-ca.yaml) que tem como destino o pacote de confiança do sistema trust-store-root-ext:

    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
    

    Veja a seguir um exemplo de arquivo 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. Aplique o secret ao cluster de infraestrutura usando o comando kubectl:

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

    Esta etapa disponibiliza suas CAs personalizadas para os serviços do GDC atualizando automaticamente os pacotes de confiança trust-store-root-ext e trust-store-global-root-ext.

Verificar se as CAs estão disponíveis

Confirme se as CAs personalizadas foram adicionadas ao pacote de confiança:

  1. Faça o download da versão mais recente do pacote de confiança trust-store-root-ext seguindo as etapas em Buscar pacotes de confiança do GDC.

    Se você quiser buscar as CAs personalizadas de uma zona diferente, use o pacote de confiança trust-store-global-root-ext.

  2. Abra o arquivo de pacote de confiança baixado e confirme se cada certificado de CA personalizada especificado por CUSTOM_CA_PEM_FILE está presente.

    Pesquise cada certificado de CA personalizada individualmente. A ordem em que eles aparecem pode variar, e não há garantia de que eles vão aparecer no final da lista.

    Confira abaixo um exemplo de 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-----