Lewati ke konten utama

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
    • 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
  • Tetapkan configuration.AuthenticationScheme=Basic saat 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=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.

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!