メイン コンテンツにスキップ

シングルサインオン

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

SSO は、1 組の認証情報を使用して複数の独立したソフトウェアシステムにサインインできる認証方式です。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は、これらのアプリ登録の作成に役立ちます。スクリプトの引数として、ポータルに使用したいドメイン名を入力してください。例:
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_idapi_domainvalid_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_domainportal_client_idtenant_id 変数を設定します。
portal_domain はポータルサービスで TLS に使用されるドメインであり、cdrplatform-portal-client App Registration で使用されるドメインでもあります。

portal_client_id は、cdrplatform-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_idportal_domainvalid_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 ユーザーにロールを割り当てるには

  • Microsoft Entra ID で ar-cdrplatform-API-access という名前のエンタープライズ アプリケーションに移動します。
  • Users and groups セクションで、Add user/group をクリックします。
  • Select the desired user or group, then choose the appropriate role.
  • Assign をクリックします。