Questa pagina fornisce istruzioni per attivare manualmente la riemissione dei certificati per gli endpoint web air gap di Google Distributed Cloud (GDC).
Prima di iniziare
Per ottenere le autorizzazioni necessarie per accedere ai certificati in uno spazio dei nomi, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore certificati TLS web (web-tls-cert-admin
).
Quando esegui la riemissione del certificato, tieni presente i seguenti requisiti dell'account:
- Utilizza un account Infrastructure Operator (IO) per accedere al certificato nello spazio dei nomi di sistema. Chiedi al tuo IO di eseguire questa attività.
- Utilizza un account amministratore della piattaforma per accedere ai certificati in altri spazi dei nomi.
Riemettere un certificato
Puoi riemettere manualmente un certificato con un aggiornamento dell'annotazione. Se l'emittente di certificati predefinita cambia, Distributed Cloud non riemetterà automaticamente i certificati firmati dall'emittente di certificati predefinita precedente, a meno che il certificato non stia per scadere.
Per attivare manualmente la riemissione di un certificato, utilizza la CLI kubectl
per
completare i seguenti passaggi:
Imposta l'annotazione
manual-reissuance
surequested
per il targetCertificate
. L'esempio seguente aggiorna il certificatodefault-wildcard-cert
nello spazio dei nomiistio-system
che utilizza l'emittente di certificati predefinita corrente:kubectl annotate --overwrite certificate.pki.security.gdc.goog default-wildcard-cert -n istio-system pki.security.gdc.goog/manual-reissuance='requested'
Potresti visualizzare un valore di annotazione
in-progress
come stato di transizione mentre il certificato viene riemesso. Attendi che venga visualizzato il valore dell'annotazionemanual-reissuance
finished
:kubectl -n istio-system get certificate.pki.security.gdc.goog/default-wildcard-cert -ojson | jq -r ' .metadata.annotations."pki.security.gdc.goog/manual-reissuance"'
L'output è simile al seguente:
finished
Verifica l'autorità di certificazione; deve corrispondere a quella menzionata nella specifica del certificato o, se non specificata, deve corrispondere a quella predefinita attuale:
kubectl -n istio-system get certificate.pki.security.gdc.goog/default-wildcard-cert -ojson | jq -r ' .status.issuedBy'
L'output è simile al seguente:
{ "name": "byo-cert-issuer", "namespace": "pki-system" }
Rotazione manuale del certificato Bring Your Own Certificate
Quando attivi e completi una rotazione manuale del certificato Bring Your Own (BYO), devi firmare la richiesta di firma del certificato (CSR) appena generata per un certificato BYO firmato in precedenza. Per saperne di più, vedi Firmare il certificato BYO.
Durante la rotazione, Distributed Cloud crea una nuova coppia di chiavi privata e pubblica. In questo modo, il certificato firmato caricato in precedenza non è compatibile con la nuova CSR. Se la specifica del certificato non è cambiata rispetto al caricamento iniziale, il certificato caricato in precedenza rimane in uso fino alla sua scadenza. Se le specifiche cambiano, si verifica uno dei seguenti eventi:
- Distributed Cloud utilizza un certificato corrispondente esistente.
- Un'autorità di certificazione (CA) di riserva emette un nuovo certificato.
Esempio di rotazione manuale del certificato BYO
Nell'esempio seguente viene visualizzato un certificato BYO firmato in precedenza attivato per la rotazione manuale:
byoCertStatus
mostra che il valoretype
del certificato èReady
,Il valore
reason
èIssued
con un valorelastTransitionTime
precedente rispetto al valore precedente:{ "byoCertStatus": { "csrStatus": { "conditions": [ { "lastTransitionTime": "2024-05-03T22:38:43Z", "message": "", "observedGeneration": 2, "reason": "WaitingForSigning", "status": "False", "type": "Ready" } ], "csr": "LS0tLS1CRUdJTiBDRVJ..." }, "signedCertStatus": { "conditions": [ { "lastTransitionTime": "2024-05-03T22:38:43Z", "message": "RawSubjectPublickKeyInfo does not match with the CSR", "observedGeneration": 2, "reason": "Rejected", "status": "False", "type": "Ready" } ] } }, ```
Nell'esempio seguente, viene visualizzato l'output per un certificato BYO firmato in precedenza attivato per la rotazione manuale:
- Nel
signedCertStatus
, il camporeason
mostraRejected
perché il certificato firmato in precedenza non corrisponde più alla nuova richiesta di firma del certificato dopo la rotazione. La CSR
reason
affermaWaitingForSigning
:"conditions": [ { "lastTransitionTime": "2024-05-03T08:42:10Z", "message": "Certificate is issued", "observedGeneration": 2, "reason": "Issued", "status": "True", "type": "Ready" } ], "errorStatus": { "errors": [ { "code": "PLATAUTH2002", "message": "Waiting for CSR signing" } ], "lastUpdateTime": "2024-05-03T22:38:43Z" }, "issuedBy": { "name": "byo-cert-issuer", "namespace": "pki-system" } }
Gestire gli avvisi di firma dei certificati
Gli avvisi di firma dei certificati per l'emissione, la rotazione e la scadenza iniziali devono essere gestiti dal tuo IO utilizzando i passaggi per la risoluzione dei problemi documentati in queste sezioni del runbook PKI:
Per subCA errorCode:
PLATAUTH2001
, vedi PLATAUTH-R2001.Per il codice di errore del certificato BYO:
PLATAUTH2002
, consulta PLATAUTH-R2002.