מה זה נותן ומה נדרש

SAML2 מאפשר למשתמשים להתחבר לאתר ה־Stream באמצעות חשבון הארגון (למשל Microsoft 365), בלי סיסמה נפרדת של המערכת – בהתאם למדיניות הארגון.

  • נדרשת גישת מנהל לדף הגדרות המערכת (/admin/settings).
  • המערכת משתמשת ב־SimpleSAMLphp כשירות SAML (SP) בשם default-sp.
  • יש להפיק תעודת SP, להעביר את מטא־דאטה של ה־SP לספק הזהות (או למלא שדות ידנית), ואז לטעון לכאן את מטא־דאטה של ה־IdP (קובץ XML).

לפני שמתחילים: HTTPS וכתובת האתר

חשוב: בסביבת ייצור יש לגשת לאתר ב־HTTPS בלבד. תעודת ה־SP, מזהה הישות (Entity ID) וכתובות ה־ACS נגזרות מהכתובת בפועל; אם השרת או פרוקסי לא מדווחים נכון על HTTPS, ייתכן שמטא־דאטה וחיבור SAML לא יהיו עקביים.

באזור הגדרות כלליות ודאו ש־כתובת URL של Stream (כתובת הבסיס הציבורית של האתר) מוגדרת עם https:// ובלי סלאש מיותר בסוף (או בהתאם להגדרות הארגון). כתובת זו משמשת גם לפעולות פנימיות כמו הורדת מטא־דאטה מהשרת.

הגדרות בממשק המנהל (Stream)

היכנסו ל־הגדרות המערכת (/admin/settings) ובצעו לפי הסדר:

1. הפעלת SSO

באזור הגדרות מתקדמות, סמנו אפשר הזדהות באמצעות SSO (allow_sso_auth) כדי לאפשר למשתמשים להשתמש בנתיב ההתחברות היחידנית (בהתאם לאופן הצגת כפתור ההתחברות באתר).

2. אזור «חיבור SAML2»

  1. הפק תעודה (SP) – יוצר מפתח פרטי ותעודה (saml.pem, saml.crt) בתיקיית saml2/cert/ ומעדכן את authsources.php. ללא שלב זה לא תהיה מטא־דאטה תקפית להעברה ל־IdP.
  2. הורד מטא־דאטה SP – מוריד קובץ XML של שירות הספק (SP) שיש להזין אצל ספק הזהות (למשל העלאה לאפליקציה ב־Entra ID), או לחלץ ממנו את כתובת ה־Entity ID ואת כתובת ה־ACS.
  3. הטען מטא־דאטה (IdP) – לאחר שספק הזהות מוגדר, הורידו ממנו את קובץ ה־XML של מטא־דאטה של ה־IdP והעלו אותו כאן. הקובץ נשמר והמערכת מעדכנת את קובץ המטא־דאטה המרוחק (saml20-idp-remote.php) ואת קישור ה־IdP ב־authsources.php.

בראש האזור מוצג סטטוס (תעודה, קונפיגורציה, האם ה־IdP מחובר). לאחר טעינת מטא־דאטה של ה־IdP הסטטוס אמור להצביע על חיבור מלא.

טיפ: פעולות SAML (הפקת תעודה והטענת מטא־דאטה) מתבצעות בלחיצה על הכפתורים המיועדים; שינויים בשאר ההגדרות נשמרים בלחיצה על שמירה בתחתית הדף.

כתובות טכניות (SP) לעותק

החליפו את https://your-domain.example בכתובת הייצור שלכם (עם https).

תפקיד נתיב טיפוסי
מטא־דאטה של ה־SP (XML ציבורי) …/saml2/public/module.php/saml/sp/metadata.php/default-sp
ACS (Reply URL) – קבלת תשובת SAML …/saml2/public/module.php/saml/sp/saml2-acs.php/default-sp
יציאה יחידנית (SLO), אם נדרש …/saml2/public/module.php/saml/sp/saml2-logout.php/default-sp
כניסה באתר (אתחול SP) https://your-domain.example/sso.php

מזהה ישות (Entity ID) של ה־SP: בדרך כלל בצורה https://your-domain.example/ (סלאש בסוף), בהתאם לבקשה לשרת בזמן יצירת המטא־דאטה. הערכים המדויקים מופיעים בקובץ ה־XML שהורדתם.

דוגמה לכתובת מלאה למטא־דאטה:

