לאחרונה ליווינו ארגון פיננסי גדול בישראל שרצה לתת למפתחים GitHub Copilot. הקוד של הארגון נשאר במערכת ניהול הקוד הקיימת שלו, ו-GitHub Enterprise שימש רק לרישוי ולניהול של Copilot. את סיפור הלקוח המלא כבר פרסמנו. כאן ריכזנו את ההגדרות עצמן, לפי שכבות, כדי שתוכלו לבדוק אותן אצלכם.
למה לא מספיק להפעיל Copilot ולסמוך על ברירת המחדל
Copilot Business ו-Copilot Enterprise מנוהלים דרך חשבון GitHub Enterprise, ואיתו מגיעה כל הפלטפורמה: יצירת מאגרים, fork, GitHub Pages ו-Actions. גם ב-Copilot עצמו יש יותר מהשלמת קוד: חיפוש באינטרנט, סוכנים, שרתי MCP ו-Spaces. כל יכולת כזו היא עוד דרך שבה קוד או מידע יכולים לצאת מהארגון. בארגון שצריך רק עוזר קוד, כל מה שלא בשימוש צריך להיות כבוי.
1. GitHub Enterprise: להשאיר רק את מה שצריך
- מדיניות מאגרים ברמת ה-Enterprise: חוסמים יצירה, שינוי נראות והעברה של מאגרים, בכל הארגונים ובלי רשימת חריגים. טיפ מהשטח: לא לחסום מחיקה, כדי שאפשר יהיה להסיר מהר מאגר שנוצר בטעות.
- Branch ruleset ברמת ה-Enterprise: שכבה שנייה. גם אם מאגר נוצר בכל זאת, אי אפשר ליצור בו ענפים, לעדכן אותם או לבצע force push.
- הרשאת בסיס "No permission", וחסימה של fork, deploy keys ו-GitHub Pages.
- הוספת משתפי פעולה חיצוניים רק על ידי בעלי ה-Enterprise.
- Actions, Projects ו-hosted compute networking כבויים, אם לא משתמשים בהם.
- Fine-grained Personal Access Tokens: חסומים. אם יש בהם צורך: תהליך אישור ותוקף קצר.
2. Copilot עצמו: מודלים ויכולות
- מודלים מאושרים בלבד: מכבים את כל המודלים, ומפעילים רק את אלה שעברו בדיקה של אבטחה, פרטיות ורגולציה.
- ברירת מחדל כבויה: במדיניות למשתמשים שמקבלים את Copilot מה-Enterprise, קובעים Disabled כברירת מחדל. אחרת יכולות שמוגדרות "Let organizations decide" עלולות להיפתח בלי שמישהו החליט עליהן.
- חיפוש באינטרנט ושרתי MCP כבויים: שניהם פותחים ערוץ שבו ההקשר מהקוד יוצא למקור חיצוני.
- Coding agent, Code Review, Spaces והודעות commit אוטומטיות: כבויים כשאין בהם צורך.
- איפה Copilot זמין: רק בסביבת הפיתוח וב-CLI. ב-GitHub.com, ב-GitHub Desktop ובאפליקציה לנייד הוא כבוי.
3. זהויות: רק חשבונות של הארגון
- Enterprise Managed Users עם SCIM מ-Entra ID: החשבונות נוצרים, מתעדכנים ומושבתים לפי Entra ID. עובד שעוזב מאבד גישה בלי פעולה ידנית ב-GitHub.
- Conditional Access על אפליקציית GitHub: MFA לכולם, גישה רק מרשתות מאושרות, וחסימה של כניסה בסיכון גבוה (דורש Entra ID P2).
- מנהלים: MFA עמיד לפישינג, מכשיר תקין, ותפקיד Enterprise Owner דרך PIM, רק לזמן שצריך (דורש Entra ID P2).
4. סביבת הפיתוח: הגדרות שהמפתח לא יכול לשנות
ההגדרות ב-GitHub לא עוזרות אם המפתח מתחבר מסביבת הפיתוח עם חשבון פרטי, או מתקין תוסף שעוקף אותן. לכן:
- VS Code בניהול Intune או GPO: רשימת תוספים מאושרים, וכיבוי של
ChatMCP,ChatAgentExtensionTools,ChatToolsAutoApproveו-ChatToolsTerminalEnableAutoApprove. - Visual Studio: תבניות הניהול של Copilot חוסמות הפעלה עם חשבון GitHub פרטי.
- גרסאות נתמכות ומעודכנות בלבד: בגרסאות ישנות חלק מהמדיניות לא נאכף.
5. רשת ו-DLP: השכבה שהכי קל לשכוח
אף הגדרה ב-GitHub לא יודעת מה המפתח מדביק בשאלה לעוזר. מפתח API, סיסמה או קטע מקובץ הגדרות יכולים לצאת בתוך שאלה רגילה.
- רשימת כתובות מותרות: מאפשרים רק את הכתובות ש-GitHub מפרסמת ל-Copilot, וחוסמים את שאר שירותי GitHub.
- Proxy ארגוני עם SSL inspection: מגדירים את ה-proxy בסביבת הפיתוח, ומתקינים את התעודה הארגונית בתחנות.
- DLP על התעבורה אחרי הפענוח: חוסם סודות ומידע רגיש לפני שהם יוצאים.
6. ניטור: לדעת כשמשהו משתנה
הגדרות משתנות עם הזמן. כדאי להעביר ל-SIEM, למשל Microsoft Sentinel, את יומני הביקורת של GitHub (בין היתר הקטגוריות repo, copilot, personal_access_token ו-enterprise) ואת יומני הכניסה של Entra ID. עוקבים גם אחרי שינויים בקבוצות שמעניקות גישה ל-GitHub ובקבוצה של Enterprise Owner. כל פעילות של חשבון החירום צריכה להקפיץ בדיקה.
ולבסוף, הדרכה: גם כשהכול סגור, המפתחים צריכים לדעת לבדוק את מה ש-Copilot מציע, ולא להדביק בשאלה מידע שלא היו שולחים במייל החוצה. את כל זה אנחנו עושים בשירות אבטחת Copilot בארגון, כחלק מפרויקטי אבטחת מידע ב-Microsoft 365.
GitHub משתמש בקוד שלנו כדי לאמן מודלים?
לפי GitHub, ב-Copilot Business וב-Copilot Enterprise הקוד והשאלות לא משמשים לאימון המודלים.
אפשר להשתמש ב-Copilot בלי לאחסן קוד ב-GitHub?
כן. זה התרחיש בפרויקט הזה: GitHub Enterprise משמש לרישוי ולניהול, והקוד נשאר במערכת ניהול הקוד הקיימת.
אילו רישיונות של מיקרוסופט צריך?
Entra ID P1 ל-Conditional Access, Entra ID P2 לחסימה לפי סיכון ול-PIM, ו-Intune לניהול סביבת הפיתוח.
רוצים לתת למפתחים Copilot בלי לפתוח את הארגון? נעבור איתכם על ההגדרות.
דברו איתנו