Kelola sertifikat

Pilih versi dokumentasi:

Halaman ini menjelaskan cara menggunakan penerbit sertifikat kustom untuk mengelola sertifikat Transport Layer Security (TLS) di cluster database AlloyDB Omni berbasis Kubernetes Anda.

Secara default, operator Kubernetes AlloyDB Omni menggunakan cert-manager untuk menyediakan serangkaian sertifikat TLS untuk setiap cluster database. Selain sertifikat server database, operator juga membuat sertifikat untuk komponen control plane guna memastikan koneksi internal juga aman. Secara default, setiap sertifikat ditandatangani oleh penerbit yang dikelola oleh operator.

Mulai dari operator AlloyDB Omni versi 1.6.0, jika Anda lebih memilih semua sertifikat, termasuk sertifikat untuk komponen bidang kontrol, untuk dirantai kembali ke CA root tepercaya Anda sendiri, Anda dapat mengonfigurasi operator untuk menggunakan penerbit pilihan Anda. Hal ini memungkinkan Anda merangkai semua sertifikat ke infrastruktur kunci publik (PKI) Anda sendiri, termasuk sertifikat yang digunakan untuk fungsi bidang kontrol, tanpa mengekspos detail implementasi setiap entitas internal.

Sebelum memulai

Untuk mengonfigurasi penerbit sertifikat, Anda harus membuat penerbit cert-manager jenis ClusterIssuer atau Issuer yang terkait dengan CA yang ingin Anda gunakan untuk menandatangani sertifikat. Operator AlloyDB Omni mereferensikan penerbit ini saat membuat sertifikat.

Mengonfigurasi penerbit kustom

Anda dapat mengonfigurasi penerbit sertifikat kustom untuk cluster database, operator AlloyDB Omni, dan PgBouncer.

Sertifikat cluster database

Fitur ini mengharuskan controlPlaneAgentsVersion cluster database yang relevan dalam manifesnya adalah 1.6.0 atau yang lebih tinggi.

Ada dua kolom spesifikasi cluster database untuk mengonfigurasi penerbit sertifikat:

  • spec.primarySpec.dataPlaneCertIssuer: referensi ke penerbit cert-manager yang menyediakan sertifikat bidang data. CA penerbit adalah CA yang dapat dipercaya oleh klien database untuk memverifikasi database selama koneksi TLS.

  • spec.primarySpec.controlPlaneAgentsCertIssuer: referensi ke penerbit cert-manager yang menyediakan sertifikat bidang kontrol. Sertifikat ini digunakan untuk koneksi internal.

spec:
  primarySpec:
    tls:
      dataPlaneCertIssuer:
        name: DATA_PLANE_ISSUER_NAME
        kind: DATA_PLANE_ISSUER_KIND
      controlPlaneAgentsCertIssuer:
        name: CONTROL_PLANE_ISSUER_NAME
        kind: CONTROL_PLANE_ISSUER_KIND

Ganti kode berikut:

  • DATA_PLANE_ISSUER_NAME: nama penerbit cert-manager yang menyediakan sertifikat bidang data, seperti untuk server database.

  • DATA_PLANE_ISSUER_KIND: harus berupa Issuer atau ClusterIssuer.

  • CONTROL_PLANE_ISSUER_NAME: nama penerbit cert-manager yang menyediakan sertifikat bidang kontrol untuk komponen internal.

  • CONTROL_PLANE_ISSUER_KIND: harus berupa Issuer atau ClusterIssuer.

Sertifikat operator

Langkah-langkah untuk mengonfigurasi penerbit cert-manager untuk sertifikat operator bergantung pada metode yang digunakan untuk menginstal AlloyDB Omni.

Mengonfigurasi menggunakan Helm

Jika Anda menginstal operator AlloyDB Omni versi 1.6.0 atau yang lebih baru untuk pertama kalinya, gunakan penginstalan Helm dan tetapkan nilai yang sesuai. Hal ini mengasumsikan bahwa Anda mengikuti petunjuk penginstalan.

helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \
--create-namespace \
--namespace alloydb-omni-system \
--set operatorCertIssuer.certManagerIssuerName="OPERATOR_CERT_ISSUER_NAME" \
--set operatorCertIssuer.certManagerIssuerKind="OPERATOR_CERT_ISSUER_KIND" \
--atomic \
--timeout 5m

Jika Anda sudah menginstal operator dan perlu menyetel penerbit sertifikat, gunakan helm upgrade untuk menyetel nilai yang sesuai:

helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \
--create-namespace \
--namespace alloydb-omni-system \
--set operatorCertIssuer.certManagerIssuerName="OPERATOR_CERT_ISSUER_NAME" \
--set operatorCertIssuer.certManagerIssuerKind="OPERATOR_CERT_ISSUER_KIND" \
--atomic \
--timeout 5m

Ganti kode berikut:

  • OPERATOR_CERT_ISSUER_NAME: nama penerbit cert-manager yang menyediakan sertifikat operator, yang digunakan untuk koneksi internal.

  • OPERATOR_CERT_ISSUER_KIND: harus berupa Issuer atau ClusterIssuer.

Mengonfigurasi menggunakan Operator Lifecycle Manager

Jika Anda menggunakan Operator Lifecycle Manager (OLM) untuk menginstal operator AlloyDB Omni, Anda dapat mengubah kolom spec.config.env resource Langganan untuk menyetel variabel lingkungan CERT_MANAGER_ISSUER_NAME dan CERT_MANAGER_ISSUER_KIND Deployment operator.

spec:
  config:
    env:
    - name: CERT_MANAGER_ISSUER_NAME
      value: OPERATOR_CERT_ISSUER_NAME
    - name: CERT_MANAGER_ISSUER_KIND
      value: OPERATOR_CERT_ISSUER_KIND

Ganti kode berikut:

  • OPERATOR_CERT_ISSUER_NAME: nama penerbit cert-manager yang menyediakan sertifikat operator, yang digunakan untuk koneksi internal.

  • OPERATOR_CERT_ISSUER_KIND: harus berupa Issuer atau ClusterIssuer.

Sertifikat PgBouncer

Untuk mendukung penerbit kustom, pengontrol PgBouncer dapat memeriksa kolom spec.primarySpec.tls.dataPlaneCertIssuer DBCluster dan menggunakannya untuk menyediakan sertifikat PgBouncer. Hal ini memastikan bahwa PgBouncer menggunakan sertifikat dari CA yang sama dengan database.

Verifikasi

Untuk memverifikasi bahwa Deployment operator dalam kondisi baik dan variabel lingkungan CERT_MANAGER_ISSUER_NAME dan CERT_MANAGER_ISSUER_KIND telah ditetapkan, jalankan perintah berikut:

kubectl get deployments local-controller-manager -n alloydb-omni-system -o yaml

Untuk memverifikasi bahwa penerbit yang benar digunakan, periksa objek Sertifikat sebagai berikut:

kubectl get certificate -n NAMESPACE

Periksa kolom issuerRef di output untuk setiap sertifikat guna mengonfirmasi bahwa sertifikat tersebut cocok dengan penerbit kustom Anda.