Dokumen ini menjelaskan cara mencabut sertifikat menggunakan Certificate Authority Service. Mencabut sertifikat akan membatalkan validitasnya sebelum tanggal habis masa berlaku, sehingga mencegahnya digunakan untuk autentikasi. Anda dapat mencabut sertifikat jika kunci pribadi disusupi, sertifikat digantikan oleh sertifikat baru, atau sertifikat tidak lagi diperlukan (misalnya saat layanan yang menerbitkan sertifikat dinonaktifkan).
Dokumen ini ditujukan untuk audiens dalam grup operator aplikasi, seperti developer aplikasi atau data scientist, yang mengelola siklus proses sertifikat dalam project mereka. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.
Tentang pencabutan sertifikat
CA Service mendukung pencabutan sertifikat dengan memublikasikan Daftar Pencabutan Sertifikat (CRL). CRL adalah daftar nomor seri sertifikat yang telah dicabut dan tidak lagi dipercaya. Secara default, CRL baru dipublikasikan setiap 15 menit. Selain itu, setiap pencabutan sertifikat yang berhasil akan otomatis memicu pembuatan CRL baru.
Sertifikat yang diterbitkan oleh CA Service menyertakan ekstensi yang disebut CRL Distribution Point (CDP). Ekstensi ini berisi URL tempat Anda dapat menemukan dan mendownload CRL untuk sertifikat tersebut. Aplikasi klien menggunakan URL ini untuk mengambil CRL dan memeriksa apakah nomor seri sertifikat ada. Jika nomor seri muncul dalam daftar, sertifikat dianggap tidak valid, dan koneksi harus ditolak.
Sebelum memulai
Sebelum dapat mencabut sertifikat, Anda harus meminta izin yang diperlukan dan menyiapkan lingkungan Anda.
Meminta peran IAM
Untuk mencabut sertifikat dan melihat permintaan pencabutan, hubungi Admin Organisasi IAM Anda untuk meminta peran CA Service Operation Manager (certificate-authority-service-operation-manager) di namespace project certificate authority.
Menyiapkan lingkungan Anda
Download dan instal gdcloud CLI, jika Anda belum melakukannya.
Buat file kubeconfig untuk mengonfigurasi akses
kubectl.
Mencabut sertifikat
Metode untuk mencabut sertifikat bergantung pada apakah certificate authority (CA) penerbit telah mengaktifkan mode ACME. Setelah Anda mencabut sertifikat, nomor serinya akan muncul di semua CRL mendatang untuk CA tersebut hingga masa berlaku sertifikat berakhir.
Mencabut sertifikat dari CA yang mendukung ACME
Setiap CA yang mendukung ACME mengekspos URL server ACME yang unik dalam statusnya setelah siap. Untuk mencabut sertifikat dari CA yang mendukung ACME, Anda harus menggunakan alat klien ACME untuk berinteraksi dengan URL ini menggunakan protokol ACME.
Cabut sertifikat dari CA yang mendukung ACME:
Ambil URL server ACME untuk CA Anda:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ get certificateauthorities CA_NAME \ -n USER_PROJECT_NAMESPACE \ -ojson | jq -r '.status.acme.uri'Ganti kode berikut:
MANAGEMENT_API_SERVER_KUBECONFIG: Jalur ke file kubeconfig server Management API.CA_NAME: Nama CA yang mendukung ACME (root atau subordinat).USER_PROJECT_NAMESPACE: Namespace project.
Gunakan URL yang diperoleh dengan alat klien ACME pilihan Anda untuk mengeluarkan permintaan pencabutan. Lihat dokumentasi untuk klien ACME spesifik Anda guna mengetahui detailnya.
Mencabut sertifikat dari CA yang ACME-nya dinonaktifkan
Jika mode ACME dinonaktifkan di CA, cabut sertifikat dengan membuat dan
menerapkan resource kustom RevokeCertificateRequest:
Buat file YAML resource kustom
RevokeCertificateRequest(sepertirevoke-cert-request.yaml):apiVersion: pki.security.gdc.goog/v1 kind: RevokeCertificateRequest metadata: name: REVOKE_CERT_REQ_NAME namespace: USER_PROJECT_NAMESPACE spec: certificateRequestRef: name: CERT_REQ_NAME namespace: USER_PROJECT_NAMESPACE reason: REASONGanti kode berikut:
REVOKE_CERT_REQ_NAME: Nama yang ditentukan pengguna untuk permintaan pencabutan.USER_PROJECT_NAMESPACE: Namespace project.CERT_REQ_NAME: Nama resourceCertificateRequestyang terkait dengan sertifikat yang ingin Anda cabut.REASON: Alasan pencabutan. Berikut adalah alasan yang valid:Unspecified,KeyCompromise,CaCompromise,AffiliationChanged,Superseded,CessationOfOperation,CertificateHold,RemoveFromCrl,PrivilegeWithdrawn, danAaCompromise.
Terapkan resource kustom:
kubectl apply -f revoke-cert-request.yaml --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIGGanti MANAGEMENT_API_SERVER_KUBECONFIG dengan jalur ke file kubeconfig server Management API.
Verifikasi kesiapan permintaan pencabutan sertifikat:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n USER_PROJECT_NAMESPACE \ get revokecertificaterequest.pki.security.gdc.goog/REVOKE_CERT_REQ_NAME \ -ojson | jq -r ' .status.conditions[] | select( .type as $id | "Ready" | index($id))'Ganti kode berikut:
MANAGEMENT_API_SERVER_KUBECONFIG: Jalur ke file kubeconfig server Management API.USER_PROJECT_NAMESPACE: Namespace project.REVOKE_CERT_REQ_NAME: Nama untuk permintaan pencabutan.
Outputnya akan terlihat mirip seperti berikut:
{ "lastTransitionTime": "2025-08-19T23:20:22Z", "message": "RevokeCertificateRequest reconciled", "observedGeneration": 1, "reason": "Ready", "status": "True", "type": "Ready" }Prosesnya selesai dan nomor seri sertifikat ditambahkan ke CRL berikutnya yang dibuat.
Mencantumkan permintaan sertifikat yang dicabut
Mencantumkan semua resource RevokeCertificateRequest dalam namespace project:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \
-n USER_PROJECT_NAMESPACE \
get revokecertificaterequests
Ganti kode berikut:
MANAGEMENT_API_SERVER_KUBECONFIG: Jalur ke file kubeconfig server Management API.USER_PROJECT_NAMESPACE: Namespace project.
Outputnya akan terlihat mirip seperti berikut:
NAMESPACE NAME READY AGE
foo revoke-cert-req True 30s