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

चरण 4 - प्रमाणीकरण

नोट: यह पेज Halo Portal SSO लॉगिन को Azure Entra ID के साथ एकीकृत करने के लिए है।

पूर्वापेक्षाएँ

  • SSO का उपयोग करने के लिए, Portal के लिए एक डोमेन चुनें।
  • वांछित AWS tenant के लिए tenant_id की पहचान करें।
  • सुनिश्चित करें कि Azure CLI किसी मशीन पर इंस्टॉल है और az login का उपयोग करके लॉगिन करें।
  • Run the attached shell script to create 3 app registrations and enterprise applications. Make a note of the outputs from the script which will be used in the next steps:
    • cdrplatform-api-access
    • cdrplatform-portal-access
    • cdrplatform-portal-client
bash create-azure-app-registrations.sh cleanroom.glasswall.com

Portal प्रमाणीकरण इंस्टॉलेशन

Glasswall Halo के portal में AWS के साथ SSO सेट अप करने के लिए:

  1. नीचे दिए गए कमांड चलाने के लिए VM में SSH करें।
  • Note: /home/glasswall डायरेक्टरी में cdrplatform-portal और cdrplatform-portal-access helm charts मौजूद हैं।
  1. क्लस्टर में portal का image tag खोजें और उसे image_tag वेरिएबल के रूप में सेट करें।
k get deploy portal  -o json | jq -r '.spec.template.spec.containers[0].image' | cut -d":" -f2
  1. AWS IAM settings के साथ portal deploy करें, और सुनिश्चित करें कि नीचे दिए गए वेरिएबल्स को सही मान दिए गए हों।
tenant_id=""
portal_domain=""
portal_client_id=""
portal_access_uri=""
image_tag=""
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.repository=glasswallacr.azurecr.io/cdrplatform-portal \
--set image.tag="${image_tag:?}" \
--set image.pullPolicy=IfNotPresent \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain:?} \
--set ingress.tls.secretName=tls-secret \
--set cloud_provider=local \
--set resources.requests.cpu=500m \
--set resources.requests.memory=500Mi \
--set resources.limits.cpu=500m \
--set resources.limits.memory=500Mi \
--set securityContext.seccompProfile.type=RuntimeDefault \
--set configuration.BackendScope="${portal_access_uri}/PortalUserScope" \
--set configuration.BackendUrl="https://${portal_domain}" \
--set configuration.EnabledPages="SystemSettings\,PolicySettings" \
--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" \
--atomic
  1. क्लस्टर में portal-access का image tag खोजें और उसे image_tag वेरिएबल के रूप में सेट करें।
k get deploy portal-access  -o json | jq -r '.spec.template.spec.containers[0].image' | cut -d":" -f2
  1. Azure AD कॉन्फ़िगरेशन के साथ portal access डिप्लॉय करें:
tenant_id=""
portal_domain=""
portal_access_uri=""
image_tag=""
helm upgrade --install cdrplatform-portal-access cdrplatform-portal-access \
--set image.repository=glasswallacr.azurecr.io/cdrplatform-portal-access \
--set image.tag="${image_tag:?}" \
--set image.pullPolicy=IfNotPresent \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain:?} \
--set ingress.tls.secretName=tls-secret \
--set cloud_provider=local \
--set resources.requests.cpu=1 \
--set resources.requests.memory=2Gi \
--set resources.limits.cpu=1 \
--set resources.limits.memory=2Gi \
--set securityContext.seccompProfile.type=RuntimeDefault \
--set configuration.AuthenticationScheme=Bearer \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0="${portal_access_uri}" \
--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
  1. ब्राउज़र में portal domain खोलें और नीचे बाईं ओर Login with SSO पर क्लिक करें।

  2. Azure AD के माध्यम से लॉग इन करें और संगठन के लिए ऐप को अनुमतियाँ प्रदान करें।

API प्रमाणीकरण

API प्रमाणीकरण को 2 तरीकों से कॉन्फ़िगर किया जा सकता है:

Basic authentication इंस्टॉलेशन

  1. नीचे दिए गए कमांड चलाने के लिए VM में SSH करें।

नोट: cdrplatform-api-access Helm chart /home/glasswall डायरेक्टरी में मौजूद है।

  1. नीचे दिए गए कमांड में Username और Password सेट करें। कई passwords को अलग करने के लिए commas का उपयोग करें।
bash add_secrets.sh organisation0-id <username>
bash add_secrets.sh organisation0-tokens <password>
  1. Basic authentication के साथ API-access deploy करें।
image_tag=$(k get deploy api-access  -o json | jq -r '.spec.template.spec.containers[0].image' | cut -d":" -f2)
enable_tls="true" OR "false"
api_domain="" # ignore if enable_tls is false
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.tag="${image_tag:?}" \
--set image.pullPolicy=IfNotPresent \
--set image.repository="glasswallacr.azurecr.io/cdrplatform-api-access" \
--set ingress.tls.enabled="${enable_tls:?}" \
--set ingress.tls.domain="${api_domain}" \
--set configuration.CLIENTS__Policy__BaseAddress="http://policy-api:8080" \
--set configuration.CLIENTS__License__BaseAddress="http://license-management.license-management.svc.cluster.local:8080" \
--set configuration.CLIENTS__AsyncApi__BaseAddress="http://async-api:8080" \
--set configuration.AuthenticationScheme="Basic" \
--set cloud_provider=local \
--set resources.requests.cpu=1 \
--set resources.requests.memory=3Gi \
--set resources.limits.cpu=1 \
--set resources.limits.memory=3Gi \
--set securityContext.seccompProfile.type=RuntimeDefault \
--atomic

Bearer authentication इंस्टॉलेशन

  1. वांछित Azure tenant के लिए tenant_id पहचानें।

  2. नीचे दिए गए कमांड चलाने के लिए VM में SSH करें।

नोट: cdrplatform-API-access Helm chart /home/glasswall डायरेक्टरी में मौजूद होना चाहिए।

  1. Azure AD configuration के साथ API-access deploy करें।
tenant_id=""
api_valid_audience="api://cdrplatform-api-access"
image_tag=$(k get deploy api-access -o json | jq -r '.spec.template.spec.containers[0].image' | cut -d":" -f2)
enable_tls="true" OR "false"
api_domain="" # ignore if enable_tls is false
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.tag="${image_tag}" \
--set image.pullPolicy=IfNotPresent \
--set image.repository="glasswallacr.azurecr.io/cdrplatform-api-access" \
--set ingress.tls.enabled="${enable_tls}" \
--set ingress.tls.domain="${api_domain}" \
--set configuration.CLIENTS__Policy__BaseAddress="http://policy-api:8080" \
--set configuration.CLIENTS__License__BaseAddress="http://license-management.license-management.svc.cluster.local:8080" \
--set configuration.CLIENTS__AsyncApi__BaseAddress="http://async-api:8080" \
--set configuration.AuthenticationScheme="Bearer" \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0="${api_valid_audience}" \
--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/ \
--set cloud_provider=local \
--set resources.requests.cpu=1 \
--set resources.requests.memory=3Gi \
--set resources.limits.cpu=1 \
--set resources.limits.memory=3Gi \
--set securityContext.seccompProfile.type=RuntimeDefault \
--atomic

बधाई हो, आपने Glasswall Halo को सफलतापूर्वक deploy कर लिया है!