Nesta página, descrevemos como alternar a autoridade certificadora raiz usada para validação de pacotes no appliance isolado do Google Distributed Cloud (GDC).
A validação de pacotes do GDC usa uma autoridade de certificação (CA) raiz para validar certificados de chave de lançamento. Por isso, é fundamental fazer a rotação periódica do certificado da CA raiz. Você precisa fazer a rotação da CA raiz se receber instruções para isso em um aviso de lançamento ou na mensagem de alerta que pode aparecer durante um upgrade.
Antes de começar
Para alternar o certificado de validação de pacote, você precisa ter os papéis de identidade e acesso necessários:
- Verifique se você tem acesso de gravação para
package-validation-root-certs ConfigMap. - Peça ao administrador de segurança para conceder a você o papel de Upgrade Debugger (
upgrade-debugger-cp).
Verificar se a rotação do certificado é necessária
Verifique se é necessário fazer uma rotação de certificado de validação de pacote antes de realizar a operação:
Defina a variável de ambiente
KUBECONFIG:$ KUBECONFIG=PATH_TO_KUBECONFIG_FILESubstitua
PATH_TO_KUBECONFIG_FILEpelo caminho para o arquivokubeconfigque você obteve ao executargdcloud auth loginno cluster de administrador raiz.Compare a âncora de confiança atual com a mais recente para determinar se é necessário fazer um upgrade. Os dados
ConfigMapemharbor-system/package-validation-root-certssã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!
Fazer a rotação e o upgrade de certificados no appliance
Siga estas etapas para fazer a rotação do objeto ConfigMap localizado em
harbor-system/package-validation-root-certs no cluster de administrador raiz. O operador de infraestrutura precisa de acesso de gravação 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-systemSubstitua
USER_NAMEpelo nome de usuário do IO.Crie a pasta de destino que vai conter os arquivos 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}") EOFAplique a nova configuração com
kubectl:kubectl apply -f ${OUTPUT}Verifique se o ca.crt recém-aplicado está presente em
ConfigMap:kubectl describe configmap package-validation-root-certs -n harbor-system
Isso cuida da rotação de um novo certificado no package-validation-root-cert.