Hakbang 8 - I-install ang mga component ng CDR
Panghuli, i-install ang mga serbisyo ng application ng CDR. Para sa mga chart na ito, tiyaking itatakda mo ang image tag sa katumbas na tag na makikita sa pinakabagong release notes.
Ang mga halimbawa sa ibaba ay paunang nilagyan ng mga tag para sa v2.18.1:
8.1 Engine
Para i-integrate ang Halo sa ReversingLabs, itakda ang variable na enable_reversing_labs sa true. Tiyaking nalikha ang mga kinakailangang ReversingLabs secret sa Key Vault gaya ng inilalarawan sa Hakbang 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 serbisyo ng API Access
Ang serbisyo ng API Access ay nagsisilbing gateway sa Glasswall Halo Synchronous API at sa Policy Management API.
Inilalantad nito ang functionality ng CDR sa pamamagitan ng HTTP. Kung nangangailangan ang iyong environment ng secure na komunikasyon, i-configure ang serbisyo na gumamit ng HTTPS na may TLS o SSL sa pamamagitan ng pagsunod sa mga tagubilin sa pag-install ng TLS o SSL. Kung hindi, sundin ang mga tagubilin para sa pag-install nang walang TLS o SSL.
8.3A - Para sa mga deployment na walang 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 - Para sa mga deployment na may TLS/SSL
Upang paganahin ang SSL sa CDR API, gumawa ng private key at certificate para sa domain na ginagamit.
Gumawa ng Kubernetes secret mula sa mga file ng private key at certificate gamit ang command sa ibaba. Lumilikha ang command na ito ng secret na pinangalanang tls-secret gamit ang server.key bilang private key at server.crt bilang certificate. Sa halimbawang ito, hindi dapat protektado ng passphrase ang private key.
kubectl create secret tls tls-secret --key server.key --cert server.crt
Pagkatapos ay maaaring gamitin ang secret na ito upang paganahin ang TLS sa ingress, na tinitiyak na nakatakda ang domain name sa command sa ibaba:
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 - Upang paganahin ang basic API authentication
Ang authentication sa Glasswall Halo ay naka-disable bilang default. Kapag pinagana, nalalapat ito sa parehong Glasswall Halo Synchronous API at sa Policy API.
Upang paganahin ang authentication:
- Gumawa ng dalawang secret sa Azure Key Vault. Ang isang secret ay nag-iimbak ng organisation ID, at ang isa pa ay nag-iimbak ng mga organisation token. Kapag tumutukoy ng maraming token, paghiwalayin ang mga ito gamit ang mga kuwit. Tiyaking walang kuwit ang bawat indibidwal na token. Dapat sundin ng mga secret sa Azure Key Vault ang mga kombensiyon sa pagpapangalan sa ibaba:
- Secret ng Organisation ID
- Dapat magsimula sa
organisation- Dapat magtapos sa
-id- Isama ang isang numeric index sa pagitan ng prefix at suffix
- Mga halimbawa:
organisation0-id,organisation1-id,organisation2-id
- Secret ng mga token ng organisasyon
- Dapat magsimula sa
organisation- Dapat magtapos sa
-tokens- Isama ang isang numeric index sa pagitan ng prefix at suffix
- Mga halimbawa:
organisation0-tokens,organisation1-tokens,organisation2-tokens
- Itakda ang
configuration.AuthenticationScheme=Basichabang dine-deploy ang Helm chart. Halimbawa:
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 - Para paganahin ang Azure AD API authentication
Para paganahin ang authentication na nakabatay sa Azure AD, itakda ang configuration.AuthenticationScheme=Bearer at i-configure ang mga variable na tenant_id at domain_name habang dine-deploy ang Helm chart.
Tandaan na maaaring mag-iba ang app registration URI depende kung kailan ginawa ang app. Palaging kopyahin ang app registration URI mula sa Azure portal at gamitin ito bilang valid audience.
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/
Mga User ng Azure US Government
Gamitin ang sumusunod na command kapag nagde-deploy sa Azure US Government.
Tinitiyak ng mga setting na ito na ang tamang endpoints at environment values ang ginagamit.
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
Upang i-deploy ang serbisyo ng Portal, patakbuhin ang mga sumusunod na command:
8.4A - Para sa mga deployment na walang TLS/SSL
Tandaan: ang <IP-address> na binanggit sa command na ito ay tumutukoy sa pampublikong IP address ng Load Balancer. Makukuha ito sa pamamagitan ng mga hakbang na "Portal & API Access" sa ibaba.
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 - Para sa mga deployment na may TLS/SSL
Kung kinakailangan ang TLS, idagdag ang parameter na --set ingress.tls.enable_tls=true at itakda ang portal_domain=<domain name>.
Sa halimbawa sa ibaba, ang parehong Kubernetes secret na ginawa para sa serbisyo ng API Access ay ginagamit upang kunin ang mga TLS certificate.
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 - I-enable ang admin access nang walang authentication
Kapag ang Single Sign-On (SSO) login ay hindi naka-enable sa Portal, hindi maa-access ang mga administrative feature, gaya ng license management at policy configuration. Upang paganahin ang access sa mga admin feature na ito nang hindi nagseset up ng SSO, i-deploy ang Helm chart gamit ang sumusunod na configuration:
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 Para i-configure ang SSO login sa Portal ng Glasswall Halo
Itakda ang mga variable na portal_domain, portal_client_id, at tenant_id sa mga command sa ibaba, pagkatapos ay patakbuhin ang mga ito.
Ang portal_domain ay ang domain name na ginagamit upang i-configure ang TLS para sa serbisyo ng Portal at dapat tumugma sa domain na ginamit sa app registration na cdrplatform-portal-client.
Ang portal_client_id ay ang application (client) ID ng app registration na cdrplatform-portal-client na ginawa sa prerequisites step.
Ang tenant_id ay para sa tenant kung saan ginawa ang mga APP registration.
Ang enabled_pages ay dapat maglaman ng iba't ibang page na kailangang i-enable. Ipasa ang mga value na pinaghihiwalay ng kuwit (,).
Halimbawa, dapat itong itakda sa SystemSettings\,PolicySettings\,ValidationSettings\,IcapSettings\,IcapRequests\,IcapReporting kapag naka-deploy ang Policy API, ICAP server, at ReversingLabs, o itakda ito sa SystemSettings\,PolicySettings\,ValidationSettings kung Policy API lamang ang naka-deploy.
Kung walang naka-deploy na Policy API at ICAP server, itakda ito sa 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
Mga User ng Azure US Government
Gamitin ang sumusunod na command kapag nagde-deploy sa Azure US Government.
Tinitiyak ng mga setting na ito na ang tamang endpoints at environment values ang ginagamit.
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 Access sa Portal
Ang Portal Access ang nagsisilbing backend para sa Portal. Binibigyang-daan nito ang Halo Portal na ma-access ang Policy Management API at ang Synchronous API.
8.5A Para sa mga deployment na may TLS/SSL
Kung kinakailangan ang TLS, idagdag ang mga parameter na --set ingress.tls.enable_tls=true at --set ingress.tls.domain=<domain name>.
Sa halimbawa sa ibaba, ang parehong Kubernetes secret na ginawa para sa serbisyo ng API Access ay ginagamit upang kunin ang mga TLS certificate.
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 Para sa mga deployment na walang 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 Walang authentication
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 Para paganahin ang Azure AD authentication
Pinapagana ng Portal Access ang SSO authentication gamit ang Azure AD.
Itakda ang mga variable na tenant_id at portal_domain sa mga command sa ibaba, pagkatapos ay patakbuhin ang mga ito.
Tandaan na maaaring mag-iba ang APP registration URI depende sa kung kailan ito ginawa. Palaging kopyahin ang app registration URI mula sa Azure portal at gamitin ito bilang valid audience.
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
Mga User ng Azure US Government
Gamitin ang sumusunod na command kapag nagde-deploy sa Azure US Government.
Tinitiyak ng mga setting na ito na ang tamang endpoints at environment values ang ginagamit.
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 Policy Management API
Ginagamit ang Policy Management API upang pamahalaan ang mga flag ng content management ng Glasswall Halo. Opsyonal ang serbisyong ito at dapat lamang i-install kung plano mong gumawa at gumamit ng mga custom na policy.
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}
- Maaaring i-access ang swagger page ng Policy Management API gamit ang:
http://<ip>/swagger/index.html
8.7 License Management
Ginagamit ang License Management service upang pamahalaan ang mga lisensya sa Glasswall Halo Portal.
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 Clean up service
Tinatanggal ng Clean up service ang mga orihinal at rebuilt na file mula sa persistent storage pagkatapos makumpleto ang pagproseso.
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--atomic
8.9 Asynchronous API
Maaaring i-deploy ang Asynchronous API gamit ang command sa ibaba. Kinakailangan ang isang MongoDB database para sa Asynchronous API.
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 Projection ng metrics
Ginagamit ang serbisyo ng Metrics projection upang kunin ang reporting data mula sa MongoDB para maipakita sa Halo 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 configuration.DATABASE__Provider=${database_provider} \
--set cloud_provider=azure \
--atomic
## 8.11 Extractor ng ulat
Kinukuha ng serbisyo ng Report extractor ang mga ulat ng pagsusuri at inilalathala ang mga ito para sa reporting.
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 Tally accumulator
Sinusubaybayan at pinananatili ng serbisyo ng Tally accumulator ang tally ng mga istatistika ng paggamit.
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
Tandaan: kung naka-configure na ang MongoDB sa Azure at ayaw mong i-install o pamahalaan ang MongoDB sa loob ng iyong cluster, maaari mong laktawan ang hakbang na ito at magpatuloy.
MongoDB operator
helm install community-operator mongodb/community-operator --namespace cdrplatform \
--set operator.version=0.9.0 \
--set agent.version=107.0.0.8465-1 \
--atomic
I-install ang MongoDB
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=azure
- Kunin ang connection string mula sa Kubernetes secret
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- I-update ang Azure Key Vault secret gamit ang MongoDB connection string
az keyvault secret set --name "mongodb-connectionstring" --vault-name "${kvname}" --value "<output-from-previous-step>"
8.14 Serbisyo sa Pagsubaybay ng Storage
Ang serbisyo ng Storage Monitoring ay nagbibigay ng API upang mag-subscribe at subaybayan ang mga pagbabagong ginawa sa mga dokumento sa mga naka-configure na mekanismo ng storage gaya ng SharePoint at OneDrive.
Dapat naka-enable ang TLS para sa Webhook.
Idagdag ang mga parameter na --set ingress.tls.enable_tls=true at --set ingress.tls.domain=<domain name>.
Sa halimbawa sa ibaba, ang parehong Kubernetes secret na ginawa para sa serbisyo ng API Access ay ginagamit upang kunin ang mga TLS certificate.
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 Opsyonal na pag-scale ng Prometheus
I-install lamang ang Prometheus scaling chart kung gusto mong i-enable ang Prometheus-based scaling.
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 Access sa Portal & API
Gamitin ang sumusunod na command upang matukoy ang external IP address na nauugnay sa iyong cluster.
Ang external IP ay tumutugma sa public IP address na itinalaga sa Azure load balancer.
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'
Maaari mo na ngayong gamitin ang IP na ibinalik sa itaas upang pumunta sa Halo Portal at dokumentasyon ng API (gamitin ang https kung naka-enable ang TLS):
Portal: http://<ip>
API Documentation: http://<ip>/swagger/index.html