Langkah 8 - Pasang komponen CDR
Akhir sekali, pasang perkhidmatan aplikasi CDR. Untuk carta ini, pastikan anda menetapkan tag imej kepada tag sepadan yang terdapat dalam nota keluaran terkini.
Contoh di bawah telah dipraisi dengan tag untuk v2.18.1:
8.1 Engine
Untuk menyepadukan Halo dengan ReversingLabs, tetapkan pemboleh ubah enable_reversing_labs kepada true. Pastikan rahsia ReversingLabs yang diperlukan dicipta dalam Key Vault seperti yang diterangkan dalam Langkah 3.
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}" \
--atomic
8.2 - Sync API
helm upgrade --install cdrplatform-sync-api cdrplatform-sync-api \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--atomic
8.3 perkhidmatan API Access
Perkhidmatan API Access bertindak sebagai gerbang kepada Glasswall Halo Synchronous API dan Policy Management API.
Ia mendedahkan fungsi CDR melalui HTTP. Jika persekitaran anda memerlukan komunikasi selamat, konfigurasikan perkhidmatan untuk menggunakan HTTPS dengan TLS atau SSL dengan mengikuti arahan pemasangan TLS atau SSL. Jika tidak, ikuti arahan untuk pemasangan 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 mendayakan SSL pada CDR API, cipta private key dan sijil untuk domain yang digunakan.
Cipta Kubernetes secret daripada fail private key dan sijil menggunakan arahan di bawah. Arahan ini mencipta secret bernama tls-secret menggunakan server.key sebagai private key dan server.crt sebagai sijil. Dalam contoh ini, private key tidak boleh dilindungi oleh frasa laluan.
kubectl create secret tls tls-secret --key server.key --cert server.crt
Secret ini kemudiannya boleh digunakan untuk mendayakan TLS pada ingress dengan memastikan nama domain ditetapkan dalam arahan di bawah:
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 - Untuk mendayakan pengesahan API asas
Pengesahan dalam Glasswall Halo dinyahdayakan secara lalai. Apabila didayakan, ia terpakai kepada kedua-dua Glasswall Halo Synchronous API dan Policy API.
Untuk mendayakan pengesahan:
- Cipta dua secret dalam Azure Key Vault. Satu secret menyimpan ID organisasi, dan satu lagi menyimpan token organisasi. Apabila menentukan berbilang token, asingkannya dengan koma. Pastikan token individu tidak mengandungi koma. Secret Azure Key Vault mesti mengikut konvensyen penamaan di bawah:
- Secret ID organisasi
- Mesti bermula dengan
organisation- Mesti berakhir dengan
-id- Sertakan indeks berangka antara awalan dan akhiran
- Contoh:
organisation0-id,organisation1-id,organisation2-id
- Rahsia token organisasi
- Mesti bermula dengan
organisation- Mesti berakhir dengan
-tokens- Sertakan indeks berangka antara awalan dan akhiran
- Contoh:
organisation0-tokens,organisation1-tokens,organisation2-tokens
- Tetapkan
configuration.AuthenticationScheme=Basicsemasa menggunakan carta Helm. 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.3D - Untuk mendayakan pengesahan API Azure AD
Untuk mendayakan pengesahan berasaskan Azure AD, tetapkan configuration.AuthenticationScheme=Bearer dan konfigurasikan pemboleh ubah tenant_id dan domain_name semasa menggunakan carta Helm.
Ambil perhatian bahawa URI pendaftaran aplikasi mungkin berbeza bergantung pada masa aplikasi dicipta. Sentiasa salin URI pendaftaran aplikasi daripada portal Azure dan gunakannya sebagai audience yang sah.
tenant_id=""
domain_name=""
valid_audiences="api://cdrplatform-api-access" or "api://${tenant_id}/cdrplatform-api-access" # (verify app registration URI from Azure)
helm upgrade --install cdrplatform-api-access cdrplatform-api-access --wait --atomic \
--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 \
--set configuration.AuthenticationScheme="Bearer" \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0=${valid_audiences} \
--set configuration.Authentication__Schemes__Bearer__ValidIssuer=https://sts.windows.net/${tenant_id}/ \
--set configuration.Authentication__Schemes__Bearer__Authority=https://login.microsoftonline.com/${tenant_id}/v2.0/
Pengguna Azure US Government
Gunakan arahan berikut apabila membuat deployment ke Azure US Government.
Tetapan ini memastikan endpoint dan nilai persekitaran yang betul digunakan.
tenant_id=""
domain_name=""
valid_audiences="api://cdrplatform-api-access" or "api://${tenant_id}/cdrplatform-api-access" # (verify app registration URI from Azure portal)
helm upgrade --install cdrplatform-api-access cdrplatform-api-access --wait --atomic \
--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 \
--set configuration.AuthenticationScheme="Bearer" \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0=${valid_audiences} \
--set configuration.Authentication__Schemes__Bearer__ValidIssuer=https://sts.windows.net/${tenant_id}/ \
--set configuration.Authentication__Schemes__Bearer__Authority=https://login.microsoftonline.us/${tenant_id}/v2.0/
8.4 Portal
Untuk menggunakan perkhidmatan Portal, jalankan arahan berikut:
8.4A - Untuk deployment tanpa TLS/SSL
Nota: <IP-address> yang disebut dalam arahan ini merujuk kepada alamat IP awam Load Balancer. Ini boleh diperoleh melalui langkah "Portal & API Access" di bawah.
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.BackendUrl="http://<IP-address>" \
--set image.tag=2.18.1-183506 \
--set configuration.HaloVersion=2.18.1 \
--atomic
8.4B - Untuk deployment dengan TLS/SSL
Jika TLS diperlukan, tambah parameter --set ingress.tls.enable_tls=true dan tetapkan portal_domain=<domain name>.
Dalam contoh di bawah, secret Kubernetes yang sama yang dicipta untuk perkhidmatan API Access digunakan untuk mendapatkan sijil 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}" \
--set configuration.HaloVersion=2.18.1 \
--atomic
8.4C - Dayakan akses pentadbir tanpa pengesahan
Apabila log masuk Single Sign-On (SSO) tidak didayakan dalam Portal, ciri pentadbiran seperti pengurusan lesen dan konfigurasi policy tidak boleh diakses. Untuk mendayakan akses kepada ciri pentadbir ini tanpa menyediakan SSO, deploy carta Helm 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.4D Untuk mengkonfigurasi log masuk SSO dalam Portal Glasswall Halo
Tetapkan pemboleh ubah portal_domain, portal_client_id, dan tenant_id dalam arahan di bawah, kemudian jalankannya.
portal_domain ialah nama domain yang digunakan untuk mengkonfigurasi TLS bagi perkhidmatan Portal dan mesti sepadan dengan domain yang digunakan dalam pendaftaran aplikasi cdrplatform-portal-client.
portal_client_id ialah ID aplikasi (klien) bagi pendaftaran aplikasi cdrplatform-portal-client yang dicipta dalam langkah prasyarat.
tenant_id ialah tenant tempat pendaftaran APP dicipta.
enabled_pages hendaklah mengandungi pelbagai halaman yang perlu didayakan. Berikan nilai yang dipisahkan dengan koma(,).
Sebagai contoh, ia hendaklah ditetapkan kepada SystemSettings\,PolicySettings\,ValidationSettings\,IcapSettings\,IcapRequests\,IcapReporting apabila Policy API, pelayan ICAP dan ReversingLabs digunakan, atau tetapkan kepada SystemSettings\,PolicySettings\,ValidationSettings jika hanya Policy API digunakan.
Jika tiada Policy API dan pelayan ICAP yang digunakan, tetapkan kepada enabled_pages="SystemSettings".
portal_domain=""
portal_client_id=""
tenant_id=""
enabled_pages="SystemSettings\,PolicySettings\,ValidationSettings"
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.BackendUrl="https://${portal_domain}" \
--set configuration.EnabledPages=${enabled_pages} \
--set configuration.OIDC.ProviderOptions.Authority="https://login.microsoftonline.com/${tenant_id}/v2.0" \
--set configuration.OIDC.ProviderOptions.RedirectUri="https://${portal_domain}/authentication/login-callback" \
--set configuration.OIDC.ProviderOptions.ClientId="${portal_client_id}" \
--set configuration.OIDC.ProviderOptions.PostLogoutRedirectUri="https://${portal_domain}/authentication/logout-callback" \
--set configuration.HaloVersion=2.18.1 \
--atomic
Pengguna Azure US Government
Gunakan arahan berikut apabila membuat deployment ke Azure US Government.
Tetapan ini memastikan endpoint dan nilai persekitaran yang betul digunakan.
portal_domain=""
portal_client_id=""
tenant_id=""
enabled_pages="SystemSettings\,PolicySettings\,ValidationSettings"
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.BackendUrl="https://${portal_domain}" \
--set configuration.EnabledPages=${enabled_pages} \
--set configuration.OIDC.ProviderOptions.Authority="https://login.microsoftonline.us/${tenant_id}/v2.0" \
--set configuration.OIDC.ProviderOptions.RedirectUri="https://${portal_domain}/authentication/login-callback" \
--set configuration.OIDC.ProviderOptions.ClientId="${portal_client_id}" \
--set configuration.OIDC.ProviderOptions.PostLogoutRedirectUri="https://${portal_domain}/authentication/logout-callback" \
--set configuration.HaloVersion=2.18.1 \
--set appenvironment.HTTP_CSP_CONNECT_SRC="'self'https://login.microsoftonline.us https://graph.microsoft.us" \
--set appenvironment.HTTP_CSP_FRAME_SRC="'self' https://login.microsoftonline.us" \
--set appenvironment.HTTP_CSP_FRAME_ANCESTORS="'self' https://login.microsoftonline.us" \
--atomic
8.5 Akses portal
Portal Access bertindak sebagai backend untuk Portal. Ia membolehkan 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, secret Kubernetes yang sama yang dicipta untuk perkhidmatan API Access digunakan untuk mendapatkan sijil TLS.
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
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.5C Tanpa pengesahan
helm upgrade --install cdrplatform-portal-access cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.AuthenticationScheme=None \
--atomic
8.5D Untuk mendayakan pengesahan Azure AD
Portal Access mendayakan pengesahan SSO menggunakan Azure AD.
Tetapkan pemboleh ubah tenant_id dan portal_domain dalam arahan di bawah, kemudian jalankannya.
Ambil perhatian bahawa URI pendaftaran APP mungkin berbeza bergantung pada bila ia dicipta. Sentiasa salin URI pendaftaran aplikasi daripada portal Azure dan gunakannya sebagai audience yang sah.
tenant_id=""
portal_domain=""
valid_audiences="api://cdrplatform-portal-access" or "api://${tenant_id}/cdrplatform-portal-access" # (verify app registration URI from Azure)
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=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AuthenticationScheme=Bearer \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0=${valid_audiences} \
--set configuration.Authentication__Schemes__Bearer__ValidIssuer=https://sts.windows.net/${tenant_id}/ \
--set configuration.Authentication__Schemes__Bearer__Authority=https://login.microsoftonline.com/${tenant_id}/v2.0/ \
--atomic
Pengguna Azure US Government
Gunakan arahan berikut apabila membuat deployment ke Azure US Government.
Tetapan ini memastikan endpoint dan nilai persekitaran yang betul digunakan.
tenant_id=""
portal_domain=""
valid_audiences="api://cdrplatform-portal-access" or "api://${tenant_id}/cdrplatform-portal-access" # (verify app registration URI from Azure)
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=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AuthenticationScheme=Bearer \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0=${valid_audiences} \
--set configuration.Authentication__Schemes__Bearer__ValidIssuer=https://sts.windows.net/${tenant_id}/ \
--set configuration.Authentication__Schemes__Bearer__Authority=https://login.microsoftonline.us/${tenant_id}/v2.0/ \
--atomic
8.6 API Pengurusan Policy
API Pengurusan Policy digunakan untuk mengurus flag pengurusan kandungan Glasswall Halo. Perkhidmatan ini adalah pilihan dan hanya perlu dipasang jika anda bercadang untuk mencipta dan menggunakan policy tersuai.
helm upgrade --install cdrplatform-policy-api cdrplatform-policy-api \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.DATABASE__Provider=${database_provider}
- Halaman swagger API Pengurusan Policy boleh diakses menggunakan:
http://<ip>/swagger/index.html
8.7 Pengurusan Lesen
Perkhidmatan Pengurusan Lesen digunakan untuk mengurus lesen dalam Portal 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 \
--set configuration.DATABASE__Provider=${database_provider} \
-n license-management \
--atomic
8.8 Perkhidmatan pembersihan
Perkhidmatan pembersihan memadam fail asal dan fail yang dibina semula daripada storan berterusan selepas pemprosesan selesai.
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--atomic
8.9 API Tak Segerak
API Tak Segerak boleh digunakan menggunakan arahan di bawah. Pangkalan data MongoDB diperlukan untuk API Tak Segerak.
helm upgrade --install cdrplatform-async-api cdrplatform-async-api \
--set image.tag=2.18.1-183506\
--set image.registry=glasswallhub.azurecr.io \
--set configuration.DATABASE__Provider=${database_provider} \
--atomic
8.10 Unjuran metrik
Perkhidmatan Metrics projection digunakan untuk menarik data pelaporan daripada MongoDB untuk dipaparkan dalam UI Halo Portal.
helm upgrade --install cdrplatform-metrics-projection cdrplatform-metrics-projection \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.DATABASE__Provider=${database_provider} \
--set cloud_provider=azure \
--atomic
## 8.11 Pengekstrak laporan
Perkhidmatan Report extractor mengekstrak laporan analisis dan menerbitkannya untuk pelaporan.
helm upgrade --install cdrplatform-report-extractor cdrplatform-report-extractor \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--atomic
## 8.12 Pengumpul tally
Perkhidmatan Tally accumulator menjejak dan mengekalkan 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 configuration.DATABASE__Provider=${database_provider} \
--atomic
8.13 MongoDB
Nota: jika MongoDB sudah dikonfigurasikan dalam Azure dan anda tidak mahu memasang atau mengurus MongoDB dalam kluster anda, anda boleh melangkau langkah ini dan teruskan.
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 \
--atomic
Pasang MongoDB
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=azure
- Dapatkan rentetan sambungan daripada secret Kubernetes
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- Kemas kini rahsia Azure Key Vault dengan rentetan sambungan MongoDB
az keyvault secret set --name "mongodb-connectionstring" --vault-name "${kvname}" --value "<output-from-previous-step>"
8.14 Perkhidmatan Pemantauan Storan
Perkhidmatan Storage Monitoring menyediakan API untuk melanggan dan menjejak perubahan yang dibuat pada dokumen dalam mekanisme storan yang dikonfigurasikan seperti SharePoint dan OneDrive.
TLS mesti didayakan untuk Webhook.
Tambahkan parameter --set ingress.tls.enable_tls=true dan --set ingress.tls.domain=<domain name>.
Dalam contoh di bawah, secret Kubernetes yang sama yang dicipta untuk perkhidmatan API Access digunakan untuk mendapatkan sijil TLS.
helm upgrade --install cdrplatform-storage-monitor cdrplatform-storage-monitor --wait --atomic \
--set image.tag="2.18.1-183506" \
--set image.registry=glasswallhub.azurecr.io \
--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 pilihan
Pasang carta penskalaan Prometheus hanya jika anda mahu mendayakan penskalaan berasaskan 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 arahan berikut untuk menentukan alamat IP luaran yang dikaitkan dengan kluster anda.
IP luaran sepadan dengan alamat IP awam yang diperuntukkan kepada pengimbang beban Azure.
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'
Anda kini boleh menggunakan IP yang dikembalikan di atas untuk pergi ke dokumentasi Portal Halo dan API (gunakan https jika TLS didayakan):
Portal: http://<ip>
API Documentation: http://<ip>/swagger/index.html