Membuat root certificate authority
Halaman ini menjelaskan cara membuat root certificate authority (CA) dalam kumpulan CA.
CA root berada di bagian atas hierarki infrastruktur kunci publik (PKI) dan bertanggung jawab untuk membentuk trust anchor PKI. Untuk berpartisipasi dan menggunakan sertifikat dengan benar dalam IKP, perangkat, software, atau komponen harus memercayai IKP. Hal ini dilakukan dengan mengonfigurasi perangkat, perangkat lunak, atau komponen untuk memercayai CA {i>root<i}. Akibatnya, semua sertifikat yang diterbitkan oleh CA root dipercaya.
Sebelum memulai
- Pastikan Anda memiliki peran CA Service Operation Manager
(
roles/privateca.caManager
) atau CA Service Admin (roles/privateca.admin
). Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi kebijakan IAM. - Buat kumpulan CA.
- Tentukan setelan CA Anda.
Membuat root CA
CA root memiliki sertifikat yang ditandatangani sendiri yang harus Anda distribusikan ke trust store klien Anda. Sertifikat root CA berada di bagian atas rantai sertifikat. Tidak ada CA lain yang dapat mencabut sertifikat CA. CRL dari root CA hanya berlaku untuk sertifikat lain yang diterbitkan oleh root CA, tetapi tidak untuk sertifikat itu sendiri.
Konsol
Untuk membuat root CA, lakukan hal berikut.
Buka halaman Certificate Authority Service di Google Cloud Console.
Klik tab Pengelola CA.
Klik Create CA.
Pilih jenis CA
Untuk mengonfigurasi setelan permanen CA, seperti tingkat, lokasi, masa aktif, dan status operasional saat pembuatan, lakukan tindakan berikut:
- Pilih Root CA.
- Di kolom Valid for, masukkan durasi validitas sertifikat yang diterbitkan oleh sertifikat CA.
- Opsional: pilih tingkat untuk CA.
- Klik Region dan dalam daftar, pilih lokasi tempat Anda ingin membuat CA. Sebaiknya buat CA secara geografis dekat dengan klien aplikasi Anda. Untuk mengetahui informasi selengkapnya, lihat Memilih lokasi terbaik.
Opsional: Pilih status operasional CA yang akan dibuat.
Opsional: Klik Profil sertifikat. Dalam daftar, pilih profil sertifikat yang cocok dengan jenis sertifikat yang Anda inginkan untuk diterbitkan oleh CA.
Klik Next.
- Di kolom Organization (O), masukkan nama perusahaan Anda.
- Opsional: Di kolom Unit organisasi (OU), masukkan subdivisi atau unit bisnis perusahaan.
- Opsional: Di kolom Nama negara, masukkan kode negara dua huruf.
- Opsional: Di kolom Nama negara bagian atau provinsi, masukkan nama negara bagian Anda.
- Opsional: Di kolom Nama lokalitas, masukkan nama kota Anda.
- Di kolom Nama umum CA (CN), masukkan nama CA.
- Di kolom Pool ID, masukkan nama kumpulan CA. Anda tidak dapat mengubah kumpulan CA setelah membuat CA.
- Klik Next.
- Pilih algoritma kunci yang paling sesuai dengan kebutuhan Anda. Untuk mengetahui informasi tentang cara menentukan algoritma kunci yang sesuai, lihat Memilih algoritma kunci.
- Klik Next.
Langkah-langkah berikut ini bersifat opsional. Jika Anda melewati langkah-langkah ini, setelan default akan berlaku.
- Pilih apakah Anda ingin menggunakan bucket Cloud Storage yang dikelola Google atau dikelola sendiri.
- Pilih apakah Anda ingin menonaktifkan publikasi daftar pencabutan sertifikat (CRL) dan sertifikat CA ke bucket Cloud Storage.
- Klik Next.
Jika Anda tidak memilih bucket Cloud Storage yang dikelola sendiri, CA Service akan membuat bucket yang dikelola Google di lokasi yang sama dengan CA.
Publikasi CRL dan sertifikat CA pada bucket Cloud Storage diaktifkan secara default. Untuk menonaktifkan setelan ini, klik tombol.
Langkah-langkah berikut ini bersifat opsional.
Jika Anda ingin menambahkan label ke CA, lakukan hal berikut:
- Klik Tambahkan item.
- Di kolom Kunci 1, masukkan kunci label.
- Di kolom Nilai 1, masukkan nilai label.
- Jika Anda ingin menambahkan label lain, klik Tambahkan item. Kemudian, tambahkan kunci label dan nilai seperti yang disebutkan pada langkah 2 dan 3.
- Klik Next.
Tinjau semua setelan dengan cermat, lalu klik Buat untuk membuat CA.
gcloud
Untuk membuat kumpulan CA, jalankan perintah berikut:
gcloud privateca pools create POOL_ID
Ganti POOL_ID dengan nama kumpulan CA.
Untuk mengetahui informasi selengkapnya, lihat Membuat kumpulan CA.
Untuk mengetahui informasi selengkapnya tentang perintah
gcloud
ini, lihat gcloud privateca pool create.Buat CA root baru dalam kumpulan CA yang Anda buat.
gcloud privateca roots create ROOT_CA_ID --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"
Ganti kode berikut:
- ROOT_CA_ID: Nama CA.
- POOL_ID: Nama kumpulan CA.
- KEY_ALGORITHM: Algoritma yang digunakan untuk membuat kunci Cloud KMS. Flag ini bersifat opsional. Jika Anda tidak menyertakan
flag ini, algoritma kunci akan ditetapkan secara default ke
rsa-pkcs1-4096-sha256
. Untuk mengetahui informasi selengkapnya, lihat flag --key-algoritme.
Secara default, CA dibuat dalam status
STAGED
. Untuk mengaktifkan CA secara default, sertakan flag--auto-enable
.Jika Anda ingin menggunakan bucket Cloud Storage yang dikelola pelanggan untuk memublikasikan sertifikat CA dan CRL, tambahkan
--bucket bucket-name
ke perintah tersebut. Ganti bucket-name dengan nama bucket Cloud Storage.Untuk melihat daftar lengkap setelan, jalankan perintah berikut:
gcloud privateca roots create --help
Terraform
Untuk membuat CA root menggunakan kunci yang dikelola Google, gunakan contoh konfigurasi berikut:
Untuk membuat CA root menggunakan kunci yang dikelola sendiri, gunakan contoh konfigurasi berikut:
Go
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
Buat root CA.
Metode HTTP dan URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities?certificate_authority_id=ROOT_CA_ID
Meminta isi JSON:
{ "type": "SELF_SIGNED", "lifetime": { "seconds": 315576000, "nanos": 0 }, "config": { "subject_config": { "subject": { "organization": "ORGANIZATION_NAME", "common_name": "COMMON_NAME" } }, "x509_config":{ "ca_options":{ "is_ca":true }, "key_usage":{ "base_key_usage":{ "cert_sign":true, "crl_sign":true } } } }, "key_spec":{ "algorithm":"RSA_PKCS1_4096_SHA256" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Polling operasi hingga selesai.
Metode HTTP dan URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Setelah memverifikasi bahwa CA berfungsi seperti yang diharapkan, Anda dapat mengaktifkannya untuk mulai menerbitkan sertifikat load balancing untuk kumpulan CA.
Mengaktifkan root CA
gcloud
Untuk mengaktifkan CA root, jalankan perintah gcloud
berikut:
gcloud privateca roots enable ROOT_CA_ID --pool=POOL_ID
Ganti kode berikut:
- ROOT_CA_ID: Nama CA.
- POOL_ID: Nama kumpulan CA.
Terraform
Jika Anda menggunakan Terraform untuk membuat CA root, CA root akan diaktifkan saat pembuatan. Untuk membuat CA root dalam status STAGED
, tetapkan
kolom desired_state
ke STAGED
saat membuat CA.
Anda dapat menetapkan kolom desired_state
ke ENABLED
atau DISABLED
setelah pembuatan CA.
Go
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke CA Service, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
Aktifkan CA untuk menerbitkan sertifikat dari kumpulan CA.
Metode HTTP dan URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/ROOT_CA_ID:enable
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Polling operasi hingga selesai.
Metode HTTP dan URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Menguji CA
Untuk memverifikasi bahwa CA dapat menerbitkan sertifikat, minta sertifikat dari
kumpulan CA terkait dan sebutkan secara eksplisit nama CA yang ingin
Anda uji menggunakan tanda --ca
.
Anda dapat menggunakan metode berikut untuk meminta sertifikat dari kumpulan CA:
- Minta CA Service membuat kunci pribadi atau kunci publik untuk Anda.
- Buat kunci pribadi atau publik Anda sendiri dan kirimkan Permintaan Penandatanganan Sertifikat (CSR).
Akan lebih mudah menggunakan kunci pribadi atau kunci publik yang dibuat secara otomatis untuk meminta sertifikat dari CA dalam kumpulan CA. Bagian ini memberikan informasi tentang pengujian CA menggunakan metode tersebut.
Untuk menggunakan kunci pribadi atau kunci publik yang dibuat otomatis untuk meminta sertifikat
dari CA dalam kumpulan CA, jalankan perintah gcloud
berikut:
gcloud privateca certificates create \
--issuer-pool=POOL_ID \
--ca=ROOT_CA_ID \
--generate-key \
--key-output-file=KEY_FILENAME \
--cert-output-file=CERT_FILENAME \
--dns-san=DNS_NAME
Ganti kode berikut:
- POOL_ID: Nama kumpulan CA.
- ROOT_CA_ID: ID unik CA yang ingin Anda uji.
- KEY_FILENAME: File tempat kunci yang dihasilkan ditulis dalam format PEM.
- CERT_FILENAME: File tempat file rantai sertifikat berenkode PEM yang dihasilkan ditulis. Urutan rantai sertifikat adalah dari daun ke {i>root<i}.
DNS_NAME: Satu atau beberapa Nama Alternatif Subjek DNS (SAN) yang dipisahkan koma.
Flag
--generate-key
akan membuat kunci pribadi RSA-2048 baru di komputer Anda.
Untuk menggunakan Permintaan Penandatanganan Sertifikat (CSR) guna meminta sertifikat dari CA dalam kumpulan CA, atau untuk mengetahui informasi selengkapnya tentang cara meminta sertifikat, lihat Meminta sertifikat dan melihat sertifikat yang diterbitkan.
Meng-clone certificate authority
Untuk meng-clone CA yang ada guna memperpanjang CA tersebut, atau untuk membuat CA baru dengan konfigurasi yang sama, jalankan perintah berikut:
gcloud privateca roots create NEW_CA_ID --pool=POOL_ID \
--from-ca=EXISTING_CA_ID \
--key-algorithm "ec-p384-sha384"
Ganti kode berikut:
- NEW_CA_ID: ID unik CA baru.
- POOL_ID: Nama kumpulan CA tempat Anda ingin membuat CA baru.
Tanda --from-ca
didukung untuk pembuatan root dan CA subordinat. CA yang ada harus berada dalam kumpulan CA yang sama dengan CA baru.
Flag --key-algorithm
menyalin semua konfigurasi CA dari CA yang ada (kecuali untuk versi kunci Cloud KMS dan bucket Cloud Storage). Namun,
Anda masih dapat mengganti nilai konfigurasi apa pun di CA baru dengan
menyediakan flag yang sesuai secara eksplisit. Misalnya, Anda masih dapat
menentukan `--subject SUBJECT untuk menggunakan subjek baru.
Jika Anda menghilangkan flag --key-algorithm
, algoritma ditetapkan secara default ke:
rsa-pkcs1-4096-sha256
untuk root CA.rsa-pkcs1-2048-sha256
untuk CA subordinat.
Untuk mengetahui informasi selengkapnya tentang perintah gcloud
ini, lihat
gcloud privateca roots create.
Langkah selanjutnya
- Pelajari cara membuat subordinate CA.
- Pelajari cara meminta sertifikat.
- Pelajari kebijakan template dan penerbitan.