Template sertifikat standar

Certificate Authority Service menyediakan template sertifikat yang telah ditentukan sebelumnya untuk membantu menyederhanakan dan mengamankan proses penerbitan sertifikat. Dengan menawarkan kumpulan parameter X.509 yang telah dikonfigurasi sebelumnya untuk kasus penggunaan umum, template siap pakai ini menyederhanakan pengelolaan sertifikat, mengurangi risiko kesalahan manusia, dan menerapkan praktik terbaik keamanan. Setiap template dirancang untuk kasus penggunaan tertentu guna memastikan bahwa sertifikat diterbitkan dengan parameter yang benar untuk tujuan yang dimaksudkan, sekaligus mematuhi batasan yang ditetapkan oleh certificate authority (CA) penerbit.

Dokumen ini ditujukan untuk audiens dalam grup operator aplikasi, seperti developer aplikasi atau ilmuwan data, yang mengelola siklus proses sertifikat dalam project mereka. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC yang terisolasi dari internet.

Menerapkan template sertifikat

Untuk menerapkan template, tentukan nama template di kolom certificateTemplate resource CertificateRequest Anda. CA Service menerapkan parameter dari template yang dipilih ke sertifikat yang diterbitkan.

Untuk panduan mendetail tentang cara menyusun resource CertificateRequest dan menyertakan kolom certificateTemplate, lihat Meminta sertifikat.

Jenis template sertifikat

Template sertifikat standar berikut tersedia. Setiap template dirancang untuk kasus penggunaan tertentu dan telah mengonfigurasi parameter X.509 yang diterapkan oleh template.

Dalam deskripsi template di bawah, semua parameter yang tidak ditetapkan secara eksplisit oleh template diambil dari resource CertificateRequest, baik yang diberikan dalam Permintaan Penandatanganan Sertifikat (CSR) atau kolom yang Anda tentukan.

Default

Nama template: default

Template ini otomatis digunakan jika Anda tidak menentukan template sertifikat di resource CertificateRequest. Sertifikat yang diterbitkan mewarisi setelan Key usage dan Extended key usage dari profil CA penerbit, dan menetapkan Basic constraints ke CA:FALSE, sehingga mencegah sertifikat digunakan untuk menandatangani sertifikat lain.

Parameter X509 Nilai
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Batasan dasar CA:FALSE
Nama alternatif subject [Passthrough from CSR]
Penggunaan kunci [Penggunaan kunci yang ditetapkan di CA]
Penggunaan kunci yang diperpanjang [Penggunaan kunci yang diperpanjang ditetapkan di CA]

Sertifikat TLS klien

Nama template: endEntityClientAuthCertificate

Template ini menerbitkan sertifikat entitas akhir untuk autentikasi TLS sisi klien. Sertifikat yang diterbitkan menetapkan Extended key usage ke TLS web client authentication, dan Basic constraints ke CA:FALSE, sehingga mencegah sertifikat digunakan untuk menandatangani sertifikat lain.

Parameter X509 Nilai
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Batasan dasar CA:FALSE
Nama alternatif subject [Passthrough from CSR]
Penggunaan kunci Kritis, tanda tangan digital, penyandian kunci
Penggunaan kunci yang diperpanjang Autentikasi klien web TLS

Sertifikat TLS server

Nama template: endEntityServerAuthCertificate

Template ini menerbitkan sertifikat entitas akhir untuk autentikasi TLS sisi server, yang ideal untuk digunakan dengan server web. Sertifikat yang diterbitkan menetapkan Extended key usage ke TLS web server authentication, dan Basic constraints ke CA:FALSE, sehingga mencegah sertifikat digunakan untuk menandatangani sertifikat lain.

Parameter X509 Nilai
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Batasan dasar CA:FALSE
Nama alternatif subject [Passthrough from CSR]
Penggunaan kunci Kritis, tanda tangan digital, penyandian kunci
Penggunaan kunci yang diperpanjang Autentikasi server web TLS

