En esta página, se proporcionan instrucciones para activar manualmente la nueva emisión de certificados para tus extremos web aislados de Google Distributed Cloud (GDC).
Antes de comenzar
Para obtener los permisos que necesitas para acceder a los certificados en un espacio de nombres, pídele al administrador de IAM de tu organización que te otorgue el rol de administrador de certificados TLS web (web-tls-cert-admin
).
Ten en cuenta los siguientes requisitos de la cuenta cuando vuelvas a emitir el certificado:
- Usa una cuenta de operador de infraestructura (IO) para acceder al certificado en el espacio de nombres del sistema. Pídele a tu IO que realice esta tarea.
- Usa una cuenta de administrador de la plataforma para acceder a los certificados en otros espacios de nombres.
Cómo volver a emitir un certificado
Puedes volver a emitir manualmente un certificado con una actualización de anotación. Si cambia la entidad emisora de certificados predeterminada, Distributed Cloud no volverá a emitir automáticamente los certificados firmados por la entidad emisora de certificados predeterminada anterior, a menos que el certificado esté a punto de vencer.
Para activar manualmente la nueva emisión de un certificado, usa la CLI de kubectl
y sigue estos pasos:
Establece la anotación
manual-reissuance
enrequested
para el objetivoCertificate
. En el siguiente ejemplo, se actualiza el certificadodefault-wildcard-cert
en el espacio de nombresistio-system
, que usa la entidad emisora de certificados predeterminada actual:kubectl annotate --overwrite certificate.pki.security.gdc.goog default-wildcard-cert -n istio-system pki.security.gdc.goog/manual-reissuance='requested'
Es posible que veas un valor de anotación
in-progress
como un estado de transición mientras se vuelve a emitir el certificado. Espera a que el valor de la anotaciónmanual-reissuance
muestrefinished
:kubectl -n istio-system get certificate.pki.security.gdc.goog/default-wildcard-cert -ojson | jq -r ' .metadata.annotations."pki.security.gdc.goog/manual-reissuance"'
El resultado es similar al siguiente:
finished
Verifica la entidad emisora del certificado. Debe coincidir con la entidad emisora mencionada en la especificación del certificado o, si no se especifica, debe coincidir con la entidad emisora predeterminada actual:
kubectl -n istio-system get certificate.pki.security.gdc.goog/default-wildcard-cert -ojson | jq -r ' .status.issuedBy'
El resultado es similar al siguiente:
{ "name": "byo-cert-issuer", "namespace": "pki-system" }
Rotación manual de tu propio certificado
Cuando activas y completas una rotación manual del certificado externo (BYO cert), debes firmar la solicitud de firma de certificado (CSR) recién generada para un certificado externo firmado anteriormente. Para obtener más información, consulta Firma el certificado BYO.
Durante la rotación, Distributed Cloud crea un nuevo par de claves pública y privada. Esto hace que el certificado firmado que se subió antes sea incompatible con la nueva CSR. Si la especificación del certificado no cambió desde la carga inicial, el certificado cargado anteriormente seguirá en uso hasta que venza. Si cambia la especificación, se produce uno de los siguientes eventos:
- Distributed Cloud usa un certificado coincidente existente.
- Una autoridad certificadora (CA) de respaldo emite un certificado nuevo.
Ejemplo de rotación manual de un certificado BYO
En el siguiente ejemplo, se muestra un certificado BYO firmado anteriormente que se activó para la rotación manual:
- El
byoCertStatus
muestra que el valortype
del certificado esReady
. El valor de
reason
esIssued
con un valor delastTransitionTime
anterior al valor anterior:{ "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" } ] } }, ```
En el siguiente ejemplo, se muestra el resultado de un certificado BYO firmado anteriormente que se activó para la rotación manual:
- En
signedCertStatus
, el camporeason
muestraRejected
porque el certificado firmado anteriormente ya no coincide con la nueva CSR después de la rotación. La CSR
reason
indicaWaitingForSigning
:"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" } }
Administra las alertas de firma de certificados
Tu IO debe abordar las alertas de firma de certificados para la emisión, la rotación y el vencimiento iniciales siguiendo los pasos de solución de problemas que se documentan en estas secciones del manual de operaciones de la PKI:
Para el código de error de la subCA:
PLATAUTH2001
, consulta PLATAUTH-R2001.Para el código de error del certificado BYO:
PLATAUTH2002
, consulta PLATAUTH-R2002.