ข้ามไปยังเนื้อหาหลัก

Single Sign-On

Glasswall Halo สามารถกำหนดค่าเพื่อเปิดใช้ การลงชื่อเข้าใช้ครั้งเดียว (SSO) ด้วย OpenID Connect (OIDC) ได้

SSO เป็นวิธีการยืนยันตัวตนที่ช่วยให้ผู้ใช้ลงชื่อเข้าใช้ระบบซอฟต์แวร์อิสระหลายระบบได้ด้วยชุดข้อมูลรับรองเพียงชุดเดียว การใช้ SSO หมายความว่าผู้ใช้ไม่จำเป็นต้องลงชื่อเข้าใช้ทุกแอปพลิเคชันที่ใช้งาน

ด้านล่างนี้คือข้อมูลเกี่ยวกับวิธีกำหนดค่า SSO ภายในโซลูชัน Glasswall Halo ของคุณ โดยใช้ Microsoft Entra ID เป็นผู้ให้บริการการจัดการตัวตนและการเข้าถึง (IAM)

โดยหลักการแล้ว โซลูชัน IAM ใดก็ตาม ที่รองรับ OIDC สามารถกำหนดค่าให้รองรับ SSO สำหรับ Glasswall Halo ได้

ข้อกำหนดเบื้องต้นสำหรับการผสานรวม Microsoft Entra ID

  • ต้องมีข้อตกลงระดับองค์กรของ Microsoft สำหรับบัญชี Microsoft Entra ID เพื่อเปิดใช้ตัวเลือก SSO นี้
  • ต้องกำหนดค่าชื่อโดเมนสำหรับพอร์ทัล Halo (portal service) เพื่อใช้การยืนยันตัวตนแบบ SSO
  • จำเป็นต้องมี Azure App Registrations ทุกครั้งที่ต้องเปิดใช้การยืนยันตัวตนแบบ SSO โดยใช้ Microsoft Entra ID
  • Three App Registrations must be created:
    • Cdrplatform-API-access
    • Cdrplatform-portal-access
    • Cdrplatform-portal-client
  • สคริปต์ shell ที่แนบมา ช่วยสร้าง app registrations เหล่านี้ ป้อนชื่อโดเมนที่คุณต้องการใช้สำหรับพอร์ทัลเป็นอาร์กิวเมนต์ให้กับสคริปต์ ตัวอย่าง:
bash create-azure-app-registrations.sh halo.glasswall.com
  • enterprise application ar-Halo-portal-client ต้องได้รับ admin consent

การกำหนดค่า

เปิดใช้งานการยืนยันตัวตน API ของ Microsoft Entra ID

หากต้องการเปิดใช้งานการยืนยันตัวตนแบบอิง Microsoft Entra ID ให้ตั้งค่า configuration.authenticationscheme=bearer และตั้งค่าตัวแปร tenant_id, api_domain และ valid_audiences ระหว่างการ deploy Helm chart

หมายเหตุ: ตั้งค่า valid_audiences เป็น Application (client) ID ของ app registration cdrplatform-api-access (พบได้ใน Azure portal ภายใต้ 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

กำหนดค่า SSO login สำหรับ Glasswall Halo

ตั้งค่าตัวแปร portal_domain, portal_client_id, tenant_id ในคำสั่งด้านล่าง
portal_domain คือโดเมนที่ใช้สำหรับ TLS บนบริการพอร์ทัล และยังเป็นโดเมนที่ใช้ใน App Registration cdrplatform-portal-client ด้วย

portal_client_id คือ application (client) ID ของ App Registration cdrplatform-portal-client

enabled_pages รวมหน้าต่างๆ เพิ่มเติมตามบริการที่มีการ deploy:

  • 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 ต้องเปิดใช้การยืนยันตัวตนแบบ SSO โดยใช้ Microsoft Entra ID.

ตั้งค่าตัวแปร tenant_id, portal_domain และ valid_audiences ด้านล่าง

หมายเหตุ: ตั้งค่า valid_audiences เป็น Application (client) ID ของการลงทะเบียนแอป cdrplatform-portal-access (พบได้ใน Azure portal ภายใต้ 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. ไปที่แอปพลิเคชันองค์กรชื่อ ar-cdrplatform-portal-access ภายใน Microsoft Entra ID.

หมายเหตุ: ภาพหน้าจอใช้ 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