Adicione ACs personalizadas ao pacote de fidedignidade do sistema

Esta página explica como adicionar certificados de autoridades de certificação (ACs) personalizadas ao pacote de confiança do sistema no Google Distributed Cloud (GDC) air-gapped. Um pacote de confiança é uma coleção de ACs fidedignas que os serviços da sua organização usam para validar a identidade de outros serviços. Ao adicionar as suas próprias ACs personalizadas, pode controlar os certificados nos quais a sua organização confia, o que permite ligações seguras aos seus recursos internos e a outros pontos finais fidedignos.

Esta página aborda como adicionar ACs personalizadas ao pacote de confiança do sistema trust-store-root-ext. Quando modifica o pacote de confiança trust-store-root-ext, as alterações são propagadas automaticamente para o pacote trust-store-global-root-ext, o que torna as suas ACs personalizadas disponíveis em todas as zonas.

Esta página destina-se a públicos-alvo no grupo de administradores da plataforma (como administradores de TI) que precisam de gerir e proteger os recursos da respetiva organização no GDC. Para mais informações, consulte o artigo Públicos-alvo para a documentação do GDC air-gapped.

Antes de começar

Para adicionar certificados de ACs personalizadas ao pacote de confiança do sistema, tem de pedir as autorizações necessárias e preparar o seu ambiente.

Peça funções de IAM

Para criar, ler, atualizar e eliminar segredos, contacte o administrador de IAM da organização para pedir a função Administrador do arquivo de confiança (trust-store-admin).

Prepare o seu ambiente

Gere um ficheiro kubeconfig

Conclua os passos seguintes para gerar o ficheiro kubeconfig para o cluster de infraestrutura da organização e defini-lo como a variável KUBECONFIG para usar mais tarde.

  1. Veja todas as zonas disponíveis:

    gdcloud zones list
    

    Anote o nome da zona que aloja o seu recurso personalizado.

  2. Defina a variável de ambiente ZONE para a zona que aloja o cluster de infraestrutura da organização:

    export ZONE="ZONE"
    

    Substitua ZONE pelo nome da zona.

  3. Defina a variável de ambiente ORG_INFRA_CLUSTER:

    export ORG_INFRA_CLUSTER="ORG_NAME-infra"
    

    Substitua ORG_NAME pelo nome da sua organização, como org-1.

  4. Gere o ficheiro kubeconfig do cluster de infraestrutura da organização para a zona segmentada e valide as credenciais:

    export KUBECONFIG=${HOME}/${ORG_INFRA_CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${ORG_INFRA_CLUSTER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${ORG_INFRA_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    O comando rm ${KUBECONFIG:?} remove o ficheiro kubeconfig existente no diretório principal. Quando gera um novo ficheiro kubeconfig, este substitui o existente. Se não quiser substituir nem remover o ficheiro existente, faça uma cópia de segurança noutro local seguro.

Adicione ACs personalizadas ao pacote de confiança do sistema

Para adicionar ACs personalizadas ao pacote de confiança do sistema trust-store-root-ext, tem de preparar o recurso de AC personalizada e, em seguida, aplicá-lo ao cluster de infraestrutura da organização.

  1. Defina a variável de ambiente para o ficheiro PEM da AC personalizada:

    export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILE
    

    Substitua CUSTOM_CA_PEM_FILE pelo caminho para o ficheiro que contém os certificados de ACs personalizadas, codificados no formato PEM.

  2. Codifique os certificados de ACs com base64:

    export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)
    
  3. Crie o ficheiro YAML secreto (custom-ca.yaml) que segmenta 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
    

    Segue-se um exemplo de um ficheiro 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 segredo ao cluster de infraestrutura da organização com o comando kubectl:

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

    Este passo torna as suas ACs personalizadas disponíveis para os serviços do GDC através da atualização automática dos pacotes de confiança trust-store-root-ext e trust-store-global-root-ext.

Valide se as ACs estão disponíveis

Confirme que as ACs personalizadas foram adicionadas ao pacote de confiança:

  1. Transfira a versão mais recente do pacote de confiança trust-store-root-ext seguindo os passos em Obtenha pacotes de confiança do GDC.

    Se quiser obter as ACs personalizadas a partir de uma zona diferente, use o pacote de confiança trust-store-global-root-ext.

  2. Abra o ficheiro do pacote de confiança transferido e confirme que cada certificado de AC personalizada especificado por CUSTOM_CA_PEM_FILE está presente.

    Pesquise cada certificado de AC personalizada individualmente. A ordem pela qual aparecem pode variar. Não é garantido que apareçam no final da lista.

    Segue-se 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-----