Sertifikat CA subordinat (PathLen 0)

Nama template: blankSubCACertificate_PathLen0_CSRPassthrough

Template ini menerbitkan sertifikat CA subordinat dengan batasan panjang jalur 0, yang memungkinkan sertifikat menandatangani sertifikat entitas akhir, tetapi tidak sertifikat CA lain.

Parameter X509 Nilai
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Batasan dasar CA:TRUE, pathlen: 0
Nama alternatif subject [Passthrough from CSR]
Penggunaan kunci [Penggunaan kunci yang ditetapkan dalam CSR]
Penggunaan kunci yang diperpanjang [Penggunaan kunci yang diperpanjang ditetapkan dalam CSR]

Sertifikat CA subordinat (PathLen 1)

Nama template: blankSubCACertificate_PathLen1_CSRPassthrough

Template ini menerbitkan sertifikat CA bawahan dengan batasan panjang jalur 1, yang memungkinkan sertifikat menandatangani sertifikat entitas akhir serta sertifikat CA bawahan lain yang memiliki panjang jalur 0.

Parameter X509 Nilai
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Batasan dasar CA:TRUE, pathlen: 1
Nama alternatif subject [Passthrough from CSR]
Penggunaan kunci [Penggunaan kunci yang ditetapkan dalam CSR]
Penggunaan kunci yang diperpanjang [Penggunaan kunci yang diperpanjang ditetapkan dalam CSR]

Deteksi konflik

Setiap CA memiliki profil yang menentukan jenis sertifikat yang diizinkannya untuk dikeluarkan. Misalnya, CA mungkin dibatasi untuk hanya menerbitkan sertifikat autentikasi klien. Profil CA dikonfigurasi dalam bagian certificateProfile dari resource CertificateAuthority saat CA dibuat, seperti yang dijelaskan dalam Membuat certificate authority root dan Membuat certificate authority bawahan.

Saat Anda meminta sertifikat menggunakan template yang telah ditentukan sebelumnya, CA Service akan memvalidasi parameter template terhadap konfigurasi CA penerbit. Agar valid, parameter X.509 yang ditentukan dalam template yang dipilih harus merupakan subset dari parameter yang diizinkan oleh CA penerbit sesuai dengan certificateProfile-nya. Konflik terjadi jika template meminta atribut atau izin yang tidak dapat diberikan oleh CA. Misalnya, template tidak dapat meminta Extended key usage (EKU) serverAuth jika CA penerbit hanya diberi otorisasi untuk memberikan clientAuth.

Jika CA Service mendeteksi konflik tersebut, CertificateRequest akan gagal. Anda dapat memeriksa status resource CertificateRequest untuk memahami alasan kegagalan.

Contoh

Dalam skenario berikut, CA bernama client-certs-ca dikonfigurasi untuk menerbitkan sertifikat hanya untuk autentikasi klien. certificateProfile-nya menentukan bahwa satu-satunya Extended key usage yang diizinkan adalah TLS web client authentication.

Anda mengirimkan CertificateRequest berikut untuk menerbitkan sertifikat bagi server, menggunakan template endEntityServerAuthCertificate:

  apiVersion: pki.security.gdc.goog/v1
  kind: CertificateRequest
  metadata:
    name: server-cert-req
    namespace: my-project
  spec:
    certificateAuthorityRef:
      name: client-certs-ca
      namespace: my-project
    csr: "..."
    certificateTemplate: endEntityServerAuthCertificate
    signedCertificateSecret: server-cert-secret

Permintaan ini gagal karena hal berikut:

  • Template endEntityServerAuthCertificate memerlukan EKU TLS web server authentication.
  • CA penerbit, client-certs-ca, memiliki certificateProfile yang hanya mengizinkan EKU TLS web client authentication.

Karena EKU yang diperlukan oleh template tidak disertakan dalam daftar EKU yang diizinkan oleh profil CA, persyaratan template bukan merupakan subset dari parameter yang diizinkan CA. Oleh karena itu, permintaan ditolak.