I certificati di sicurezza (certificati SSL ) per Data Gate e il database di destinazione scadono dopo dodici mesi. Vengono rinnovati automaticamente prima della data di scadenza, ma questo rinnovo programmato causa un'interruzione di 10-20 minuti. Durante tale periodo, il Data Gate servizio e il Db2 o Db2 Warehouse servizio non saranno disponibili. L'utente viene informato in anticipo del rinnovo previsto del certificato tramite l'interfaccia Data Gate utente, ma l'interruzione causata da tale operazione potrebbe verificarsi in un momento inopportuno. Per evitare un'interruzione non pianificata o imprevista, è possibile rinnovare i certificati manualmente prima della data di rinnovo prevista.
Informazioni su questa attività
Durante il rinnovo del Data Gate certificato, il Data Gate pod viene riavviato. Durante il rinnovo del certificato Db2Db2 Warehouse , il Data Gate pod e il pod del database di destinazione vengono riavviati. Questi riavvii causano le interruzioni.
Procedura
- Per rinnovare manualmente un certificato, controllare il display sull'interfaccia Data Gate utente (dashboard dell'istanza) per verificare se il Data Gate certificato o il certificato del database di destinazione è in programma per il rinnovo.
- Seguire la sequenza di passaggi appropriata per il tipo di certificato identificato.
- Se il Data Gate certificato è in scadenza:
- Utilizzare il seguente comando per identificare il certificato attualmente attivo:
oc get secret -n ${PROJECT_CPD_INST_OPERANDS} | grep dg-internal
Vedi il risultato nell'esempio seguente. È stato ottenuto per un Data Gate servizio installato in un OpenShift® progetto denominato cpd-service:
dg-internal-tls-pkcs8 kubernetes.io/tls 3 1d0h
- Elimina il certificato attualmente attivo. Il comando seguente utilizza il nome del certificato dell'esempio al punto 2.a :
oc delete secret -n ${PROJECT_CPD_INST_OPERANDS} dg-internal-tls-pkcs8
La cancellazione forza il riavvio del Data Gate pod.
Importante:Durante il riavvio del pod, il database Data Gate di destinazione non sarà disponibile per 10-20 minuti. Pertanto, pianificate questa interruzione in anticipo.
- Se il Db2 certificato Db2 Warehouse o è in scadenza e Db2 l'istanza è stata distribuita con il metodo predefinito, generare un Kubernetes segreto senza utilizzare un vault:
- Utilizzare il seguente comando per identificare il certificato attualmente attivo:
oc get secret -n ${PROJECT_CPD_INST_OPERANDS} | grep <db2_type>-internal-tls
Sostituisci PROJECT_CPD_INST_OPERANDS con il nome effettivo del progetto della tua Data Gate installazione. Sostituire <db2_type> con il tipo Db2 corretto, ovvero db2oltp per Db2o db2wh per Db2 Warehouse. Quindi eseguire il comando.
Vedi il risultato nell'esempio seguente. Mostra un Db2 segreto che contiene certificati:
db2oltp-internal-tls kubernetes.io/tls 3 4d6h
- Elimina il certificato attualmente attivo. Vedere il seguente comando di esempio, che utilizza il nome del certificato e il nome del progetto dall'esempio al punto 2.a :
oc delete secret -n ${PROJECT_CPD_INST_OPERANDS} db2oltp-internal-tls
La cancellazione forza un riavvio dei pod Data Gate e Db2 Warehouse o Db2 .
- Installa il nuovo certificato seguendo le istruzioni riportate in questa pagina: Aggiornamento del certificato Db2 SSL dopo l'aggiornamento del certificato autofirmato Cloud Pak for Data
- Se il Db2 certificato Db2 Warehouse o è in scadenza e l'istanza Db2 distribuita utilizza segreti archiviati in un vault:
- Utilizzare il seguente comando per identificare il certificato attualmente attivo:
oc get secret -n ${PROJECT_CPD_INST_OPERANDS} | grep <db2_type>-<db2_instance_id>-db2-tls
Sostituisci PROJECT_CPD_INST_OPERANDS con il nome effettivo del progetto della tua Data Gate installazione. Sostituire <db2_type> con il tipo Db2 corretto, ovvero db2oltp per Db2o db2wh per Db2 Warehouse. Sostituisci <db2_instance_number> con il Db2 numero di istanza, ad esempio 1686647240738580. Quindi eseguire il comando.
Vedi il risultato nell'esempio seguente. Mostra un Db2 segreto custodito in un caveau:
db2oltp-1686647240738580-db2-tls kubernetes.io/tls 3 35m
- Modifica il segreto contenente i tuoi nuovi Db2 certificati. Il segreto è base64-encrypted. Pertanto, eseguire i seguenti comandi per generare una base64-encrypted stringa per ciascun certificato:
cat ca.crt|base64 -w0
cat tls.crt|base64 -w0
cat tls.key|base64 -w0
- Esegui il seguente comando per aggiornare i Db2 certificati SSL :
oc exec -it c-<db2_type>-<db2_instance_id>-db2u-0 -- bash -l /db2u/scripts/db2_rotate_ssl_certs.sh
Per ulteriori informazioni, vedere Aggiornamento del certificato SSL dell' Db2 dopo l'aggiornamento del certificato autofirmato Cloud Pak for Data.
- Elimina manualmente i Data Gate pod. Attendere fino Data Gate al riavvio e alla generazione di nuovi pod che acquisiscono il certificato aggiornato Db2SSL.
- Se il Db2 certificato Db2 Warehouse o è in scadenza e l'istanza Db2 distribuita utilizza un certificato in un segreto con un nome personalizzato:
- Interrompi la replica nell'istanza.
- Aggiorna il segreto per includere il certificato più recente.
- Applica la patch Data Gate all'istanza CustomResource per fare riferimento al nome segreto del certificato personalizzato::
DG_INSTANCE_ID=''
CUSTOM_CERT_SECRET_NAME=''
oc patch dginstance "dg${DG_INSTANCE_ID}" --type=merge -p \
'{
"spec": {
"metadata": {
"target_database_tls_secret_name": "'"${CUSTOM_CERT_SECRET_NAME}"'"
}
}
}'
Se l'istanza del database era già configurata per utilizzare un certificato segreto personalizzato prima che Data Gate l'istanza fosse fornita, Data Gate l'operatore avrà rilevato il segreto durante l'installazione dell'istanza e potrai saltare questo passaggio. Puoi anche saltarlo se hai già applicato questa patch e il nome segreto non è cambiato.
- Elimina manualmente i Data Gate pod. Se hai appena eseguito la patch del passaggio precedente, i pod verranno ricreati automaticamente. Attendere fino Data Gate al riavvio e alla generazione di nuovi pod che acquisiscono il certificato aggiornato Db2SSL.
- Riavvia la replica nell'istanza.
- Per aggiornare i segreti a rotazione e riavviare Data Gate :
- Obiettivo remoto Db2 database's TLS certificato segreto (
${TARGET_DB2_CERT_SECRET_NAME}): Vedere il passaggio 1 in cui è stato creato il segreto.
- Segreto delle credenziali del database remoto Db2 (
dg-${DG_INSTANCE_ID}-target-db2-username-password): vedere il passaggio dg-connect-remote-db2.html#dg-connect-remote-db2__db2-step-5 in cui è stato creato il segreto.