https://your-domain.example/saml2/public/module.php/saml/sp/metadata.php/default-sp

חיבור ב־Microsoft Entra ID (Microsoft 365)

השלבים הבאים תואמים את זרימת העבודה הנפוצה בממשק Entra ID ליצירת אפליקציית SAML, וניתן לשלב אותם עם מדריך Azure הפנימי של הארגון (כולל צילומי מסך מפורטים שם).

1. יצירת אפליקציית ארגון

  • בפורטל Azure: Microsoft Entra IDאפליקציות ארגוניות (Enterprise applications) → אפליקציה חדשה.
  • בחרו יצירת אפליקציית משלכם, תנו שם (למשל Stream – SAML), ובחרו אינטגרציה מבוססת SAML / SSO יחיד – לפי האפשרויות בממשק.

2. הגדרת SAML – צד Entra (בסיסי)

באפליקציה נבחרת: ניהול SSO יחידSAML.

  • העלאת מטא־דאטה של SP – אם Entra מאפשרת העלאת קובץ, השתמשו בקובץ ה־XML שהורדתם מ־Stream («הורד מטא־דאטה SP»). זה ממלא רבים מהשדות אוטומטית.
  • או מילוי ידני (Basic SAML Configuration):
    • Identifier (Entity ID) – כפי שמופיע במטא־דאטה של ה־SP (לרוב https://your-domain.example/).
    • Reply URL (Assertion Consumer Service URL) – כתובת ה־ACS מהטבלה למעלה.
    • Sign on URL – לעיתים נדרש לחוויית התחברות SP-initiated; נסו את https://your-domain.example/sso.php אם הממשק דורש ערך.
  • שמרו את ההגדרות.

3. הורדת מטא־דאטה של ה־IdP ל־Stream

באותו מסך SAML, הורידו את Federation Metadata XML (לפעמים מתואר כ־«Certificate» או «Download Federation Metadata»).

חזרו ל־Stream → הגדרות המערכתחיבור SAML2הטען מטא־דאטה (IdP) והעלו את הקובץ.

4. הקצאת משתמשים

ב־Entra: באפליקציה → משתמשים וקבוצות → הוסיפו את המשתמשים או הקבוצות שמורשים להתחבר דרך האפליקציה.

תיעוד מיקרוסופט: שמות התפריטים והכפתורים עשויים להשתנות בין גרסאות הפורטל; אם משהו לא תואם, השתמשו בחיפוש בפורטל אחרי «SAML-based SSO» או «Enterprise application» והשוו לשדות בטבלה למעלה.

מזהים ותביעות (Claims) – Microsoft 365

כאשר ספק הזהות הוא Microsoft Entra ID, המערכת יכולה לזהות את התשובה לפי תביעות אופייניות (כולל מזהה דייר). למילוי פרופיל המשתמש משמשים בין השאר:

  • כתובת דואר אלקטרוני
  • שם פרטי ושם משפחה
  • שם משתמש / מזהה ייחודי

ב־Entra ID, תחת תכונות והצהרות משתמש (User Attributes & Claims), ודאו שהתביעות הנשלחות ב־SAML token כוללות לפחות דוא"ל ושם – בהתאם למדיניות הארגון. אם תביעה חסרה, ייתכן שמשתמש לא יזוהה או ייווצר חשבון חלקי.

משתמש קיים ב־Stream מזוהה לפי כתובת האימייל; אם אין משתמש עם אותו אימייל, המערכת עשויה ליצור משתמש חדש (בהתאם להגדרות הרישום וההפעלה באתר).

בדיקה ופתרון בעיות

  • פתחו חלון גלישה פרטי וגלשו ל־https://your-domain.example/sso.php – אמור להתבצע ניתוב לכניסה בארגון ולאחר מכן חזרה לאתר.
  • אם הורדת מטא־דאטה SP נכשלת עם הודעת שגיאה, בדקו שכתובת הבסיס של האתר מוגדרת ב־HTTPS ושהקובץ הציבורי של SimpleSAMLphp נגיש מהשרת.
  • אם Entra מחזירה שגיאת SAML, בדקו בדיוק את ה־Reply URL וה־Entity ID מול קובץ ה־XML של ה־SP.
  • ודאו שהאפליקציה ב־Entra מוקצית למשתמש הבודק.

לקישור מהיר להגדרות הכלליות של המערכת: מדריך הגדרות המערכת.