Setelah menginstal komponen apigee-mtls di setiap node dalam cluster, Anda
harus mengonfigurasi dan melakukan inisialisasi. Anda dapat melakukannya dengan membuat pasangan sertifikat/kunci dan memperbarui file konfigurasi di mesin administrasi. Kemudian, Anda men-deploy file yang sama yang dihasilkan ke semua node dalam cluster dan melakukan inisialisasi komponen apigee-mtls lokal.
Mengonfigurasi apigee-mtls (setelah penginstalan awal)
Bagian ini menjelaskan cara mengonfigurasi mTLS Apigee untuk satu pusat data segera setelah penginstalan awal. Untuk mengetahui informasi tentang cara melakukan update pada penginstalan mTLS Apigee yang sudah ada, lihat Mengubah konfigurasi apigee-mtls yang sudah ada. Untuk informasi tentang cara mengonfigurasi beberapa pusat data, lihat Mengonfigurasi beberapa pusat data untuk mTLS Apigee.
Berikut adalah proses umum untuk mengonfigurasi
apigee-mtls:
- Perbarui file konfigurasi Anda: Di mesin
administrasi, perbarui file konfigurasi untuk menyertakan setelan
apigee-mtls. - Menginstal Consul dan membuat kredensial: Instal Consul dan gunakan untuk membuat kredensial TLS (hanya sekali).
Selain itu, edit file konfigurasi mTLS Apigee Anda untuk:
- Menambahkan informasi kredensial
- Menentukan topologi cluster
Perlu diperhatikan bahwa Anda dapat menggunakan kredensial yang ada atau membuatnya dengan Consul.
- Distribusikan file konfigurasi dan kredensial: Distribusikan pasangan sertifikat/kunci yang sama yang dihasilkan dan file konfigurasi yang diperbarui ke semua node di cluster Anda.
- Melakukan inisialisasi apigee-mtls: Lakukan inisialisasi komponen
apigee-mtlsdi setiap node.
Setiap langkah ini dijelaskan di bagian berikut.
Langkah 1: Perbarui file konfigurasi Anda
Bagian ini menjelaskan cara mengubah file konfigurasi untuk menyertakan properti konfigurasi mTLS. Untuk mengetahui informasi umum selengkapnya tentang file konfigurasi, lihat Membuat file konfigurasi.
Setelah memperbarui file konfigurasi dengan properti terkait mTLS, salin file tersebut ke
semua node dalam cluster sebelum Anda menginisialisasi komponen apigee-mtls pada node
tersebut.
Perintah yang mereferensikan file konfigurasi menggunakan "config_file" untuk menunjukkan bahwa lokasinya bervariasi, bergantung pada tempat Anda menyimpannya di setiap node.
Untuk mengupdate file konfigurasi:
- Di mesin administrasi, buka file konfigurasi.
- Salin kumpulan properti konfigurasi mTLS berikut dan tempelkan ke file
konfigurasi:
ALL_IP="ALL_PRIVATE_IPS_IN_CLUSTER" ZK_MTLS_HOSTS="ZOOKEEPER_PRIVATE_IPS" CASS_MTLS_HOSTS="CASSANDRA_PRIVATE_IPS" PG_MTLS_HOSTS="POSTGRES_PRIVATE_IPS" RT_MTLS_HOSTS="ROUTER_PRIVATE_IPS" MS_MTLS_HOSTS="MGMT_SERVER_PRIVATE_IPS" MP_MTLS_HOSTS="MESSAGE_PROCESSOR_PRIVATE_IPS" QP_MTLS_HOSTS="QPID_PRIVATE_IPS" LDAP_MTLS_HOSTS="OPENLDAP_PRIVATE_IPS" MTLS_ENCAPSULATE_LDAP="y" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="BASE64_GOSSIP_MESSAGE" PATH_TO_CA_CERT="PATH/TO/consul-agent-ca.pem" PATH_TO_CA_KEY="PATH/TO/consul-agent-ca-key.pem" APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR="NUMBER_OF_DAYS"
Tetapkan nilai setiap properti agar sesuai dengan konfigurasi Anda.
Tabel berikut menjelaskan properti konfigurasi ini:
Properti Deskripsi ALL_IPDaftar alamat IP host pribadi yang dipisahkan spasi untuk semua node dalam cluster. Urutan alamat IP tidak menjadi masalah, kecuali bahwa alamat IP tersebut harus sama di semua file konfigurasi di seluruh cluster.
Jika Anda mengonfigurasi mTLS Apigee untuk beberapa pusat data, cantumkan semua alamat IP untuk semua host di semua region.
LDAP_MTLS_HOSTSAlamat IP host pribadi node OpenLDAP di cluster. ZK_MTLS_HOSTSDaftar alamat IP host pribadi yang dipisahkan spasi tempat node ZooKeeper dihosting dalam cluster.
Perhatikan bahwa berdasarkan persyaratan, harus ada minimal tiga node ZooKeeper.
CASS_MTLS_HOSTSDaftar alamat IP host pribadi yang dipisahkan spasi, tempat server Cassandra dihosting dalam cluster. PG_MTLS_HOSTSDaftar alamat IP host pribadi yang dipisahkan spasi, tempat server Postgres dihosting dalam cluster. RT_MTLS_HOSTSDaftar alamat IP host pribadi yang dipisahkan spasi tempat Router dihosting di cluster. MTLS_ENCAPSULATE_LDAPMengenkripsi traffic LDAP antara Message Processor dan server LDAP. Tetapkan ke y.MS_MTLS_HOSTSDaftar alamat IP host pribadi yang dipisahkan spasi, tempat node Server Pengelolaan dihosting di cluster. MP_MTLS_HOSTSDaftar alamat IP host pribadi yang dipisahkan spasi, tempat Message Processor dihosting di cluster. QP_MTLS_HOSTSDaftar alamat IP host pribadi yang dipisahkan spasi, tempat server Qpid dihosting di cluster. ENABLE_SIDECAR_PROXYMenentukan apakah Cassandra dan Postgres harus mengetahui mesh layanan. Anda harus menetapkan nilai ini ke "y".
ENCRYPT_DATAKunci enkripsi berenkode base64 yang digunakan oleh Consul . Anda membuat kunci ini menggunakan perintah consul keygendi Langkah 2: Instal Consul dan buat kredensial.Nilai ini harus sama di semua node dalam cluster.
PATH_TO_CA_CERTLokasi file sertifikat di node. Anda membuat file ini di Langkah 2: Instal Consul dan buat kredensial. Lokasi ini harus sama di semua node dalam cluster agar file konfigurasi sama.
Sertifikat harus dienkode dengan X509v3.
PATH_TO_CA_KEYLokasi file kunci pada node. Anda membuat file ini di Langkah 2: Instal Consul dan buat kredensial. Lokasi ini harus sama di semua node dalam cluster sehingga file konfigurasinya sama.
File kunci harus berenkode X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FORJumlah hari masa berlaku sertifikat saat Anda membuat sertifikat kustom.
Nilai defaultnya adalah 365. Nilai maksimumnya adalah 7.865 hari (5 tahun).
Selain properti yang tercantum di atas, Apigee mTLS menggunakan beberapa properti tambahan saat Anda menginstalnya di konfigurasi multi-pusat data. Untuk informasi selengkapnya, lihat Mengonfigurasi beberapa pusat data.
- Pastikan properti
ENABLE_SIDECAR_PROXYditetapkan ke "y". - Perbarui alamat IP di properti terkait host. Pastikan untuk menggunakan alamat IP pribadi saat merujuk ke setiap node, bukan alamat IP publik.
Pada langkah berikutnya, Anda akan menetapkan nilai properti lainnya seperti
ENCRYPT_DATA,PATH_TO_CA_CERT, danPATH_TO_CA_KEY. Anda belum menetapkan nilainya.Saat mengedit properti konfigurasi
apigee-mtls, perhatikan hal berikut:- Semua properti adalah string; Anda harus menggabungkan nilai semua properti dalam tanda kutip tunggal atau ganda.
- Jika nilai terkait host memiliki lebih dari satu alamat IP pribadi, pisahkan setiap alamat IP dengan spasi.
- Gunakan alamat IP pribadi, bukan nama host atau alamat IP publik untuk semua properti terkait host dalam file konfigurasi.
- Urutan alamat IP dalam nilai properti harus dalam urutan yang sama di semua file konfigurasi di seluruh cluster.
- Simpan perubahan Anda pada file konfigurasi.
Langkah 2: Instal Consul dan buat kredensial
Bagian ini menjelaskan cara menginstal Consul dan membuat kredensial.
Anda harus memilih salah satu metode berikut untuk membuat kredensial:
- Membuat CA Anda sendiri menggunakan Consul, seperti yang dijelaskan di bagian ini (direkomendasikan)
- Menggunakan kredensial CA yang ada dengan mTLS Apigee (lanjutan)
Tentang kredensial
Kredensial terdiri dari hal berikut:
- Sertifikat: Sertifikat TLS yang dihosting di setiap node
- Kunci: Kunci publik TLS yang dihosting di setiap node
- Pesan gosip: Kunci enkripsi berenkode base-64
Anda hanya perlu membuat satu versi dari setiap file ini satu kali. Anda menyalin file kunci dan sertifikat ke semua node di cluster, dan menambahkan kunci enkripsi ke file konfigurasi yang juga Anda salin ke semua node.
Untuk mengetahui informasi selengkapnya tentang implementasi enkripsi Consul, lihat referensi berikut:
Menginstal Consul dan membuat kredensial
Anda menggunakan biner Consul lokal untuk membuat kredensial yang digunakan mTLS Apigee untuk mengautentikasi komunikasi yang aman di antara node dalam cluster Cloud Pribadi Anda. Oleh karena itu, Anda harus menginstal Consul di mesin administrasi sebelum dapat membuat kredensial.
Untuk menginstal Consul dan membuat kredensial mTLS:
- Di mesin administrasi Anda, download biner Consul 1.6.2 dari situs HashiCorp.
- Ekstrak konten file arsip yang didownload. Misalnya, ekstrak konten ke
/opt/consul/. - Di mesin administrasi Anda, buat Certificate Authority (CA) baru dengan menjalankan
perintah berikut:
/opt/consul/consul tls ca create
Consul membuat file berikut, yang merupakan pasangan sertifikat/kunci:
consul-agent-ca.pem(sertifikat)consul-agent-ca-key.pem(kunci)
Secara default, file sertifikat dan kunci dienkode dengan X509v3.
Nantinya, Anda akan menyalin file ini ke semua node di cluster. Namun, saat ini, Anda hanya perlu memutuskan di mana pada node Anda akan menempatkan file ini. File tersebut harus berada di lokasi yang sama di setiap node. Misalnya,
/opt/apigee/. - Dalam file konfigurasi, tetapkan nilai
PATH_TO_CA_CERTke lokasi tempat Anda akan menyalin fileconsul-agent-ca.pempada node. Contoh:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- Tetapkan nilai
PATH_TO_CA_KEYke lokasi tempat Anda akan menyalin fileconsul-agent-ca-key.pempada node. Contoh:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- Buat kunci enkripsi untuk Consul dengan menjalankan perintah berikut:
/opt/consul/consul keygen
Consul menghasilkan string acak yang terlihat mirip dengan berikut ini:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Salin string dan tetapkan sebagai nilai properti
ENCRYPT_DATAdi file konfigurasi Anda. Contoh:ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" - Simpan file konfigurasi Anda.
Contoh berikut menunjukkan setelan terkait mTLS dalam file konfigurasi (dengan contoh nilai):
... IP1=10.126.0.121 IP2=10.126.0.124 IP3=10.126.0.125 IP4=10.126.0.127 IP5=10.126.0.130 ALL_IP="$IP1 $IP2 $IP3 $IP4 $IP5" LDAP_MTLS_HOSTS="$IP3" ZK_MTLS_HOSTS="$IP3 $IP4 $IP5" CASS_MTLS_HOSTS="$IP3 $IP4 $IP5" PG_MTLS_HOSTS="$IP2 $IP1" RT_MTLS_HOSTS="$IP4 $IP5" MS_MTLS_HOSTS="$IP3" MP_MTLS_HOSTS="$IP4 $IP5" QP_MTLS_HOSTS="$IP2 $IP1" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem" ...
Langkah 3: Distribusikan file konfigurasi dan kredensial
Salin file berikut ke node yang menjalankan ZooKeeper menggunakan alat seperti
scp:
- File konfigurasi: Salin versi terbaru file ini dan ganti versi yang ada di semua node (bukan hanya node yang menjalankan ZooKeeper).
- consul-agent-ca.pem: Salin ke lokasi yang Anda tentukan sebagai nilai
PATH_TO_CA_CERTdalam file konfigurasi. - consul-agent-ca-key.pem: Salin ke lokasi yang Anda tentukan sebagai nilai
PATH_TO_CA_KEYdalam file konfigurasi.
Pastikan lokasi tempat Anda menyalin file sertifikat dan kunci cocok dengan nilai yang Anda tetapkan dalam file konfigurasi di Langkah 2: Instal Consul dan buat kredensial.
Langkah 4: Lakukan inisialisasi apigee-mtls
Setelah memperbarui file konfigurasi, menyalinnya dan kredensial ke semua node di
cluster, dan menginstal apigee-mtls di setiap node, Anda siap untuk melakukan inisialisasi
komponen apigee-mtls di setiap node.
Untuk melakukan inisialisasi apigee-mtls:
- Login ke node di cluster sebagai pengguna root. Anda dapat melakukan langkah-langkah ini pada node dalam urutan apa pun yang Anda inginkan.
- Jadikan pengguna
apigee:apigeesebagai pemilik file konfigurasi yang diperbarui, seperti yang ditunjukkan dalam contoh berikut:chown apigee:apigee config_file
- Konfigurasi komponen
apigee-mtlsdengan menjalankan perintah berikut:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (Opsional) Jalankan perintah berikut untuk memverifikasi bahwa penyiapan Anda berhasil:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- Mulai mTLS Apigee dengan menjalankan perintah berikut:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
Setelah menginstal Apigee mTLS, Anda harus memulai komponen ini sebelum komponen lain pada node.
- (Khusus node Cassandra) Cassandra memerlukan argumen tambahan agar dapat berfungsi dalam mesh keamanan. Oleh karena itu, Anda harus menjalankan perintah berikut di setiap node Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart - (Khusus node Postgres) Postgres memerlukan argumen tambahan agar dapat berfungsi dalam
mesh keamanan. Oleh karena itu, Anda harus melakukan hal berikut pada node Postgres:
(Khusus Master)
- Jalankan perintah berikut pada node master Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
(Khusus standby)
- Cadangkan data Postgres yang ada. Untuk menginstal mTLS Apigee, Anda harus melakukan inisialisasi ulang node master/standby, sehingga akan ada data yang hilang. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan replikasi master/standby untuk Postgres.
- Hapus semua data Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Konfigurasikan Postgres, lalu mulai ulang Postgres, seperti yang ditunjukkan contoh berikut:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Jika Anda menginstal pada topologi multi-pusat data, gunakan jalur absolut untuk file konfigurasi.
- Jalankan perintah berikut pada node master Postgres:
- Mulai komponen Apigee yang tersisa pada node dalam
urutan mulai, seperti yang
ditunjukkan contoh berikut:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Ulangi proses ini untuk setiap node dalam cluster.
- (Opsional) Pastikan inisialisasi
apigee-mtlsberhasil menggunakan satu atau beberapa metode berikut:- Memvalidasi konfigurasi iptables
- Memverifikasi status proxy jarak jauh
- Memverifikasi status kuorum
Setiap metode ini dijelaskan dalam Memverifikasi konfigurasi Anda.
Mengubah konfigurasi apigee-mtls yang ada
Untuk menyesuaikan konfigurasi apigee-mtls yang ada, Anda harus meng-uninstal dan
menginstal ulang apigee-mtls.
Untuk menegaskan kembali poin ini, saat mengubah konfigurasi mTLS Apigee yang ada:
- Jika Anda mengubah file konfigurasi, Anda harus meng-uninstal
apigee-mtlsterlebih dahulu dan menjalankan ulangsetupatauconfigure:# DO THIS:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls uninstall# BEFORE YOU DO THIS:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f fileOR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure - Anda harus meng-uninstal dan menjalankan ulang
setupatauconfiguredi semua node dalam cluster, bukan hanya satu node.