מחברים

מפנים להרשאת גישה שלעולם לא תראו שוב

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

מאת צוות קו פורסם 2 דק׳ קריאה

מכל המסכים בסטודיו, זה המסך שבו כלל הסודות של CLAUDE.md §12 הכי מפתה לשבור בטעות — טופס שמבקש מהתחבר למערכת עירונית אמיתית כמעט מזמין שדה סיסמה. הוא בנוי במיוחד להפוך את הטעות הזו למביכה במקום לקלה.

מה מקלידים כשיוצרים מופע

יצירת מופע מחבר מבקשת שם מפתח כספת — מחרוזת כמו connectors/rlz/umbraco/primary — לעולם לא ערך הרשאת גישה. אין שדה בטופס שהיה מקבל אחד כזה. זו לא השמטה בטעות שצריך לעקוף: סוד אמיתי שהוקלד לטופס הזה היה נוחת ביומן בקשת ה-GraphQL, בטבלת תיבת הדואר היוצא הבת-קיימא, ובמטען RabbitMQ שנושא את המוטציה הזו, הכול בהקשה אחת. השם הוא מצביע; הערך שהוא מצביע אליו נוצר ומתחלף במקום שהמסך הזה לעולם לא נוגע בו.

מה פאנל ההרשאות מציג, וצורת מה שהוא מסרב להציג

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

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

איפה הסוד האמיתי חי

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

החלפה היא שינוי טביעת אצבע, לא ערך שהייתם אי פעם משווים בעין

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

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