Esta página descreve como rodar a autoridade de certificação de raiz usada para a validação de pacotes no dispositivo isolado do Google Distributed Cloud (GDC)
A validação de pacotes do GDC usa uma autoridade de certificação (CA) de raiz para validar os certificados de chave de lançamento. Isto torna fundamental rodar o certificado da CA de raiz periodicamente. Tem de rodar a AC raiz se receber instruções para o fazer através de um aviso de lançamento ou da mensagem de aviso que pode ser apresentada à medida que faz uma atualização.
Antes de começar
Para rodar o certificado de validação de pacotes, tem de ter as funções de identidade e acesso necessárias:
- Certifique-se de que tem acesso de escrita a
package-validation-root-certs ConfigMap
. - Peça ao administrador de segurança para lhe conceder a função de depurador de atualização (
upgrade-debugger-cp
).
Verifique se é necessária a rotação de certificados
Verifique se é necessária uma rotação do certificado de validação de pacotes antes de realizar a operação:
Defina a variável de ambiente
KUBECONFIG
:$ KUBECONFIG=PATH_TO_KUBECONFIG_FILE
Substitua
PATH_TO_KUBECONFIG_FILE
pelo caminho para o ficheirokubeconfig
que obteve executandogdcloud auth login
no cluster de administrador raiz.Determine se é necessária uma atualização comparando a âncora de fidedignidade atual com a âncora de fidedignidade mais recente. Os dados
ConfigMap
emharbor-system/package-validation-root-certs
são comparados com a âncora de confiança local:$ CURRENT_TRUST_ANCHOR=$(kubectl --kubeconfig=$KUBECONFIG get cm package-validation-root-certs -n harbor-system -o jsonpath='{.data.ca\.crt}') $ LATEST_TRUST_ANCHOR=$(cat /root/release/staging_root_ca_certificate.crt) $ diff <( echo "$CURRENT_TRUST_ANCHOR" ) <( echo "$LATEST_TRUST_ANCHOR" ) && echo trust anchors are same || echo trust anchors are different, upgrade required!
Faça a rotação e a atualização de certificados no dispositivo
Execute os passos seguintes para rodar o objeto ConfigMap
localizado em
harbor-system/package-validation-root-certs
no cluster de administrador raiz. O operador de infraestrutura precisa de acesso de escrita ao ConfigMap
.
Crie e atribua valores às seguintes variáveis:
USERNAME=USER_NAME #IO TARGET_FOLDER=/tmp/${USERNAME} OUTPUT="${TARGET_FOLDER}/package-validation-root-certs.yaml" LATEST_TRUST_ANCHOR_CA_FILE=/root/release/staging_root_ca_certificate.crt CONFIGMAP_NAME=package-validation-root-certs NAMESPACE=harbor-system
Substitua
USER_NAME
pelo nome de utilizador do IO.Crie a pasta de destino que vai conter os ficheiros de saída do processo de rotação de certificados:
mkdir -p "${TARGET_FOLDER}"
Atualize e substitua o valor de
LATEST_TRUST_ANCHOR
:cat <<EOF > "${OUTPUT}" apiVersion: v1 kind: ConfigMap metadata: name: ${CONFIGMAP_NAME} namespace: ${NAMESPACE} data: ca.crt: | $(sed 's/^/ /' "${LATEST_TRUST_ANCHOR_CA_FILE}") EOF
Aplique a nova configuração com
kubectl
:kubectl apply -f ${OUTPUT}
Certifique-se de que o ficheiro ca.crt recém-aplicado está presente em
ConfigMap
:kubectl describe configmap package-validation-root-certs -n harbor-system
Esta ação cuida da rotação de um novo certificado no package-validation-root-cert
.