Langkah 7 - Instal komponen CDR
Terakhir, instal layanan Glasswall Halo. Untuk setiap chart Helm, pastikan image tag diatur ke versi terkait yang tercantum dalam catatan rilis.
Contoh di bawah ini telah diisi sebelumnya dengan nilai untuk v2.16.0.
7.1 - Engine
Untuk mengintegrasikan Halo dengan ReversingLabs, atur variabel enable_reversing_labs ke true. Pastikan secret ReversingLabs telah dibuat di Vault, seperti dijelaskan pada Langkah 3.
enable_reversing_labs=""
helm upgrade --install cdrplatform-engine cdrplatform-engine -n cdrplatform \
--set image.tag=165275 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--set configuration.ENABLE_REVERSING_LABS="${enable_reversing_labs}" \
--atomic
7.2 - API Sinkron
helm upgrade --install cdrplatform-sync-api cdrplatform-sync-api -n cdrplatform \
--set image.tag=166415 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle
7.3 - Layanan API Access
Layanan API Access bertindak sebagai gateway ke Glasswall Halo Synchronous API dan Policy Management API.
Layanan ini mengekspos fungsionalitas CDR melalui HTTP. Jika lingkungan Anda memerlukan HTTPS dengan TLS atau SSL, ikuti petunjuk untuk menginstal layanan dengan TLS atau SSL diaktifkan. Jika tidak, ikuti petunjuk untuk instalasi tanpa TLS atau SSL.
7.3A - Untuk deployment tanpa TLS/SSl
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--atomic --set image.tag=165925
7.3B - 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:
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=165925 \
--set cloud_provider=oracle \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=<domain name> \
--set ingress.tls.secretName=tls-secret \
--atomic
7.3C - Aktifkan autentikasi API
Autentikasi untuk Glasswall Halo API dinonaktifkan secara default. Untuk mengaktifkan autentikasi, selesaikan langkah-langkah di bawah ini.
-
Tambahkan dua entri baru ke secret Vault
vault_secret_name.- Satu entri untuk ID organisasi
- Satu entri untuk token organisasi
Saat menentukan beberapa token, pisahkan dengan koma. Pastikan setiap token tidak mengandung koma.
-
Entri secret Vault harus mengikuti konvensi penamaan di bawah ini.
-
ID Organisasi
- Harus diawali dengan
organisation - Harus diakhiri dengan
-id - Sertakan indeks numerik di antara prefiks dan sufiks
- Contoh:
organisation1-id,organisation2-id,organisation3-id
- Harus diawali dengan
-
Token organisasi
- Harus diawali dengan
organisation - Harus diakhiri dengan
-tokens - Sertakan indeks numerik di antara prefiks dan sufiks
- Contoh:
organisation1-tokens,organisation2-tokens,organisation3-tokens
- Harus diawali dengan
-
{
"organisation1-id": "org-1",
"organisation1-tokens": "org-1-token-1,org-1-token-2"
}
- Atur
configuration.AuthenticationScheme=Basicsaat men-deploy helm chart. Sebagai contoh,
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=165925 \
--set configuration.AuthenticationScheme=Basic \
--set cloud_provider=oracle \
--atomic
7.4 - Portal
7.4A - Deployment tanpa TLS atau SSL
Untuk men-deploy layanan Portal, jalankan perintah di bawah ini.
Catatan: <IP-address> yang dirujuk dalam perintah ini adalah alamat IP publik dari load balancer. Ini dapat diperoleh dengan mengikuti langkah-langkah Portal and API Access di bawah ini.
helm upgrade --install cdrplatform-portal cdrplatform-portal -n cdrplatform \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.OIDC=null \
--set image.tag=166435 \
--set configuration.BackendUrl=http://<IP-address> \
--set configuration.HaloVersion=2.16.0 \
--atomic
7.4B - Deployment dengan TLS atau SSL
Untuk mengaktifkan TLS, 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 API Access digunakan untuk mengambil sertifikat TLS.
helm upgrade --install cdrplatform-portal cdrplatform-portal -n cdrplatform \
--set image.tag=166435 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=<domain name> \
--set ingress.tls.secretName=tls-secret \
--set configuration.BackendUrl=https://<domain name> \
--set configuration.OIDC=null \
--set configuration.HaloVersion=2.16.0 \
--atomic
7.4C - Aktifkan akses admin tanpa autentikasi
Saat login Single Sign On tidak diaktifkan untuk Portal, fitur administratif seperti manajemen lisensi dan konfigurasi policy tidak dapat diakses.
Untuk mengaktifkan akses ke fitur administratif ini tanpa mengonfigurasi SSO, deploy Helm chart dengan konfigurasi berikut.
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=166435 \
--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
7.5 - MongoDB
MongoDB adalah prasyarat untuk Policy Management API dan Asynchronous API.
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=oracle
Setelah MongoDB di-deploy, dapatkan connection string MongoDB dan tambahkan ke secret key-value.
- Ambil connection string dari secret Kubernetes:
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- Perbarui secret Oracle Vault dengan menambahkan pasangan key-value:
{
"mongodb-connectionstring": "<output-from-previous-step>"
}
- Setelah memperbarui Oracle Vault, jalankan perintah berikut untuk menyinkronkan secret ke Kubernetes.
kubectl annotate externalsecret external-secret updated_at=$(date +%s) --overwrite -n cdrplatform
- Jelaskan secret Kubernetes
cdrplatform-secretsdan verifikasi bahwamongodb-connectionstringada dan tersinkronisasi. Kemudian lanjutkan dengan men-deploy Helm chart berikutnya.
kubectl describe secret cdrplatform-secrets
7.6 - Policy Management API
API Manajemen Policy digunakan untuk mengelola flag manajemen konten Glasswall Halo. Layanan ini bersifat opsional dan sebaiknya diinstal hanya jika Anda berencana membuat dan menggunakan policy kustom.
helm upgrade --install cdrplatform-policy-api -n cdrplatform cdrplatform-policy-api \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=165921 \
--set cloud_provider=oracle
7.7 - Akses Portal
Layanan Portal Access bertindak sebagai backend untuk Portal. Layanan ini memungkinkan Portal mengakses Policy Management API dan Synchronous API.
7.7A - Deployment dengan TLS atau 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 API Access digunakan untuk mengambil sertifikat TLS.
helm upgrade --install cdrplatform-portal-access -n cdrplatform cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=166410 \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=<domain-name> \
--set ingress.tls.secretName=tls-secret \
--set configuration.AuthenticationScheme=None \
--atomic
7.7B - Untuk deployment tanpa TLS/SSL
helm upgrade --install cdrplatform-portal-access -n cdrplatform cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.AuthenticationScheme=None \
--set image.tag=166410 \
--atomic
7.8 - Manajemen lisensi
Layanan License management digunakan untuk mengelola lisensi di Glasswall Halo.
helm upgrade --install cdrplatform-license-management cdrplatform-license-management \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=157724 \
-n license-management \
--atomic
7.9 - Layanan pembersihan
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=oracle \
--set image.tag=165228 \
--atomic
7.10 API Asinkron
API Asinkron dapat di-deploy menggunakan perintah di bawah ini. Database MongoDB diperlukan untuk API Asinkron.
helm upgrade --install cdrplatform-async-api cdrplatform-async-api \
--set image.tag=166413 \
--set image.registry=glasswallhub.azurecr.io \
--atomic
7.11 - Kolasi metrik (dihapus dari versi 2.6.2)
Layanan kolasi metrik menangkap event dari CDRPlatform dan menyimpannya di MongoDB. Deploy hanya saat menggunakan Halo versi 2.6.1 dan yang lebih rendah.
helm upgrade --install cdrplatform-metrics-collation cdrplatform-metrics-collation \
--set image.tag=120018 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--atomic
7.12 - 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=166407 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--atomic
7.13 - Ekstraktor laporan
Layanan Report extractor mengekstrak laporan analisis dan memublikasikannya untuk pelaporan.
helm upgrade --install cdrplatform-report-extractor cdrplatform-report-extractor \
--set image.tag=166411 \
--set image.registry=glasswallhub.azurecr.io \
--wait --atomic
7.11 - Akumulator tally
Layanan Tally accumulator melacak dan memelihara tally statistik penggunaan.
helm upgrade --install cdrplatform-tally-accumulator cdrplatform-tally-accumulator \
--set image.tag=165227 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--wait --atomic
7.12 - Layanan pemantauan penyimpanan
Layanan Storage Monitoring menyediakan API untuk berlangganan dan melacak perubahan yang dibuat pada dokumen di layanan penyimpanan yang dikonfigurasi seperti SharePoint.
TLS harus diaktifkan untuk webhook.
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 API Access digunakan untuk mengambil sertifikat TLS.
helm upgrade --install cdrplatform-storage-monitor cdrplatform-storage-monitor --wait --atomic \
--set image.tag="165098" \
--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
7.13 - Akses Portal dan API
Gunakan perintah di bawah ini untuk menentukan alamat IP eksternal yang terkait dengan cluster Anda.
Catatan: IP eksternal sama dengan alamat IP publik yang ditetapkan ke load balancer Oracle Cloud.
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 (gunakan https jika TLS diaktifkan):
Portal: http://<ip>
API Documentation: http://<ip>/swagger