Esta página fornece instruções para acionar manualmente a reemissão de certificados para os seus endpoints Web isolados do Google Distributed Cloud (GDC).
Antes de começar
Para receber as autorizações necessárias para aceder a certificados num espaço de nomes, peça ao administrador de IAM da sua organização para lhe conceder a função de administrador de certificados TLS Web (web-tls-cert-admin
).
Tenha em consideração os seguintes requisitos da conta quando realizar a reemissão do certificado:
- Use uma conta de operador de infraestrutura (IO) para aceder ao certificado no espaço de nomes do sistema. Peça ao seu IO para realizar esta tarefa.
- Use uma conta de administrador da plataforma para aceder a certificados noutros espaços de nomes.
Reemita um certificado
Pode reemitir manualmente um certificado com uma atualização de anotação. Se o emissor do certificado predefinido for alterado, a nuvem distribuída não volta a emitir automaticamente certificados assinados pelo emissor do certificado predefinido anterior, a menos que o certificado esteja prestes a expirar.
Para acionar manualmente a reemissão de um certificado, use a CLI kubectl
para
realizar os seguintes passos:
Defina a anotação
manual-reissuance
comorequested
para o alvoCertificate
. O exemplo seguinte atualiza o certificado no espaço de nomesistio-system
, que usa o emissor de certificado predefinido atual:default-wildcard-cert
kubectl annotate --overwrite certificate.pki.security.gdc.goog default-wildcard-cert -n istio-system pki.security.gdc.goog/manual-reissuance='requested'
Pode ver um valor de anotação
in-progress
como um estado de transição enquanto o certificado está a ser reemitido. Aguarde até que o valor da anotaçãomanual-reissuance
seja apresentadofinished
:kubectl -n istio-system get certificate.pki.security.gdc.goog/default-wildcard-cert -ojson | jq -r ' .metadata.annotations."pki.security.gdc.goog/manual-reissuance"'
O resultado tem um aspeto semelhante ao seguinte:
finished
Verifique o emissor do certificado. Tem de corresponder ao emissor mencionado na especificação do certificado ou, se não for especificado, o emissor tem de corresponder ao emissor predefinido atual:
kubectl -n istio-system get certificate.pki.security.gdc.goog/default-wildcard-cert -ojson | jq -r ' .status.issuedBy'
O resultado tem um aspeto semelhante ao seguinte:
{ "name": "byo-cert-issuer", "namespace": "pki-system" }
Rotação manual do seu próprio certificado
Quando aciona e conclui uma rotação manual do seu próprio certificado (BYO cert), tem de assinar o pedido de assinatura de certificado (CSR) gerado recentemente para um BYO cert assinado anteriormente. Para mais informações, consulte o artigo Assine o certificado BYO.
Durante a rotação, a nuvem distribuída cria um novo par de chaves privadas e públicas. Isto torna o certificado assinado carregado anteriormente incompatível com o novo CSR. Se a especificação do certificado não tiver sido alterada desde o carregamento inicial, o certificado carregado anteriormente permanece em utilização até expirar. Se a especificação for alterada, ocorre um dos seguintes eventos:
- O Distributed Cloud usa um certificado de correspondência existente.
- Uma autoridade de certificação (AC) alternativa emite um novo certificado.
Exemplo de rotação manual de certificado BYO
No exemplo seguinte, vê um certificado BYO assinado anteriormente acionado para rotação manual:
- O
byoCertStatus
mostra que o valor do certificadotype
éReady
, O valor
reason
éIssued
com um valorlastTransitionTime
anterior ao 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" } ] } }, ```
No exemplo seguinte, vê a saída de um certificado BYO assinado anteriormente acionado para rotação manual:
- No campo
signedCertStatus
, o camporeason
mostraRejected
porque o certificado assinado anteriormente já não corresponde ao novo CSR após a rotação. O 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" } }
Faça a gestão dos alertas de assinatura de certificados
Os alertas de assinatura de certificados para emissão, rotação e expiração iniciais têm de ser resolvidos pelo seu IO através dos passos de resolução de problemas documentados nestas secções do manual de PKI:
Para o código de erro subCA:
PLATAUTH2001
, consulte PLATAUTH-R2001.Para o errorCode do BYO cert:
PLATAUTH2002
, consulte PLATAUTH-R2002.