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

שירות אחד, שלוש רשומות

השירות המתוכנן הוא מה שהשוכר זכאי לו: זהויות, קידומות, משאבים ומצב מחזור חיים. התצורה שנפרסה היא המדיניות המיוצרת שאמורה לממש אותו. ההפעלה שנצפתה היא ראיה מזמן ריצה שמשהו התחבר. התייחסות אליהם כאל טבלה אחת דוחסת שלושה סוגים שונים של אמת לשורה אחת שמוטעית בשלוש דרכים בו-זמנית.

RecordAnswersGoes stale when
Intended serviceWho may reach whatA contract changes and nobody edits the record
Deployed configurationWhat the gateway was toldA device is edited by hand
Observed sessionWhat is running nowTelemetry stops or a session ends

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

רשמו את השוכר, לא את הממשק

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

הרשומה צריכה את השוכר והמפעיל האחראים, את זהות העמית או המשתמש שהתקבלה, אסמכתה להרשאה ולא עותק שלה, את הקידומות המוגנות, את הקשר הניתוב, את המשאבים המותרים ואת מצב מחזור החיים המתוכנן. חומר הרשאות שייך למאגר הסודות הנתמך; מלאי שנושא מפתחות פרטיים הפך לעותק שני, פחות מוגן, של הסביבה.

לתצורה מיוצרת יש בעלים וגרסה

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

רשמו איזו מהדורה יצרה את המדיניות שנפרסה, ו שמרו עריכות ישירות כהפרש שצריך ליישב במקום לדרוס אותן בשקט. היישוב הוא התוצר כאן: הצלחת המחולל והמצב בפועל של ההתקן הם שני עובדות שיש להשוות, לא להניח שהן שוות.

הפעלות הן ראיה, לא הרשאה

כאשר הפריסה משתמשת בחשבונאות RADIUS, RFC 2866 נותן שדות קונקרטיים לעבודה. Acct-Status-Type מבחין בין התחלה לעצירה, והרשומות השייכות להפעלה אחת חולקות Acct-Session-Id. השדות האלה מאפשרים לכם לשחזר מתי הפעלה החלה והסתיימה בלי לסמוך על סיכום של לוח בקרה.

מזהה חשבונאי הוא ראיה מזמן ריצה. הוא לא מגדיר איזה שוכר מחזיק בתת-רשת, והוא לא מעניק גישה לשום דבר. חברו אותו לשער ולזהות השירות, ואז החזיקו את זמן האיסוף לצד התצפית. דוח חסר יכול להיות כשל טלמטריה ולא היעדר שימוש, ורשומה ישנה אינה הוכחה שהגישה עדיין פעילה עכשיו.

הוצאה משימוש משתמשת באותו חיבור

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

שום דבר מזה לא דורש התקן אחד לכל פונקציה או מוצר אוטומציה מסוים. הדרישה התפעולית צרה וקשה יותר: לקוח, הגישה המתוכננת שלו, המדיניות שנפרסה והראיות הנוכחיות מזמן ריצה חייבים להיות ניתנים לחיבור בלי להסתמך על הזיכרון של מישהו לגבי שם מנהרה. בנו קודם את שלוש הרשומות, ואז בחרו את הכלים שמתחזקים אותן.

מאמרים קשורים