Langkah 8 - Instal komponen CDR.md
Terakhir, instal layanan aplikasi CDR. Untuk chart ini, pastikan Anda menetapkan image tag ke tag terkait yang ditemukan dalam catatan rilis.
Contoh di bawah ini sudah diisi sebelumnya dengan tag untuk v2.18.1:
8.1 - Engine
enable_reversing_labs=""
helm upgrade --install cdrplatform-engine cdrplatform-engine \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.ENABLE_REVERSING_LABS="${enable_reversing_labs}" \
--set cloud_provider=gcp \
--atomic
8.2 - Synchronous API
helm upgrade --install cdrplatform-sync-api cdrplatform-sync-api \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.3 - Layanan akses API
Layanan API Access bertindak sebagai gateway ke Glasswall Halo Synchronous API dan Policy Management API.
Ini mengekspos fungsionalitas CDR melalui HTTP. Jika lingkungan Anda memerlukan HTTPS dengan TLS atau SSL, ikuti petunjuk instalasi untuk mengaktifkan TLS atau SSL. Jika tidak, ikuti petunjuk untuk instalasi tanpa TLS atau SSL.
8.3A - Untuk deployment tanpa TLS/SSL
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--atomic
8.3B - Untuk deployment dengan TLS/SSL
Untuk menggunakan sertifikat SSL pada CDR API, buat private key dan sertifikat untuk domain yang akan digunakan.
Buat secret Kubernetes menggunakan file key dan CRT dengan perintah di bawah ini. Dengan perintah ini kita membuat secret dengan nama "tls-secret" dari file server.key (private key) dan server.crt (certificate). Dalam contoh ini, key tidak boleh dilindungi dengan passphrase.
kubectl create secret tls tls-secret --key server.key --cert server.crt
Secret ini kemudian dapat digunakan untuk mengaktifkan TLS pada ingress, memastikan bahwa nama domain ditetapkan pada perintah di bawah ini:
domain_name=""
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--atomic
8.3C - Aktifkan akses admin tanpa autentikasi
Saat login Single Sign-On (SSO) tidak diaktifkan di portal, fitur administratif, seperti manajemen lisensi dan konfigurasi policy, tidak dapat diakses. Untuk mengaktifkan akses ke fitur admin ini tanpa menyiapkan SSO, deploy Helm chart dengan konfigurasi berikut:
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AutoAdmin="true" \
--atomic
8.3D - Untuk mengaktifkan autentikasi API dasar
Authentication di Glasswall Halo dinonaktifkan secara default; saat diaktifkan, autentikasi akan diaktifkan untuk Glasswall Halo Synchronous API dan Policy Management API. Jika autentikasi perlu diaktifkan:
-
Buat dua secret di Google Secrets Manager: satu untuk organisation ID dan satu untuk organisation token.
- Saat menentukan beberapa token, pisahkan dengan koma.
- Pastikan token individual tidak mengandung koma.
-
Secret di Google Secrets Manager harus mengikuti konvensi penamaan di bawah ini.
-
Secret organisation ID
- Harus diawali dengan
organisation - Harus diakhiri dengan
-id - Sertakan indeks numerik di antara prefiks dan sufiks
- Contoh:
organisation0-id,organisation1-id,organisation2-id
- Harus diawali dengan
-
Rahasia token organisasi
- Harus diawali dengan
organisation - Harus diakhiri dengan
-tokens - Sertakan indeks numerik di antara prefiks dan sufiks
- Contoh:
organisation0-tokens,organisation1-tokens,organisation2-tokens
- Harus diawali dengan
-
-
Tetapkan
configuration.AuthenticationScheme=Basicsaat men-deploy Helm chart. Contohnya:
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.AuthenticationScheme=Basic \
--atomic
8.4 - Portal
Untuk men-deploy layanan Halo Portal, jalankan perintah di bawah ini.
8.4A - Untuk deployment tanpa TLS/SSL
Catatan: ip_address yang disebutkan dalam perintah ini mengacu pada alamat IP publik load balancer. Ini dapat diperoleh melalui langkah-langkah "Portal & API Access" di bawah ini.
ip_address=""
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.BackendUrl="${ip_address}" \
--set image.tag=2.18.1-183506 \
--set configuration.HaloVersion=2.18.1 \
--set configuration.OIDC=null
8.4B - Untuk deployment dengan TLS/SSL
Jika TLS diperlukan, tambahkan parameter --set ingress.tls.enable_tls=true dan setel portal_domain=<domain name>.
Dalam contoh di bawah ini, secret Kubernetes yang sama yang dibuat untuk layanan API Access digunakan untuk mengambil sertifikat TLS.
portal_domain=""
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.BackendUrl="https://${portal_domain}" \
--atomic
8.5 - Akses Portal
Layanan akses Portal berfungsi sebagai backend untuk Halo Portal. Layanan ini memungkinkan Halo Portal mengakses Policy Management API dan Synchronous API.
8.5A - Untuk deployment dengan TLS/SSL
Jika TLS diperlukan, tambahkan parameter --set ingress.tls.enable_tls=true dan --set ingress.tls.domain=<domain name>.
Dalam contoh di bawah ini, secret Kubernetes yang sama yang dibuat untuk layanan akses API digunakan untuk mengambil sertifikat TLS.
domain_name=""
helm upgrade --install cdrplatform-portal-access cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AuthenticationScheme=None \
--atomic
8.5B - Untuk deployment tanpa TLS/SSL dan autentikasi
helm upgrade --install cdrplatform-portal-access cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.AuthenticationScheme=None \
--set image.tag=2.18.1-183506 \
--atomic
8.6 - MongoDB
Operator MongoDB
helm install community-operator mongodb/community-operator --namespace cdrplatform \
--set operator.version=0.9.0 \
--set agent.version=107.0.0.8465-1
Instalasi MongoDB
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=gcp
- Ambil connection string dari secret Kubernetes
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- Perbarui secret Kubernetes dengan string koneksi MongoDB (hapus dan buat ulang)
kubectl create secret generic cdrplatform-secrets -n cdrplatform --from-literal=mongodb-cdrp-password=<Add-Value> --from-literal=mongodb-admin-password=<Add-Value> --from-literal=mongodb-connectionstring=<Add-Value>
8.7 - Policy Management API
Policy Management API digunakan untuk mengelola policy untuk flag manajemen konten Glasswall Halo. Ini adalah layanan opsional, instal ini jika Anda ingin membuat dan menggunakan policy kustom.
helm upgrade --install cdrplatform-policy-api cdrplatform-policy-api \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set cloud_provider=gcp
Halaman swagger Policy API dapat diakses menggunakan
http://<ip>/swagger/index.html
8.8 - API manajemen lisensi
Layanan License management digunakan untuk mengelola lisensi di Glasswall Halo.
helm upgrade --install cdrplatform-license-management cdrplatform-license-management -n license-management\
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
-n license-management
8.9 - Bersihkan layanan
Layanan Clean up menghapus file asli dan file hasil rebuild dari penyimpanan persisten setelah file diproses.
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp \
--set image.tag=2.18.1-183506
8.10 - API Asinkron
API Asinkron dapat di-deploy menggunakan perintah di bawah ini. Database MongoDB merupakan prasyarat untuk API Asinkron.
helm upgrade --install cdrplatform-async-api cdrplatform-async-api \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.11 - Proyeksi metrik
Layanan proyeksi Metrics digunakan untuk menarik data pelaporan dari MongoDB untuk ditampilkan di Portal UI.
helm upgrade --install cdrplatform-metrics-projection cdrplatform-metrics-projection \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.12 - Ekstraktor laporan
Layanan Report extractor mengekstrak laporan analisis dan memublikasikannya untuk pelaporan.
helm upgrade --install cdrplatform-report-extractor cdrplatform-report-extractor \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.13 - Akumulator tally
Layanan Tally accumulator melacak dan memelihara tally statistik penggunaan.
helm upgrade --install cdrplatform-tally-accumulator cdrplatform-tally-accumulator \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.14 - Layanan pemantauan penyimpanan
Layanan pemantauan penyimpanan menyediakan API untuk berlangganan dan melacak perubahan yang dibuat pada dokumen di layanan penyimpanan yang dikonfigurasi seperti SharePoint dan OneDrive.
TLS harus diaktifkan untuk Webhook.
- Tambahkan parameter
--set ingress.tls.enable_tls=truedan--set ingress.tls.domain=<domain name>.
Dalam contoh di bawah ini, secret Kubernetes yang sama yang dibuat untuk layanan API Access digunakan untuk mengambil sertifikat TLS.
domain_name=""
helm upgrade --install cdrplatform-storage-monitor cdrplatform-storage-monitor --wait --atomic \
--set image.tag="2.18.1-183506" \
--set image.repository="glasswallhub.azurecr.io/cdrplatform-storage-monitor" \
--set configuration.DATABASE__Provider="${database_provider}" \
--set configuration.WEBHOOKS__CallbackBaseAddress="https://${domain_name}" \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--atomic
8.15 - Penskalaan Prometheus opsional
Instal chart penskalaan Prometheus hanya jika Anda ingin mengaktifkan penskalaan berbasis Prometheus.
helm upgrade --install prometheus-scaling prometheus-scaling --wait --atomic \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=3.10.0 \
--set imagePullSecrets[0].name=acr-secret \
--set keda.icap.enabled=<true|false>
8.16 - Akses Portal & API
Gunakan perintah di bawah ini untuk menentukan external-IP yang terkait dengan cluster Anda:
Catatan: external-IP akan sama dengan alamat IP publik yang terpasang pada AWS load balancer.
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'
Anda sekarang dapat menggunakan IP yang dikembalikan di atas untuk membuka dokumentasi Portal dan API.
Catatan: gunakan HTTPs jika TLS diaktifkan.
Portal: http://<ip>
API documentation: http://<ip>/swagger/index.html
Selamat, Anda telah berhasil men-deploy Glasswall Halo!