मुख्य सामग्री पर जाएँ

चरण 8 - CDR घटक इंस्टॉल करें

अंत में, CDR एप्लिकेशन सेवाएँ इंस्टॉल करें। इन charts के लिए, सुनिश्चित करें कि आप image tag को नवीनतम release notes में मिले संबंधित tag पर सेट करें।

नीचे दिए गए उदाहरण v2.18.1 के टैग्स के साथ पहले से भरे हुए हैं:

8.1 Engine

Halo को ReversingLabs के साथ एकीकृत करने के लिए, enable_reversing_labs वेरिएबल को true पर सेट करें। सुनिश्चित करें कि आवश्यक ReversingLabs secrets, चरण 3 में वर्णित अनुसार, Key Vault में बनाए गए हैं।

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 API Access सेवा

API Access सेवा Glasswall Halo Synchronous API और Policy Management API के लिए एक gateway के रूप में कार्य करती है।

यह HTTP पर CDR कार्यक्षमता उपलब्ध कराता है। यदि आपके environment को सुरक्षित संचार की आवश्यकता है, तो TLS या SSL installation instructions का पालन करके service को HTTPS उपयोग करने के लिए configure करें। अन्यथा, TLS या SSL के बिना installation के लिए instructions का पालन करें।

8.3A - TLS/SSL के बिना deployments के लिए

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 - TLS/SSL के साथ deployments के लिए

CDR API पर SSL सक्षम करने के लिए, उपयोग में लिए जा रहे domain के लिए एक private key और certificate बनाएं।

Create a Kubernetes secret from the private key and certificate files using the command below. This command creates a secret named tls-secret using server.key as the private key and server.crt as the certificate. In this example, the private key must not be protected by a passphrase.

kubectl create secret tls tls-secret --key server.key --cert server.crt

इसके बाद इस secret का उपयोग ingress पर TLS सक्षम करने के लिए किया जा सकता है, यह सुनिश्चित करते हुए कि नीचे दिए गए कमांड में 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 - बुनियादी API प्रमाणीकरण सक्षम करने के लिए

Glasswall Halo में प्रमाणीकरण डिफ़ॉल्ट रूप से अक्षम होता है। सक्षम किए जाने पर, यह Glasswall Halo Synchronous API और Policy API दोनों पर लागू होता है।

प्रमाणीकरण सक्षम करने के लिए:

  • Azure Key Vault में दो secret बनाएँ। एक secret organisation ID संग्रहीत करता है, और दूसरा organisation tokens संग्रहीत करता है। कई tokens निर्दिष्ट करते समय, उन्हें commas से अलग करें। सुनिश्चित करें कि अलग-अलग tokens में commas न हों। Azure Key Vault secrets को नीचे दिए गए naming conventions का पालन करना चाहिए:
  • Organisation ID secret
  • की शुरुआत organisation से होनी चाहिए
  • का अंत -id से होना चाहिए
  • प्रिफ़िक्स और सफ़िक्स के बीच एक संख्यात्मक इंडेक्स शामिल करें
  • उदाहरण: organisation0-id, organisation1-id, organisation2-id
  • Organisation tokens secret
  • की शुरुआत organisation से होनी चाहिए
  • का अंत -tokens से होना चाहिए
  • प्रिफ़िक्स और सफ़िक्स के बीच एक संख्यात्मक इंडेक्स शामिल करें
  • उदाहरण: organisation0-tokens, organisation1-tokens, organisation2-tokens
  • Helm chart deploy करते समय configuration.AuthenticationScheme=Basic सेट करें। उदाहरण के लिए:
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 - Azure AD API authentication सक्षम करने के लिए

Azure AD आधारित authentication सक्षम करने के लिए, Helm chart deploy करते समय configuration.AuthenticationScheme=Bearer सेट करें और tenant_id तथा domain_name variables कॉन्फ़िगर करें।

ध्यान दें कि app registration URI इस बात पर निर्भर करते हुए अलग हो सकता है कि app कब बनाया गया था। हमेशा Azure portal से app registration URI कॉपी करें और उसे 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/
Azure US Government उपयोगकर्ता

Azure US Government पर deploy करते समय निम्न command का उपयोग करें।

ये settings सुनिश्चित करती हैं कि सही endpoints और environment values उपयोग की जाएँ।

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

Portal service deploy करने के लिए, निम्नलिखित commands चलाएँ:

8.4A - TLS/SSL के बिना deployments के लिए

नोट: इस कमांड में उल्लिखित <IP-address> Load Balancer के public IP address को संदर्भित करता है। इसे नीचे दिए गए "Portal & API Access" चरणों के माध्यम से प्राप्त किया जा सकता है।

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 - TLS/SSL वाले deployments के लिए

यदि TLS आवश्यक है, तो --set ingress.tls.enable_tls=true parameter जोड़ें और portal_domain=<domain name> सेट करें।

नीचे दिए गए उदाहरण में, TLS certificates प्राप्त करने के लिए API Access service के लिए बनाया गया वही Kubernetes secret उपयोग किया जाता है।

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 - authentication के बिना admin access सक्षम करें

जब Portal में Single Sign-On (SSO) login सक्षम नहीं होता है, तब license management और policy configuration जैसी administrative features सुलभ नहीं होती हैं। SSO सेट अप किए बिना इन admin features तक access सक्षम करने के लिए, Helm chart को निम्न configuration के साथ deploy करें:

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 Glasswall Halo के Portal में SSO login configure करने के लिए

नीचे दिए गए commands में portal_domain, portal_client_id, और tenant_id variables सेट करें, फिर उन्हें चलाएँ।

portal_domain वह domain name है जिसका उपयोग Portal service के लिए TLS configure करने में किया जाता है और यह cdrplatform-portal-client app registration में उपयोग किए गए domain से मेल खाना चाहिए।

