Membuat root certificate authority
Halaman ini menjelaskan cara membuat root certificate authority (CA) di kumpulan CA.
CA root berada di bagian atas hierarki infrastruktur kunci publik (PKI) dan bertanggung jawab untuk membentuk anchor kepercayaan PKI. Agar dapat berpartisipasi dan menggunakan sertifikat dengan benar di PKI, perangkat, software, atau komponen harus memercayai PKI. Hal ini dilakukan dengan mengonfigurasi perangkat, software, atau komponen untuk memercayai root CA. Akibatnya, semua sertifikat yang dikeluarkan oleh root CA tepercaya.
Sebelum memulai
- Pastikan Anda memiliki peran IAM CA Service Operation Manager (
roles/privateca.caManager
) atau CA Service Admin (roles/privateca.admin
). Untuk mengetahui informasinya, lihat Mengonfigurasi kebijakan IAM. - Buat kumpulan CA.
- Menentukan setelan CA.
Membuat CA root
Root CA memiliki sertifikat yang ditandatangani sendiri yang harus Anda distribusikan ke penyimpanan kepercayaan klien. Sertifikat root CA berada di bagian atas rantai sertifikat. Tidak ada CA lain yang dapat mencabut sertifikat CA. CRL root CA hanya berlaku untuk sertifikat lain yang dikeluarkan oleh root CA, tetapi tidak untuk sertifikat itu sendiri.
Konsol
Untuk membuat CA root, lakukan hal berikut.
Buka halaman Certificate Authority Service di konsol Google Cloud.
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 hal berikut:
- Pilih Root CA.
- Di kolom Valid for, masukkan durasi yang Anda inginkan untuk sertifikat yang diterbitkan oleh sertifikat CA agar valid.
- 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 ingin ditetapkan oleh CA.
Klik Berikutnya.
- Di kolom Organization (O), masukkan nama perusahaan Anda.
- Opsional: Di kolom Unit organisasi (OU), masukkan subdivisi atau unit bisnis perusahaan.
- Opsional: Di kolom Country name, masukkan kode negara yang terdiri atas dua huruf.
- Opsional: Di kolom Nama negara bagian atau provinsi, masukkan nama negara bagian Anda.
- Opsional: Di kolom Locality name, masukkan nama kota Anda.
- Di kolom CA common name (CN), masukkan nama CA.
- Di kolom Pool ID, masukkan nama kumpulan CA. Anda tidak dapat mengubah kumpulan CA setelah membuat CA.
- Klik Berikutnya.
- Pilih algoritma kunci yang paling sesuai dengan kebutuhan Anda. Untuk mengetahui informasi tentang cara menentukan algoritma kunci yang sesuai, lihat Memilih algoritma kunci.
- Klik Berikutnya.
Langkah-langkah berikut bersifat opsional. Jika Anda melewati langkah-langkah ini, setelan default akan diterapkan.
- 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 Berikutnya.
Jika Anda tidak memilih bucket Cloud Storage yang dikelola sendiri, Layanan CA akan membuat bucket yang dikelola Google di lokasi yang sama dengan CA.
Publikasi CRL dan sertifikat CA di bucket Cloud Storage diaktifkan secara default. Untuk menonaktifkan setelan ini, klik tombol.
Langkah-langkah berikut bersifat opsional.
Jika Anda ingin menambahkan label ke CA, lakukan hal berikut:
- Klik Tambahkan item.
- Di kolom Key 1, masukkan kunci label.
- Di kolom Value 1, masukkan nilai label.
- Jika Anda ingin menambahkan label lain, klik Tambahkan item. Kemudian, tambahkan kunci dan nilai label seperti yang disebutkan pada langkah 2 dan 3.
- Klik Berikutnya.
Tinjau semua setelan dengan cermat, lalu klik Create 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 pools create.Buat CA root baru di 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 akan 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-algorithm.
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. Ganti bucket-name dengan nama bucket Cloud Storage.Untuk melihat daftar setelan yang lengkap, jalankan perintah berikut:
gcloud privateca roots create --help
Terraform
Untuk membuat CA root menggunakan kunci milik dan dikelola Google, gunakan contoh konfigurasi berikut:
Untuk membuat CA root menggunakan kunci yang dikelola sendiri, gunakan contoh konfigurasi berikut:
Go
Untuk melakukan autentikasi ke Layanan CA, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk melakukan autentikasi ke Layanan CA, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Layanan CA, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat 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 }
Lakukan polling pada 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-balanced untuk kumpulan CA.
Mengaktifkan CA root
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 root CA, root CA akan diaktifkan saat pembuatan. Untuk membuat root CA 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 melakukan autentikasi ke Layanan CA, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk melakukan autentikasi ke Layanan CA, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Layanan CA, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
Mengaktifkan 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 }
Lakukan polling pada 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 flag --ca
.
Anda dapat menggunakan metode berikut untuk meminta sertifikat dari kumpulan CA:
- Minta Layanan CA membuat kunci pribadi atau publik untuk Anda.
- Buat kunci pribadi atau publik Anda sendiri dan kirimkan Permintaan Penandatanganan Sertifikat (CSR).
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 secara otomatis untuk meminta sertifikat
dari CA di 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 leaf ke root.
DNS_NAME: Satu atau beberapa Nama Alternatif Subjek (SAN) DNS yang dipisahkan koma.
Flag
--generate-key
menghasilkan 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 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.
Flag --from-ca
didukung untuk pembuatan CA root dan 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
memberikan tanda yang sesuai secara eksplisit. Misalnya, Anda masih dapat
menentukan `--subject SUBJECT untuk menggunakan subjek baru.
Jika Anda menghapus flag --key-algorithm
, algoritma akan 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 CA subordinat.
- Pelajari cara meminta sertifikat.
- Pelajari template dan kebijakan penerbitan.