Emettere nuovamente i certificati web PKI manualmente
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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 su requested per il target
Certificate. L'esempio seguente aggiorna il certificato default-wildcard-cert
nello spazio dei nomi istio-system che utilizza l'emittente di certificati
predefinita corrente:
Potresti visualizzare un valore di annotazione in-progress come stato di transizione
mentre il certificato viene riemesso. Attendi che venga visualizzato il valore dell'annotazione manual-reissuancefinished:
Verifica l'autorità di certificazione; deve corrispondere a quella menzionata nella
specifica del certificato o, se non specificata, deve corrispondere a quella
predefinita attuale:
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 valore type del certificato è Ready,
Il valore reason è Issued con un valore lastTransitionTime precedente rispetto
al valore precedente:
Nell'esempio seguente, viene visualizzato l'output per un certificato BYO firmato in precedenza attivato
per la rotazione manuale:
Nel signedCertStatus, il campo reason mostra Rejected perché
il certificato firmato in precedenza non corrisponde più alla nuova richiesta di firma del certificato dopo la rotazione.
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.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003eThis page guides you through manually reissuing certificates for Google Distributed Cloud (GDC) air-gapped web endpoints using annotation updates via the \u003ccode\u003ekubectl\u003c/code\u003e CLI.\u003c/p\u003e\n"],["\u003cp\u003eReissuance of certificates is necessary when the default certificate issuer changes, as Distributed Cloud will not automatically reissue certificates from the previous issuer unless they are about to expire.\u003c/p\u003e\n"],["\u003cp\u003eTo access certificates in the system namespace you need an Infrastructure Operator (IO) account, whereas in other namespaces a Platform Administrator account is required.\u003c/p\u003e\n"],["\u003cp\u003eWhen performing a manual bring-your-own certificate (BYO cert) rotation, a new Certificate Signing Request (CSR) is created, and the previously signed certificate will be incompatible; requiring you to sign the newly generated CSR.\u003c/p\u003e\n"],["\u003cp\u003eCertificate signing alerts, such as \u003ccode\u003ePLATAUTH2001\u003c/code\u003e and \u003ccode\u003ePLATAUTH2002\u003c/code\u003e, must be addressed by the Infrastructure Operator (IO) using the troubleshooting steps found in the PKI runbook.\u003c/p\u003e\n"]]],[],null,["# Manually reissue PKI web certificates\n\nThis page provides instructions to manually trigger certificate reissuance for your\nGoogle Distributed Cloud (GDC) air-gapped web endpoints.\n\nBefore you begin\n----------------\n\nTo get the permissions you need to access certificates in a namespace, ask your\nOrganization IAM Admin to grant you the Web TLS Certificate\nAdmin (`web-tls-cert-admin`) role.\n\nConsider the following account requirements when performing certificate reissuance:\n\n- Use an Infrastructure Operator (IO) account to access the certificate in the system namespace. Ask your IO to perform this task.\n\n\u003c!-- --\u003e\n\n- Use a Platform Administrator account to access certificates in other namespaces.\n\nReissue a certificate\n---------------------\n\nYou can manually reissue a certificate with an annotation update. If the default\ncertificate issuer changes, Distributed Cloud won't automatically reissue\ncertificates signed by the previous default certificate issuer unless the\ncertificate is about to expire.\n\nTo manually trigger the reissuance of a certificate, use the `kubectl` CLI to\nperform the following steps:\n\n1. Set the `manual-reissuance` annotation to `requested` for target\n `Certificate`. The following example updates the `default-wildcard-cert`\n certificate in the `istio-system` namespace which uses the current default\n certificate issuer:\n\n kubectl annotate --overwrite certificate.pki.security.gdc.goog\n default-wildcard-cert -n istio-system\n pki.security.gdc.goog/manual-reissuance='requested'\n\n2. You might see an `in-progress` annotation value as a transitioning state\n while the certificate is being reissued. Wait for the `manual-reissuance`\n annotation value to show `finished`:\n\n kubectl -n istio-system get\n certificate.pki.security.gdc.goog/default-wildcard-cert -ojson | jq -r '\n .metadata.annotations.\"pki.security.gdc.goog/manual-reissuance\"'\n\n The output looks similar to the following: \n\n finished\n\n3. Verify the certificate issuer; it must either match the issuer mentioned in\n the certificate specification or, if not specified, the issuer must match the\n current default issuer:\n\n kubectl -n istio-system get certificate.pki.security.gdc.goog/default-wildcard-cert -ojson | jq -r '\n .status.issuedBy'\n\n The output looks similar to the following: \n\n {\n \"name\": \"byo-cert-issuer\",\n \"namespace\": \"pki-system\"\n }\n\n### Bring-your-own certificate manual rotation\n\nWhen you trigger and complete a manual bring-your-own certificate (BYO cert)\nrotation, you must sign the newly generated Certificate Signing Request (CSR) for\na previously signed BYO cert. For more information, see\n[Sign the BYO certificate](/distributed-cloud/hosted/docs/latest/gdch/platform/pa-user/pki/transition-pki-modes#sign-byo-cert).\n\nDuring rotation, Distributed Cloud creates a new private and public key\npair. This makes the signed certificate uploaded earlier incompatible with the\nnew CSR. If the certificate specification hasn't changed since the initial upload,\nthe previously uploaded certificate remains in use until it expires. If the\nspecification changes, one of the following events occur:\n\n- Distributed Cloud uses an existing matching certificate.\n- A fallback Certificate Authority (CA) issues a new certificate.\n\n#### BYO cert manual rotation example\n\nIn the following example, you see a previously signed BYO cert triggered\nfor manual rotation:\n\n- The `byoCertStatus` shows the certificate `type` value is `Ready`,\n- The `reason` value is `Issued` with an earlier `lastTransitionTime` value than\n the previous value:\n\n {\n \"byoCertStatus\": {\n \"csrStatus\": {\n \"conditions\": [\n {\n \"lastTransitionTime\": \"2024-05-03T22:38:43Z\",\n \"message\": \"\",\n \"observedGeneration\": 2,\n \"reason\": \"WaitingForSigning\",\n \"status\": \"False\",\n \"type\": \"Ready\"\n }\n ],\n \"csr\": \"LS0tLS1CRUdJTiBDRVJ...\"\n },\n \"signedCertStatus\": {\n \"conditions\": [\n {\n \"lastTransitionTime\": \"2024-05-03T22:38:43Z\",\n \"message\": \"RawSubjectPublickKeyInfo does not match with the CSR\",\n \"observedGeneration\": 2,\n \"reason\": \"Rejected\",\n \"status\": \"False\",\n \"type\": \"Ready\"\n }\n ]\n }\n },\n ```\n\nIn the following example, you see output for a previously signed BYO cert triggered\nfor manual rotation:\n\n- In the `signedCertStatus`, the `reason` field shows `Rejected` because the previously signed certificate no longer matches the new CSR after rotation.\n- The CSR `reason` states `WaitingForSigning`:\n\n \"conditions\": [\n {\n \"lastTransitionTime\": \"2024-05-03T08:42:10Z\",\n \"message\": \"Certificate is issued\",\n \"observedGeneration\": 2,\n \"reason\": \"Issued\",\n \"status\": \"True\",\n \"type\": \"Ready\"\n }\n ],\n \"errorStatus\": {\n \"errors\": [\n {\n \"code\": \"PLATAUTH2002\",\n \"message\": \"Waiting for CSR signing\"\n }\n ],\n \"lastUpdateTime\": \"2024-05-03T22:38:43Z\"\n },\n \"issuedBy\": {\n \"name\": \"byo-cert-issuer\",\n \"namespace\": \"pki-system\"\n }\n }\n\n Manage certificate signing alerts\n ---------------------------------\n\nCertificate signing alerts for initial issuance, rotation, and expiration must be\naddressed by your IO using the troubleshooting steps documented in these sections\nof the PKI runbook:\n\n- For subCA errorCode: `PLATAUTH2001`, see PLATAUTH-R2001.\n\n- For BYO cert errorCode: `PLATAUTH2002`, see PLATAUTH-R2002."]]