פתרון בעיות ב-SAML
במסמך הזה מוסבר איך לפתור בעיות נפוצות שעלולות לקרות באימות SAML בפלטפורמת Google Security Operations SOAR.
האפליקציה לא נמצאה בספרייה
הודעה: AADSTS700016: Application with identifier 'https://yyy.yyyyyy.com/api/auth/saml/metadata' was not found in the directory 'yyy'.
הסבר: יש חוסר התאמה בין ההגדרה ב-Azure AD (Basic SAML) לבין המערכת.
פתרון: ב-Azure AD, מגדירים את המזהה (מזהה הישות) למזהה הישות של ספק השירות, ומוודאים שכתובת ה-URL לתשובה (ACS) תואמת לספק השירות. בנוסף, מוודאים שאתם בדייר הנכון ושהמשתמשים משויכים לאפליקציה.
ערך לא תקין של saml:AuthnContextDeclRef
הודעה: Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenReadException: IDX13102: Exception thrown while reading 'System.String' for Saml2SecurityToken. Inner exception: System.ArgumentException.
הסבר: השגיאה הזו מציינת ערך לא תקין של saml:AuthnContextDeclRef בתשובת SAML.
פתרון: צריך לפענח את תגובת SAML ולבדוק אותה. אם ספק הזהויות שולח AuthnContextDeclRef לא תקין, צריך להסיר אותו או לעבור לsaml:AuthnContextClassRef נתמך (לדוגמה, urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport).
System.ArgumentException: הערך 'System.String' חייב להיות URI מוחלט
הודעה: /ds:Signature>saml:Subject<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" System.ArgumentException: IDX13300: 'System.String' must be an absolute URI, was: 'System.Uri"></saml:NameID>
הסבר: הערך של NameID Format חייב להיות מזהה URI מוחלט (URN) תקין שנתמך על ידי ספק השירות, והערך של <saml:NameID> חייב להיות נוכח.
תיקון: מגדירים את הפרמטר DefaultNameIDFormat בהגדרת ה-SAML לאחת מהאפשרויות הבאות:
-
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress(הנפוץ ביותר) urn:oasis:names:tc:SAML:2.0:nameid-format:persistenturn:oasis:names:tc:SAML:2.0:nameid-format:transient
לא נמצאו מאפייני משתמש והשדה LoginIdentifier נדרש
הודעה: logs Server error Login error for user _yyyyyyyyyyyyyyyyyyyyyyy. User attributes were not found for creating new followed by Error: register : The LoginIdentifier field is required.
הסבר: כשהקצאת הרשאות בדיוק בזמן (JIT) מופעלת, ספק השירות מחפש את המשתמש באמצעות NameID (או מאפיין ממופה). הערך הנכנס לא תואם לאף מזהה כניסה קיים.
פתרון: צריך להגדיר את ספק הזהויות כך שישלח ערך שתואם לשדה מזהה הכניסה בניהול המשתמשים (הגדרות > ניהול משתמשים). הערך הזה יכול להיות כתובת האימייל של המשתמש או מזהה ייחודי אחר.
אי-התאמה בסוג המשתמש
הודעה: Login error for user user@user.com. User type (Internal) does not match to this type of authentication (External).
הסבר: קיים חשבון עם אותו מזהה כניסה כמשתמש פנימי, אבל אימות SAML דורש משתמש חיצוני.
תיקון: משנים את סוג המשתמש של המשתמש הקיים עם שם המשתמש שיוצר את הקונפליקט לחיצוני כדי להתאים לשיטת האימות של SAML.
הפניה חזרה לכתובת האתר המקורית
אם המופע שלכם מוגדר להפניה אוטומטית לדף ההתחברות של ספק הזהויות, ואתם נתקלים בלולאת הפניה חזרה לכתובת האתר המקורית מתמשכת, אתם יכולים להשבית באופן זמני את ההפניה האוטומטית על ידי הוספת הטקסט הבא לשם המארח של המופע:
/#/login?autoExternalLogin=false
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.