चरण 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 सेट अप करने के लिए:
- नीचे दिए गए कमांड चलाने के लिए VM में SSH करें।
- Note:
/home/glasswallडायरेक्टरी में cdrplatform-portal और cdrplatform-portal-access helm charts मौजूद हैं।
- क्लस्टर में portal का image tag खोजें और उसे
image_tagवेरिएबल के रूप में सेट करें।
k get deploy portal -o json | jq -r '.spec.template.spec.containers[0].image' | cut -d":" -f2
- 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
- क्लस्टर में portal-access का image tag खोजें और उसे
image_tagवेरिएबल के रूप में सेट करें।
k get deploy portal-access -o json | jq -r '.spec.template.spec.containers[0].image' | cut -d":" -f2
- 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
-
ब्राउज़र में portal domain खोलें और नीचे बाईं ओर Login with SSO पर क्लिक करें।
-
Azure AD के माध्यम से लॉग इन करें और संगठन के लिए ऐप को अनुमतियाँ प्रदान करें।
API प्रमाणीकरण
API प्रमाणीकरण को 2 तरीकों से कॉन्फ़िगर किया जा सकता है:
Basic authentication इंस्टॉलेशन
- नीचे दिए गए कमांड चलाने के लिए VM में SSH करें।
नोट: cdrplatform-api-access Helm chart /home/glasswall डायरेक्टरी में मौजूद है।
- नीचे दिए गए कमांड में Username और Password सेट करें। कई passwords को अलग करने के लिए commas का उपयोग करें।
bash add_secrets.sh organisation0-id <username>
bash add_secrets.sh organisation0-tokens <password>
- 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 इंस्टॉलेशन
-
वांछित Azure tenant के लिए
tenant_idपहचानें। -
नीचे दिए गए कमांड चलाने के लिए VM में SSH करें।
नोट: cdrplatform-API-access Helm chart /home/glasswall डायरेक्टरी में मौजूद होना चाहिए।
- 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 कर लिया है!