Lewati ke konten utama

Single Sign-On

Glasswall Halo dapat dikonfigurasi untuk mengaktifkan Single Sign-On (SSO) dengan OpenID Connect (OIDC).

SSO adalah metode autentikasi yang memungkinkan pengguna masuk menggunakan satu set kredensial ke beberapa sistem perangkat lunak independen. Dengan menggunakan SSO, pengguna tidak perlu masuk ke setiap aplikasi yang mereka gunakan.

Di bawah ini adalah informasi tentang cara mengonfigurasi SSO dalam solusi Glasswall Halo Anda menggunakan Microsoft Entra ID sebagai penyedia identity and access management (IAM).

Pada prinsipnya, solusi IAM apa pun yang menawarkan OIDC dapat dikonfigurasi untuk mendukung SSO untuk Glasswall Halo.

Prasyarat untuk integrasi Microsoft Entra ID

  • Perjanjian enterprise Microsoft untuk akun Microsoft Entra ID diperlukan untuk mengaktifkan opsi SSO ini.
  • Nama domain harus dikonfigurasi untuk portal Halo (portal service) agar dapat menggunakan autentikasi SSO.
  • Azure App Registrations diperlukan setiap kali autentikasi SSO menggunakan Microsoft Entra ID perlu diaktifkan.
  • Three App Registrations must be created:
    • Cdrplatform-API-access
    • Cdrplatform-portal-access
    • Cdrplatform-portal-client
  • skrip shell terlampir membantu membuat pendaftaran aplikasi ini. Masukkan nama domain yang ingin Anda gunakan untuk portal sebagai argumen ke skrip. Contoh:
bash create-azure-app-registrations.sh halo.glasswall.com
  • Aplikasi enterprise ar-Halo-portal-client harus diberikan persetujuan admin.

Konfigurasi

Aktifkan autentikasi API Microsoft Entra ID

Untuk mengaktifkan autentikasi berbasis Microsoft Entra ID, setel configuration.authenticationscheme=bearer. Setel juga variabel tenant_id, api_domain dan valid_audiences saat men-deploy Helm chart.

Catatan: Setel valid_audiences ke ID Aplikasi (klien) dari pendaftaran aplikasi cdrplatform-api-access (ditemukan di portal Azure pada 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

Konfigurasikan login SSO untuk Glasswall Halo

Tetapkan variabel portal_domain, portal_client_id, tenant_id dalam perintah di bawah ini.
portal_domain adalah domain yang digunakan untuk TLS pada layanan portal dan juga merupakan domain yang digunakan dalam App Registration cdrplatform-portal-client.

portal_client_id adalah application (client) ID dari App Registration cdrplatform-portal-client.

enabled_pages mencakup halaman tambahan berdasarkan layanan yang di-deploy:

  • ICAP Server: tambahkan IcapSettings,IcapRequests,IcapReporting
  • Storage Monitor: tambahkan 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

Selanjutnya, layanan portal access perlu mengaktifkan autentikasi SSO menggunakan Microsoft Entra ID.

Atur variabel tenant_id, portal_domain, dan valid_audiences di bawah ini.

Catatan: Atur valid_audiences ke ID Aplikasi (klien) dari pendaftaran aplikasi cdrplatform-portal-access (ditemukan di portal Azure pada 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

Peran pengguna

Untuk menetapkan peran kepada pengguna portal

  1. Buka aplikasi enterprise berjudul ar-cdrplatform-portal-access di dalam Microsoft Entra ID.

Catatan: Tangkapan layar menggunakan ar-cdrplatform-perf-portal-access sebagai contoh.

Sso_1 Sso_2

  1. Buka bagian Users and groups dan pilih Add user/group.

Sso_3

  1. Pilih pengguna atau grup yang diinginkan, lalu pilih peran yang sesuai.

Sso_4 Sso_5

  1. Klik Assign.

Sso_6 Sso_7


Untuk menetapkan peran kepada pengguna API