本文說明如何手動觸發 Google Distributed Cloud (GDC) 實體隔離方案網路端點的憑證重新核發作業。
本文適用於平台管理員群組中,想要管理 PKI 網路憑證的使用者。詳情請參閱「GDC 實體隔離方案說明文件的目標對象」。
事前準備
手動重新核發網站憑證前,您必須具備必要權限並準備好環境。
要求 IAM 角色
如要在命名空間中建立、更新及刪除 PKI 網路憑證,請與 IAM 機構組織管理員聯絡,要求取得網路 TLS 憑證管理員 (web-tls-cert-admin) 角色。
請留意下列帳戶規定:
- 基礎架構操作員群組成員必須在系統命名空間中重新核發 PKI 網路憑證。
- 平台管理員群組的成員可以在其管理的所有其他命名空間中,重新核發 PKI 網路憑證。
準備環境
產生 kubeconfig 檔案,設定
kubectl存取權。
重新核發憑證
您可以更新註解,手動重新核發憑證。如果預設憑證核發機構變更,Distributed Cloud 不會自動重新核發由先前預設憑證核發機構簽署的憑證,除非憑證即將到期。
如要手動觸發憑證重新核發作業,請使用 kubectl CLI 執行下列步驟:
將目標
Certificate的manual-reissuance註解設為requested。以下範例會更新istio-system命名空間中的default-wildcard-cert憑證,該命名空間使用目前的預設憑證核發者:kubectl annotate --overwrite certificate.pki.security.gdc.goog default-wildcard-cert -n istio-system pki.security.gdc.goog/manual-reissuance='requested'在重新核發憑證時,您可能會看到
in-progress註解值做為轉換狀態。等待manual-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"'輸出看起來類似以下內容:
finished驗證憑證核發者;核發者必須與憑證規格中提及的核發者相符,如果未指定,則必須與目前的預設核發者相符:
kubectl -n istio-system get certificate.pki.security.gdc.goog/default-wildcard-cert -ojson | jq -r ' .status.issuedBy'輸出看起來類似以下內容:
{ "name": "byo-cert-issuer", "namespace": "pki-system" }
手動輪換自備憑證
觸發並完成手動自備憑證 (BYO 憑證) 輪替時,您必須為先前簽署的 BYO 憑證簽署新產生的憑證簽署要求 (CSR)。詳情請參閱「簽署 BYO 憑證」。
在輪替期間,Distributed Cloud 會建立新的私密和公開金鑰組。因此,先前上傳的已簽署憑證與新的 CSR 不相容。如果憑證規格自初次上傳後未曾變更,先前上傳的憑證會繼續使用,直到到期為止。如果規格變更,會發生下列其中一項事件:
- Distributed Cloud 會使用現有的相符憑證。
- 備用憑證授權單位 (CA) 核發新憑證。
手動輪替自備憑證範例
在以下範例中,您會看到先前簽署的 BYO 憑證觸發手動輪替:
byoCertStatus顯示憑證type值為Ready,reason值為Issued,lastTransitionTime值比先前的值早:{ "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" } ] } }, ```
在以下範例中,您會看到先前簽署的 BYO 憑證輸出內容,該憑證已觸發手動輪替:
- 在
signedCertStatus中,reason欄位會顯示Rejected,因為先前簽署的憑證在輪替後不再與新的 CSR 相符。 CSR
reason聲明WaitingForSigning:"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" } }管理憑證簽署快訊
IO 必須按照 PKI 執行手冊中下列章節所述的疑難排解步驟,處理初始核發、輪替和到期的憑證簽署警示:
如需子 CA 錯誤代碼
PLATAUTH2001,請參閱 PLATAUTH-R2001。如需 BYO 憑證錯誤代碼
PLATAUTH2002,請參閱 PLATAUTH-R2002。