Hakbang 7 - I-install ang mga component ng CDR
Panghuli, i-install ang mga serbisyo ng application ng Glasswall Halo. Para sa bawat Helm chart, tiyaking ang image tag ay nakatakda sa katumbas na bersyon na nakalista sa release notes.
Ang mga halimbawa sa ibaba ay paunang napunan ng mga tag para sa v2.18.1.
7.1 - Engine
Upang maisama ang Halo sa ReversingLabs, itakda ang variable na enable_reversing_labs sa true. Tiyaking nagawa na ang mga secret ng ReversingLabs sa AWS Secrets Manager, 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}" \
--set cloud_provider=aws \
--timeout 10m \
--atomic
7.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=aws
7.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 HTTPS na may TLS o SSL, sundin ang mga tagubilin upang i-install ang serbisyo na naka-enable ang TLS o SSL. Kung hindi, sundin ang mga tagubilin para sa pag-install nang walang TLS o SSL.
7.3A - para sa mga deployment na walang tls/ssl
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--atomic
7.3B - Mga deployment na may TLS o SSL
Upang gumamit ng mga SSL certificate sa CDR API, gumawa ng private key at certificate para sa kinakailangang domain.
Gumawa ng Kubernetes secret mula sa mga file ng private key at certificate gamit ang command sa ibaba. Gumagawa 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
Magagamit ang secret na ito upang i-enable ang TLS sa ingress, na tinitiyak na nakatakda ang domain name sa command sa ibaba:
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set cloud_provider=aws \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--atomic
7.3C - I-enable ang API authentication
Naka-disable bilang default ang authentication para sa Glasswall Halo API. Upang i-enable ang authentication, kumpletuhin ang mga hakbang sa ibaba.
-
Gumawa ng dalawang secret sa AWS Secrets Manager.
- Isang secret para sa organisation ID
- Isang secret para sa mga organisation token
Kapag nagsasaad ng maraming token, paghiwalayin ang mga ito gamit ang mga kuwit. Tiyaking walang kuwit ang bawat indibidwal na token.
-
Ang mga secret sa AWS Secrets Manager ay dapat sumunod sa mga naming convention 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
- Dapat magsimula sa
-
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
- Dapat magsimula sa
-
-
Itakda ang
configuration.AuthenticationScheme=Basichabang dine-deploy ang Helm chart. Halimbawa:
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.AuthenticationScheme=Basic \
--atomic
7.4 - MongoDB
Tandaan: kung dati mo nang na-configure at na-setup ang MongoDB sa loob ng AWS at kung ayaw mong pamahalaan at i-install ang MongoDB sa loob ng iyong cluster, maaari mong laktawan ang hakbang na ito at magpatuloy sa pag-install ng Portal Services sa ibaba.
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=aws
Pagkatapos ma-deploy ang MongoDB, kunin ang MongoDB connection string at i-store ito sa AWS Secrets Manager.
- Kunin ang connection string mula sa k8s secret
mongodb_conn_str=$(kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d)
- Gumawa ng bagong secret sa AWS Secrets Manager gamit ang MongoDB connection string.
aws secretsmanager create-secret --name "mongodb-connectionstring" --secret-string "${mongodb_conn_str}" --region "${region}"
7.5 - Portal
Para i-deploy ang serbisyo ng Portal, patakbuhin ang mga command sa ibaba.
7.5A - Mga deployment na walang TLS o SSL
Tandaan: Ang <ip-address> na tinutukoy sa mga command na ito ay ang pampublikong IP address ng load balancer. Maaari itong makuha sa pamamagitan ng pagsunod sa mga hakbang sa Portal and API Access sa ibaba.
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.OIDC=null \
--set image.tag=2.18.1-183506 \
--set configuration.BackendUrl=http://<ip-address> \
--set configuration.HaloVersion=2.18.1 \
--atomic
7.5B - Mga deployment na may TLS o 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 cdrplatform-portal \
--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.BackendUrl=https://${domain_name} \
--set configuration.OIDC=null \
--set configuration.HaloVersion=2.18.1 \
--atomic
7.5C - Paganahin ang admin access nang walang authentication
Kapag hindi pinagana ang Single Sign On login para sa Portal, hindi maa-access ang mga administratibong feature gaya ng pamamahala ng lisensya at configuration ng policy.
Para paganahin ang access sa mga administratibong feature na ito nang hindi kino-configure ang 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
7.5D - I-configure ang Halo Portal para i-authenticate ang mga API
Kung pinagana ang API authentication, palitan ang ${organisation1_id} at ${organisation1_tokens} ng naaangkop na mga secret name na ginawa sa AWS Secrets Manager.
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=2.18.1-183506 --set image.registry=glasswallhub.azurecr.io \
--set configuration.EnableAuth=true \
--set AuthSecrets.orgIdKey=${organisation1-id} \
--set AuthSecrets.orgTokenKey=${organisation1-tokens} \
--atomic
7.6 - API sa Pamamahala ng Policy
Ang Policy Management API ay ginagamit upang pamahalaan ang mga policy para sa mga flag ng pamamahala ng nilalaman ng Glasswall Halo. Isa itong opsyonal na serbisyo; i-install ito kung nais 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 cloud_provider=aws \
--atomic
Maaaring ma-access ang swagger page ng Policy API gamit ang
http://<ip>/swagger/index.html
7.7 - Access sa Portal
Ang serbisyo ng Portal Access ay nagsisilbing backend para sa Portal. Binibigyang-daan nito ang Portal na ma-access ang Policy Management API at Synchronous API.
7.7A - Mga deployment na may TLS o 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
7.7B - 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
7.8 - Pamamahala ng lisensya
Ang serbisyo ng License management ay ginagamit upang pamahalaan ang mga lisensya sa 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 cloud_provider=aws \
--atomic
7.9 - Linisin ang serbisyo
Tinatanggal ng serbisyo ng Clean up ang mga orihinal at muling binuong file mula sa persistent storage pagkatapos maproseso ang mga file.
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set cloud_provider=aws \
--atomic
7.10 - Asynchronous API
Maaaring i-deploy ang Asynchronous API gamit ang command sa ibaba. Ang MongoDB database ay isang paunang kinakailangan para sa Async API.
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=aws \
--atomic
7.11 - Projection ng metrics
Ginagamit ang serbisyo ng Metrics projection upang kunin ang reporting data mula sa MongoDB para maipakita ito sa 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=aws \
--atomic
7.12 - 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 \
--set cloud_provider=aws \
--atomic
7.13 - 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 cloud_provider=aws \
--atomic
7.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 storage service gaya ng SharePoint.
Dapat na 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
7.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>
7.16 - Access sa Portal & API
Gamitin ang command sa ibaba upang matukoy ang external-ip na nauugnay sa iyong cluster:
Tandaan: Ang external-ip ay magiging kapareho ng pampublikong IP address na naka-attach sa AWS load balancer.
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].hostname}'
Maaari mo na ngayong gamitin ang IP na ibinalik sa itaas upang pumunta sa Portal at dokumentasyon ng API (gamitin ang https kung naka-enable ang TLS):
Portal: http://<ip>
API documentation: http://<ip>/swagger