שאלה בעיה כפולה עם


אני מנסה להגדיר את התרחיש הבא. יש לי 3 שרתים, הם כולם באותו תחום.

  • שרת A יש יישום אינטרנט אשר פועל תחת (תחום) שירות שירות, dom \ אינטרנט.
  • שרת B יש מופע של SQL Server 2008 R2 אשר פועל תחת (תחום) שירות שירות, dom \ sql.
  • שרת C יש מופע של SQL Server 2008 R2 אשר פועל תחת (תחום) שירות שירות, dom \ sql.

שרתים B ו- C נמצאים באשכול SQL. מופעים של B ו- C הם שרתים מקושרים.

כאשר אני מפעיל את SQL Server Management Studio מ- A ומתחבר ל- B באמצעות חשבון התחום שלי (dom \ usr) אני מנסה לבצע את השאילתה אשר בוחרת נתונים מ- B ו- C והיא פועלת.

כאשר אני מנסה יישום אינטרנט אשר מנסה אותו אני מקבל את השגיאה:

ההתחברות נכשלה עבור המשתמש 'NT AUTHORITY \ ANONYMOUS LOGON'.

אני רואה את החיבור ב- SQL יש auth_scheme KERBEROS עבור המשתמש dom \ אינטרנט אז זה לא NTLM.

כמו כן, dom \ web תחום החשבון לא נבחר "החשבון הוא רגיש ולא ניתן להאציל" אפשרות AD.

אני גם חושב כי SPN מוגדר כראוי בגלל הופ כפול לא יעבוד במקרה הראשון.

זוהי שגיאה בשרת C:

כניסה למערכת

הודעה   ההתחברות נכשלה עבור המשתמש 'NT AUTHORITY \ ANONYMOUS LOGON'. סיבה: אימות גישה לשרת מבוסס אסימון נכשל עם שגיאת תשתית. חפש שגיאות קודמות. [לקוח: 10.65.10.53]

כניסה למערכת

הודעה   שגיאה: 18456, חומרה: 14, מדינה: 11.


6
2018-05-26 09:20




כיצד מוגדר השרת המקושר? באופן ספציפי, מה רשום עבור הכניסה להשתמש בעת שימוש בשרת מקושר? תצוגות הקטלוג sys.servers ו- sys.linked_logins יעילו כאן. - Ben Thul


תשובות:


אני מאמין IIS יש להגדיר את האתר עבור "אנונימי" עם חשבון IUSR. זה עובר על פני התחום כמו LOGONMOUS LOGON.

אם אתה פותח את מנהל IIS, בצד שמאל יש עץ. בעץ זה, הרחב את השרת ולאחר מכן הרחב את "אתרים", ולאחר מכן לחץ על האתר שבו אתה משתמש עבור פרויקט זה (כלומר, אתר אינטרנט המוגדר כברירת מחדל). בצד ימין של מנהל IIS, לחץ לחיצה כפולה על סמל "אימות". במסך הבא, לחץ לחיצה ימנית על "אימות אנונימי" ובחר "ערוך" מתוך תפריט ההקשר. ודא "משתמש ספציפי" הוא seleced ולחץ על "Set" כפתור. שנה את המשתמש ל- dom \ web והזן את הסיסמה הנכונה. לחץ על אישור.

בשלב זה, ייתכן שיש בעיה ב- dom \ web שאין גישה לשרת SQL. יהיה עליך ליצור התחברות SQL עבור dom \ web ולאחר מכן ליצור משתמש במסד הנתונים שבו ברצונך ש- dom \ web יוכל לגשת אליו.


2
2017-07-21 15:48



הפתרון הזה עבד בשבילי. תודה!


כדי להוסיף לאחרים - אני כבר במצב שבו פועל את השאילתה עובד מ SSMS אבל לא מ IIS דרך חזית היישום.

אני משתמש בעיקר אלה שני קישורים רק כדי לפתור את הבעיות. יש כל כך הרבה הגדרות שונות עבור Active Directory, קבצי config, IIS ו- O / S לשקול וזה יכול להיות משהו שאתה לא ממש מצפה. המפתח הוא לדעת מה מערכת ההפעלה / IIS / SQL Server חושב קורה, ראה קישור DELEGCONFIG להלן.

אז הקישור למה הוא Kerberos התנ"ך להקמת SQL Server כראוי - http://msdn.microsoft.com/en-us/library/ff679930(v=SQL.100).aspx. אני יודע שזה ספציפי שירותי דיווח אבל עדיין חל על שרת היישומים גם כפי שאתה יכול לשקול שירותי דיווח להיות יישום אחר.