portal_client_id, prerequisites चरण में बनाए गए cdrplatform-portal-client app registration का application (client) ID है।

tenant_id उस tenant का है जहाँ APP registrations बनाए जाते हैं।

enabled_pages में वे विभिन्न pages होने चाहिए जिन्हें सक्षम करना है। मानों को comma(,) से अलग करके पास करें।

उदाहरण के लिए, जब Policy API, ICAP server और ReversingLabs deploy किए गए हों, तब इसे SystemSettings\,PolicySettings\,ValidationSettings\,IcapSettings\,IcapRequests\,IcapReporting पर सेट किया जाना चाहिए, या यदि केवल Policy API deploy किया गया हो, तो इसे SystemSettings\,PolicySettings\,ValidationSettings पर सेट करें।

यदि Policy API और ICAP server में से कोई भी deploy नहीं किया गया है, तो इसे 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
Azure US Government उपयोगकर्ता

Azure US Government पर deploy करते समय निम्न command का उपयोग करें।

ये settings सुनिश्चित करती हैं कि सही endpoints और environment values उपयोग की जाएँ।

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 Portal access

Portal Access, Portal के लिए backend के रूप में कार्य करता है। यह Halo Portal को Policy Management API और Synchronous API तक पहुँचने में सक्षम बनाता है।

8.5A TLS/SSL वाले deployments के लिए

यदि TLS आवश्यक है, तो --set ingress.tls.enable_tls=true और --set ingress.tls.domain=<domain name> parameters जोड़ें।

नीचे दिए गए उदाहरण में, TLS certificates प्राप्त करने के लिए API Access service के लिए बनाया गया वही Kubernetes secret उपयोग किया जाता है।

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 TLS/SSL के बिना deployments के लिए

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 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 Azure AD authentication सक्षम करने के लिए

Portal Access, Azure AD का उपयोग करके SSO authentication सक्षम करता है।

नीचे दिए गए commands में tenant_id और portal_domain variables सेट करें, फिर उन्हें चलाएँ।

ध्यान दें कि APP registration URI इस बात पर निर्भर करते हुए भिन्न हो सकता है कि इसे कब बनाया गया था। हमेशा Azure portal से app registration URI कॉपी करें और उसे 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
Azure US Government उपयोगकर्ता

Azure US Government पर deploy करते समय निम्न command का उपयोग करें।

ये settings सुनिश्चित करती हैं कि सही endpoints और environment values उपयोग की जाएँ।

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

Policy Management API का उपयोग Glasswall Halo content management flags को प्रबंधित करने के लिए किया जाता है। यह सेवा वैकल्पिक है और इसे केवल तभी इंस्टॉल किया जाना चाहिए जब आप custom policies बनाना और उपयोग करना चाहते हों।

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}
  • Policy Management API swagger page को निम्न का उपयोग करके एक्सेस किया जा सकता है:
http://<ip>/swagger/index.html

8.7 License Management

License Management सेवा का उपयोग Glasswall Halo Portal में licenses को प्रबंधित करने के लिए किया जाता है।

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

Clean up सेवा processing पूरा होने के बाद persistent storage से original और rebuilt files को हटाती है।

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

Asynchronous API को नीचे दिए गए command का उपयोग करके deploy किया जा सकता है। Asynchronous API के लिए एक MongoDB database आवश्यक है।

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 मेट्रिक्स प्रोजेक्शन

Metrics projection सेवा का उपयोग Halo Portal UI में प्रदर्शित करने के लिए MongoDB से रिपोर्टिंग डेटा प्राप्त करने हेतु किया जाता है।

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 रिपोर्ट एक्सट्रैक्टर

Report extractor सेवा विश्लेषण रिपोर्टों को निकालती है और उन्हें रिपोर्टिंग के लिए प्रकाशित करती है।

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 सेवा उपयोग सांख्यिकी की गणना को ट्रैक करती है और बनाए रखती है।

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

नोट: यदि MongoDB पहले से Azure में कॉन्फ़िगर है और आप अपने cluster के भीतर MongoDB को इंस्टॉल या प्रबंधित नहीं करना चाहते हैं, तो आप इस चरण को छोड़कर आगे बढ़ सकते हैं।

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

MongoDB इंस्टॉल करें

helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=azure
  • Kubernetes secret से connection string प्राप्त करें
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
  • Azure Key Vault secret को MongoDB connection string के साथ अपडेट करें
az keyvault secret set --name "mongodb-connectionstring" --vault-name "${kvname}" --value "<output-from-previous-step>"

8.14 Storage Monitoring Service

Storage Monitoring service, SharePoint और OneDrive जैसे configured storage mechanisms में documents पर किए गए बदलावों को subscribe करने और track करने के लिए एक API प्रदान करती है।

Webhook के लिए TLS सक्षम होना चाहिए।

--set ingress.tls.enable_tls=true और --set ingress.tls.domain=<domain name> parameters जोड़ें।

नीचे दिए गए उदाहरण में, TLS certificates प्राप्त करने के लिए API Access service के लिए बनाया गया वही Kubernetes secret उपयोग किया जाता है।

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 वैकल्पिक Prometheus scaling

Prometheus scaling chart केवल तभी install करें जब आप 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 Portal & API एक्सेस

अपने cluster से संबद्ध external IP address निर्धारित करने के लिए निम्न command का उपयोग करें।

external IP, Azure load balancer को assigned public IP address के अनुरूप है।

kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'

अब आप ऊपर लौटाए गए IP का उपयोग करके Halo Portal और API documentation पर जा सकते हैं (यदि TLS enabled है, तो https का उपयोग करें):

Portal: http://<ip>
API Documentation: http://<ip>/swagger/index.html