주요 콘텐츠로 건너뛰기

Single Sign-On

Glasswall Halo can be configured to enable Single Sign-On (SSO) with OpenID Connect (OIDC).

SSO는 사용자가 하나의 자격 증명 세트로 여러 독립적인 소프트웨어 시스템에 로그인할 수 있도록 하는 인증 방식입니다. SSO를 사용하면 사용자는 사용하는 모든 애플리케이션에 각각 로그인할 필요가 없습니다.

아래에는 ID 및 액세스 관리(IAM) 공급자로 Microsoft Entra ID를 사용하여 Glasswall Halo 솔루션 내에서 SSO를 구성하는 방법에 대한 정보가 나와 있습니다.

원칙적으로 OIDC를 제공하는 모든 IAM 솔루션은 Glasswall Halo용 SSO를 지원하도록 구성할 수 있습니다.

Microsoft Entra ID 통합을 위한 사전 요구 사항

  • 이 SSO 옵션을 활성화하려면 Microsoft Entra ID 계정에 대한 Microsoft 엔터프라이즈 계약이 필요합니다.
  • SSO 인증을 사용하려면 Halo 포털(portal service)에 대해 도메인 이름이 구성되어 있어야 합니다.
  • Microsoft Entra ID를 사용하는 SSO 인증을 활성화해야 하는 경우에는 항상 Azure App Registrations가 필요합니다.
  • Three App Registrations must be created:
    • Cdrplatform-API-access
    • Cdrplatform-portal-access
    • Cdrplatform-portal-client
  • 이러한 앱 등록을 생성하는 데 첨부된 shell script가 도움이 됩니다. 스크립트 인수로 portal에 사용할 도메인 이름을 입력하세요. 예:
bash create-azure-app-registrations.sh halo.glasswall.com
  • 엔터프라이즈 애플리케이션 ar-Halo-portal-client에는 관리자 동의가 부여되어야 합니다.

구성

Microsoft Entra ID API 인증 활성화

Microsoft Entra ID 기반 인증을 활성화하려면 configuration.authenticationscheme=bearer로 설정합니다. 또한 Helm chart를 배포하는 동안 tenant_id, api_domain, valid_audiences 변수를 설정합니다.

Note: Set valid_audiences to the Application (client) ID of the cdrplatform-api-access app registration (found in the Azure portal under App registrations > Overview).

tenant_id=""
api_domain=""
valid_audiences="" # Application (client) ID of the cdrplatform-api-access app registration (copy from Azure portal)
helm upgrade cdrplatform-api-access cdrplatform-api-access \
--reuse-values \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${api_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

Glasswall Halo용 SSO 로그인 구성

아래 명령에서 portal_domain, portal_client_id, tenant_id 변수를 설정합니다.
portal_domain은 portal service에서 TLS에 사용되는 도메인이며, cdrplatform-portal-client App Registration에서 사용되는 도메인이기도 합니다.

portal_client_idcdrplatform-portal-client App Registration의 application (client) ID입니다.

enabled_pages에는 배포된 서비스에 따라 추가 페이지가 포함됩니다:

  • ICAP Server: IcapSettings,IcapRequests,IcapReporting 추가
  • Storage Monitor: SharePointMonitoring,OneDriveMonitoring,OutlookMonitoring 추가
portal_domain=""
portal_client_id=""
tenant_id=""
# Add pages based on deployed services:
# + ICAP Server: IcapSettings,IcapRequests,IcapReporting
# + Storage Monitor: SharePointMonitoring,OneDriveMonitoring,OutlookMonitoring
enabled_pages="SystemSettings\,PolicySettings\,ValidationSettings"
helm upgrade cdrplatform-portal cdrplatform-portal \
--reuse-values \
--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" \
--atomic

다음으로, portal access 서비스에서 Microsoft Entra ID를 사용한 SSO 인증을 활성화해야 합니다.

아래에서 tenant_id, portal_domain, valid_audiences 변수를 설정합니다.

Note: Set valid_audiences to the Application (client) ID of the cdrplatform-portal-access app registration (found in the Azure portal under App registrations > Overview).

tenant_id=""
portal_domain=""
valid_audiences="" # Application (client) ID of the cdrplatform-portal-access app registration (copy from Azure portal)
helm upgrade cdrplatform-portal-access cdrplatform-portal-access \
--reuse-values \
--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

사용자 역할

포털 사용자에게 역할을 할당하려면

  1. Microsoft Entra ID 내에서 ar-cdrplatform-portal-access라는 엔터프라이즈 애플리케이션으로 이동합니다.

참고: 스크린샷에서는 ar-cdrplatform-perf-portal-access를 예시로 사용합니다.

Sso_1 Sso_2

  1. Users and groups 섹션으로 이동한 다음 Add user/group를 선택합니다.

Sso_3

  1. 원하는 사용자 또는 그룹을 선택한 다음 적절한 역할을 선택합니다.

Sso_4 Sso_5

  1. Assign을 클릭합니다.

Sso_6 Sso_7


API 사용자에게 역할을 할당하려면