מצאתי את הדרך הטובה ביותר לפתור בעיות אימות היא באמצעות כלי בשם DELEGCONFIG; זה עוזר לך להגדיר את SPN הנכון של Kerberos לעבוד. תוכל למצוא את הכלי כאן: http://www.iis.net/community/default.aspx?tabid=34&g=6&i=1434. זהו אתר אינטרנט של IIS שתתקין בשרת והוא יאמר לך אם או לא של ה- SPN והמשלחת שלך מוגדרים כראוי. זה יכול גם לבצע את השינויים בשבילך. אני מפעיל את זה עד שכל המחאות ירוקים - אתה תבין אם אתה מפעיל את הכלי.

אני לא עוזב את אתר האינטרנט DELEGCONFIG סביב הייצור, אבל בעת הגדרת או שיש מנהלי הייצור שלך להגדיר את שרתי db / app הם יכולים להשתמש בו כדי להבין את הדברים. ברגע שאתה עושה את זה נכון, ואז להסיר את האתר או להסתיר ולאבטח אותו.

HTH


1
2017-09-26 23:33





צור התחברות עבור dom \ web בשרתים B ו- C ומעניק גישה למסדי הנתונים שלך אל ההתחברות החדשה שנוצרה.


0
2018-05-27 20:08





רק להניח את ההנחות שלי:

  • אתה רוצה להשתמש בזהות המשתמש של יישום האינטרנט ב- SQL
    • זה ואז גורם לך להשתמש Kerberos (עבור פעמיים הופ auth)
    • מגביל אותך לדפדפנים התומכים ב- Kerberos (IE, Chrome, Firefox (עם שינויים בהגדרות))
    • כלומר, עליך להגדיר שם ראשי של שירות עבור יישום האינטרנט נגד dom \ web
  • אתה משתמש ב- IIS 6 או 7 כשרת האינטרנט
  • ניהול הזהות של יישום האינטרנט שלך בנוי לתמיכה ב- Kerberos כספקית ASP .Net שנבנתה סביב Windows Auth

אז, מאז שהזכרת SPN, אני מניח שיש לך רשום אחד באמצעות משהו דומה לזה:

setspn -S http/webapp.fqdn.tld dom\web

האם לאחר מכן תוכל להפעיל את המשלחת בדומיין \ web של חשבון המשתמש? עבור פעמיים הופ לעבוד, את חשבון המשתמש אשר מפעיל את יישום האינטרנט צריך להיות מותר להעביר את האישורים האלה שוב. בנכסי חשבון המשתמש בדומיין, אתר את הכרטיסייה 'משלחת' והפעל את 'משלחת נאמנות עבור כל שירות (kerberos)'.

כאשר זה בסדר, ודא את אתר האינטרנט של IIS מוגדר לעבור דרך Windows Auth ולא במקום להשתמש בחשבון NT USER \ Anonymous.

בשלב זה אתה יכול לבדוק אם Kerberos ו- IIS מוגדרים כראוי על ידי ריצה klist משורת הפקודה. זה יהיה פלט את כל הכרטיסים כרטיסים Kerberos עבור המשתמש מחובר כעת. חפש אחד שיש לו Server: http/webapp.fqdn.tld ולבדוק את זה forwardable ו ok_as_delegate מוכנים.

הבא (כפי שהוצע לעיל), להוסיף קבוצה של משתמשים אשר סביר להניח באמצעות היישום ל- SQL ולתת להם הרשאה למסד הנתונים כנדרש.

... כמעט 1 שלה. אני חושב שאני יכול לתת את ההצעות שלי לנוח עכשיו. אני מקווה שמשהו שם עוזר לך, אני אנסה להוסיף עוד מחר בעבודה. (אני ב NZ, ומכאן אזור הזמן נשמע מוזר).


0
2017-07-24 12:42





אני זוכר שיש בעיה דומה בעבר עם פעמיים קופץ אשר כמה עמיתים נפתרו על ידי בעל חשבונות שירות SQL כחברים בקבוצה Domain מנהלים כאשר השירותים מתחילים, ולאחר מכן להסיר אותם לאחר מכן. זה היה קצת בעיה עם SPN.

זה כנראה לא היה הדרך הנכונה לתקן את הבעיה, אבל זה קיבל הכל והפעלה בתקופה מכריעה של זמן ההשבתה לא מתוכננת.


0
2017-11-30 22:10